OSDN Git Service

EUC版はUTF-8に統合
authorshizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Fri, 17 Jul 2009 01:42:36 +0000 (01:42 +0000)
committershizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Fri, 17 Jul 2009 01:42:36 +0000 (01:42 +0000)
git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk@1035 1ca29b6e-896d-4ea0-84a5-967f57386b96

182 files changed:
euc/action.php [deleted file]
euc/atom.php [deleted file]
euc/config.php [deleted file]
euc/createaccount.html [deleted file]
euc/extra/fancyurls-2/.htaccess [deleted file]
euc/extra/fancyurls/.htaccess [deleted file]
euc/extra/fancyurls/archive [deleted file]
euc/extra/fancyurls/archives [deleted file]
euc/extra/fancyurls/blog [deleted file]
euc/extra/fancyurls/category [deleted file]
euc/extra/fancyurls/fancyurls.config.php [deleted file]
euc/extra/fancyurls/item [deleted file]
euc/extra/fancyurls/member [deleted file]
euc/extra/fancyurls/special [deleted file]
euc/index.php [deleted file]
euc/install.php [deleted file]
euc/install.sql [deleted file]
euc/license.txt [deleted file]
euc/media/readme.txt [deleted file]
euc/nucleus/bookmarklet.php [deleted file]
euc/nucleus/forgotpassword.html [deleted file]
euc/nucleus/forms/additemform.template [deleted file]
euc/nucleus/forms/commentform-closed.template [deleted file]
euc/nucleus/forms/commentform-loggedin.template [deleted file]
euc/nucleus/forms/commentform-notloggedin.template [deleted file]
euc/nucleus/forms/loginform-loggedin.template [deleted file]
euc/nucleus/forms/loginform-notloggedin.template [deleted file]
euc/nucleus/forms/membermailform-disallowed.template [deleted file]
euc/nucleus/forms/membermailform-loggedin.template [deleted file]
euc/nucleus/forms/membermailform-notloggedin.template [deleted file]
euc/nucleus/forms/nucleusbutton.template [deleted file]
euc/nucleus/forms/searchform.template [deleted file]
euc/nucleus/images/button-aligncenter.gif [deleted file]
euc/nucleus/images/button-alignleft.gif [deleted file]
euc/nucleus/images/button-alignright.gif [deleted file]
euc/nucleus/images/button-bold.gif [deleted file]
euc/nucleus/images/button-copy.gif [deleted file]
euc/nucleus/images/button-cut.gif [deleted file]
euc/nucleus/images/button-italic.gif [deleted file]
euc/nucleus/images/button-left.gif [deleted file]
euc/nucleus/images/button-link.gif [deleted file]
euc/nucleus/images/button-media.gif [deleted file]
euc/nucleus/images/button-paste.gif [deleted file]
euc/nucleus/images/button-preview.gif [deleted file]
euc/nucleus/images/button-right.gif [deleted file]
euc/nucleus/images/globe.gif [deleted file]
euc/nucleus/index.php [deleted file]
euc/nucleus/javascript/admin.js [deleted file]
euc/nucleus/javascript/bookmarklet.js [deleted file]
euc/nucleus/javascript/compatibility.js [deleted file]
euc/nucleus/javascript/edit.js [deleted file]
euc/nucleus/javascript/index.html [deleted file]
euc/nucleus/javascript/numbercheck.js [deleted file]
euc/nucleus/javascript/opennew.js [deleted file]
euc/nucleus/javascript/templateEdit.js [deleted file]
euc/nucleus/javascript/xmlhttprequest.js [deleted file]
euc/nucleus/language/english.php [deleted file]
euc/nucleus/language/index.html [deleted file]
euc/nucleus/language/japanese-euc.php [deleted file]
euc/nucleus/libs/ACTION.php [deleted file]
euc/nucleus/libs/ACTIONLOG.php [deleted file]
euc/nucleus/libs/ACTIONS.php [deleted file]
euc/nucleus/libs/ADMIN.php [deleted file]
euc/nucleus/libs/BAN.php [deleted file]
euc/nucleus/libs/BLOG.php [deleted file]
euc/nucleus/libs/BODYACTIONS.php [deleted file]
euc/nucleus/libs/BaseActions.php [deleted file]
euc/nucleus/libs/COMMENT.php [deleted file]
euc/nucleus/libs/COMMENTACTIONS.php [deleted file]
euc/nucleus/libs/COMMENTS.php [deleted file]
euc/nucleus/libs/ENCAPSULATE.php [deleted file]
euc/nucleus/libs/ITEM.php [deleted file]
euc/nucleus/libs/ITEMACTIONS.php [deleted file]
euc/nucleus/libs/KARMA.php [deleted file]
euc/nucleus/libs/MANAGER.php [deleted file]
euc/nucleus/libs/MEDIA.php [deleted file]
euc/nucleus/libs/MEMBER.php [deleted file]
euc/nucleus/libs/NOTIFICATION.php [deleted file]
euc/nucleus/libs/PAGEFACTORY.php [deleted file]
euc/nucleus/libs/PARSER.php [deleted file]
euc/nucleus/libs/PLUGIN.php [deleted file]
euc/nucleus/libs/PLUGINADMIN.php [deleted file]
euc/nucleus/libs/SEARCH.php [deleted file]
euc/nucleus/libs/SKIN.php [deleted file]
euc/nucleus/libs/TEMPLATE.php [deleted file]
euc/nucleus/libs/backup.php [deleted file]
euc/nucleus/libs/entity.php [deleted file]
euc/nucleus/libs/globalfunctions.php [deleted file]
euc/nucleus/libs/include/admin-add.template [deleted file]
euc/nucleus/libs/include/admin-edit.template [deleted file]
euc/nucleus/libs/include/bookmarklet-add.template [deleted file]
euc/nucleus/libs/include/bookmarklet-edit.template [deleted file]
euc/nucleus/libs/include/index.html [deleted file]
euc/nucleus/libs/include/readme.txt [deleted file]
euc/nucleus/libs/index.html [deleted file]
euc/nucleus/libs/mb_emulator/convert.table [deleted file]
euc/nucleus/libs/mb_emulator/history.html [deleted file]
euc/nucleus/libs/mb_emulator/history.txt [deleted file]
euc/nucleus/libs/mb_emulator/lower.table [deleted file]
euc/nucleus/libs/mb_emulator/mb-emulator.ini [deleted file]
euc/nucleus/libs/mb_emulator/mb-emulator.php [deleted file]
euc/nucleus/libs/mb_emulator/sjistouni.table [deleted file]
euc/nucleus/libs/mb_emulator/unitosjis.table [deleted file]
euc/nucleus/libs/mb_emulator/upper.table [deleted file]
euc/nucleus/libs/mysql.php [deleted file]
euc/nucleus/libs/showlist.php [deleted file]
euc/nucleus/libs/skinie.php [deleted file]
euc/nucleus/libs/vars4.0.6.php [deleted file]
euc/nucleus/libs/vars4.1.0.php [deleted file]
euc/nucleus/libs/xmlrpc.inc.php [deleted file]
euc/nucleus/libs/xmlrpcs.inc.php [deleted file]
euc/nucleus/media.php [deleted file]
euc/nucleus/nucleus.gif [deleted file]
euc/nucleus/nucleus2.gif [deleted file]
euc/nucleus/plugins/NP_SkinFiles.php [deleted file]
euc/nucleus/plugins/index.html [deleted file]
euc/nucleus/plugins/skinfiles/dir.gif [deleted file]
euc/nucleus/plugins/skinfiles/english.php [deleted file]
euc/nucleus/plugins/skinfiles/generic.gif [deleted file]
euc/nucleus/plugins/skinfiles/home.gif [deleted file]
euc/nucleus/plugins/skinfiles/html.gif [deleted file]
euc/nucleus/plugins/skinfiles/image.gif [deleted file]
euc/nucleus/plugins/skinfiles/index.php [deleted file]
euc/nucleus/plugins/skinfiles/japanese-euc.php [deleted file]
euc/nucleus/plugins/skinfiles/japanese-utf8.php [deleted file]
euc/nucleus/plugins/skinfiles/php.gif [deleted file]
euc/nucleus/plugins/skinfiles/text.gif [deleted file]
euc/nucleus/styles/addedit.css [deleted file]
euc/nucleus/styles/admin.css [deleted file]
euc/nucleus/styles/bookmarklet.css [deleted file]
euc/nucleus/styles/logo.gif [deleted file]
euc/nucleus/styles/manual.css [deleted file]
euc/nucleus/styles/popups.css [deleted file]
euc/nucleus/styles/quickb-hover.jpg [deleted file]
euc/nucleus/styles/quickb.jpg [deleted file]
euc/nucleus/xmlrpc/api_blogger.inc.php [deleted file]
euc/nucleus/xmlrpc/api_metaweblog.inc.php [deleted file]
euc/nucleus/xmlrpc/api_mt.inc.php [deleted file]
euc/nucleus/xmlrpc/api_nucleus.inc.php [deleted file]
euc/nucleus/xmlrpc/index.html [deleted file]
euc/nucleus/xmlrpc/server.php [deleted file]
euc/readme.html [deleted file]
euc/robots.txt [deleted file]
euc/rsd.php [deleted file]
euc/skins/atom/skinbackup.xml [deleted file]
euc/skins/default/default_left.css [deleted file]
euc/skins/default/default_right.css [deleted file]
euc/skins/default/favicon.ico [deleted file]
euc/skins/default/footer.inc [deleted file]
euc/skins/default/head.inc [deleted file]
euc/skins/default/header.inc [deleted file]
euc/skins/default/images/arrow.gif [deleted file]
euc/skins/default/images/bg.gif [deleted file]
euc/skins/default/images/bgcategory.gif [deleted file]
euc/skins/default/images/bgcomment.gif [deleted file]
euc/skins/default/images/bgcontainer01.gif [deleted file]
euc/skins/default/images/bgcontainer02.gif [deleted file]
euc/skins/default/images/bgedit.gif [deleted file]
euc/skins/default/images/bgpostedby.gif [deleted file]
euc/skins/default/images/commentquote01.gif [deleted file]
euc/skins/default/images/commentquote02.gif [deleted file]
euc/skins/default/images/corner_br.gif [deleted file]
euc/skins/default/images/corner_tr.gif [deleted file]
euc/skins/default/images/dot.gif [deleted file]
euc/skins/default/images/dotv.gif [deleted file]
euc/skins/default/images/header.jpg [deleted file]
euc/skins/default/images/header_sm.jpg [deleted file]
euc/skins/default/images/nucleus.gif [deleted file]
euc/skins/default/images/shadow.gif [deleted file]
euc/skins/default/images/sidetitlebg.gif [deleted file]
euc/skins/default/navigation.inc [deleted file]
euc/skins/default/nicetitle.css [deleted file]
euc/skins/default/nicetitle.js [deleted file]
euc/skins/default/preview-large.png [deleted file]
euc/skins/default/preview.png [deleted file]
euc/skins/default/readme.html [deleted file]
euc/skins/default/sidebar.inc [deleted file]
euc/skins/default/skinbackup.xml [deleted file]
euc/skins/readme.txt [deleted file]
euc/skins/rsd/skinbackup.xml [deleted file]
euc/skins/rss2.0/skinbackup.xml [deleted file]
euc/xml-rss2.php [deleted file]

diff --git a/euc/action.php b/euc/action.php
deleted file mode 100755 (executable)
index 1102a8b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * File containing actions that can be performed by visitors of the site,
- * like adding comments, etc...
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: action.php,v 1.7 2007-03-27 22:00:12 kmorimatsu Exp $
- * $NucleusJP: action.php,v 1.6 2007/03/22 09:23:50 kimitake Exp $
- */
-
-$CONF = array();
-require('./config.php');
-
-// common functions
-include_once($DIR_LIBS . 'ACTION.php');
-
-$action = requestVar('action');
-$a =& new ACTION();
-$errorInfo = $a->doAction($action);
-
-if ($errorInfo) {
-       doError($errorInfo['message'], new SKIN($errorInfo['skinid']) );
-}
-
-?>
\ No newline at end of file
diff --git a/euc/atom.php b/euc/atom.php
deleted file mode 100755 (executable)
index 9786f16..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * Nucleus Atom Syndication
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: atom.php,v 1.6 2007-03-22 09:23:50 kimitake Exp $
- * $NucleusJP: atom.php,v 1.7 2007/02/04 06:28:44 kimitake Exp $
- */
-
-header('Pragma: no-cache');
-
-$CONF = array();
-$CONF['Self'] = 'atom.php';
-
-include('./config.php');
-
-if (!$CONF['DisableSite']) {
-       // get feed into $feed
-       ob_start();
-               selectSkin('feeds/atom');
-               selector();
-               $feed = ob_get_contents();
-       ob_end_clean();
-
-       // create ETAG (hash of feed)
-       // (HTTP_IF_NONE_MATCH has quotes around it)
-       $eTag = '"' . md5($feed) . '"';
-       header('Etag: ' . $eTag);
-
-       // compare Etag to what we got
-       if ($eTag == serverVar('HTTP_IF_NONE_MATCH') ) {
-               header('HTTP/1.0 304 Not Modified');
-               header('Content-Length: 0');
-       } else {
-               $feed = mb_convert_encoding($feed, "UTF-8", "EUC-JP");
-               header("Content-Type: application/xml");
-               // dump feed
-               echo $feed;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/config.php b/euc/config.php
deleted file mode 100755 (executable)
index 300d9db..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-// This file contains variables with the locations of the data dirs
-// and basic functions that every page can use
-
-// mySQL connection information
-$MYSQL_HOST = 'hostname';
-$MYSQL_USER = 'username';
-$MYSQL_PASSWORD = 'password';
-$MYSQL_DATABASE = 'databasename';
-$MYSQL_PREFIX = '';
-
-// main nucleus directory
-$DIR_NUCLEUS = '/your/path/to/nucleus/';
-
-// media dir
-$DIR_MEDIA = '/your/path/to/media/';
-
-// extra skin files for imported skins
-$DIR_SKINS = '/your/path/to/skins/';
-
-// these dirs are normally subdirs of the nucleus dir, but
-// you can redefine them if you wish
-$DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
-$DIR_LANG = $DIR_NUCLEUS . 'language/';
-$DIR_LIBS = $DIR_NUCLEUS . 'libs/';
-
-if (!@file_exists($DIR_LIBS . 'globalfunctions.php')) {
-       echo "Configuration error, please run the install script or modify config.php";
-       exit;
-}
-
-// include libs
-include($DIR_LIBS.'globalfunctions.php');
-if (!extension_loaded('mbstring')) {
-       include($DIR_LIBS.'mb_emulator/mb-emulator.php');
-}
-?>
\ No newline at end of file
diff --git a/euc/createaccount.html b/euc/createaccount.html
deleted file mode 100755 (executable)
index a5575da..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-       <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
-       <title>¥á¥ó¥Ð¡¼¥¢¥«¥¦¥ó¥È¤ÎºîÀ®</title>
-       <style type="text/css">@import url(nucleus/styles/manual.css);</style>
-</head>
-<body>
-       <h1>¥¢¥«¥¦¥ó¥È¤ÎºîÀ®</h1>
-
-       <form method="post" action="action.php">
-
-       <div>
-       <input type="hidden" name="action" value="createaccount" />
-               ¥æ¡¼¥¶¡¼Ì¾: 
-               <br />
-               <input name="name" size="20" /> <small>(only a-z, 0-9)</small>
-               <br />
-               <br />          
-               ËÜ̾: 
-               <br />
-               <input name="realname" size="40" />
-               <br />
-               <br />          
-               Email:
-               <br />
-               <input name="email" size="40" /> <small>(ÍøÍѲÄǽ¤Ê¤â¤Î¤ò¡£¥Ñ¥¹¥ï¡¼¥É¤Ï¤³¤³¤ËÁ÷¿®¤µ¤ì¤Þ¤¹¡£)</small>
-               <br />
-               <br />          
-               URL: 
-               <br />
-               <input name="url" size="60" />
-               <br />
-               <br />
-               <input type="submit" value="¥¢¥«¥¦¥ó¥È¤ÎºîÀ®" />
-       </div>
-
-       </form>
-</body>
-</html>
\ No newline at end of file
diff --git a/euc/extra/fancyurls-2/.htaccess b/euc/extra/fancyurls-2/.htaccess
deleted file mode 100644 (file)
index e0e6a9d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<IfModule mod_rewrite.c>
-       RewriteEngine on
-       RewriteCond %{REQUEST_FILENAME} !-f
-       RewriteCond %{REQUEST_FILENAME} !-d
-       RewriteRule ^(.*)$ index.php?virtualpath=$1 [L,QSA]
-</IfModule>
diff --git a/euc/extra/fancyurls/.htaccess b/euc/extra/fancyurls/.htaccess
deleted file mode 100755 (executable)
index 69f7bf0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<FilesMatch "^item$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^archive$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^member$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^archives$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^category$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^blog$">
-    ForceType application/x-httpd-php
-</FilesMatch>
-<FilesMatch "^special$">
-    ForceType application/x-httpd-php
-</FilesMatch>
diff --git a/euc/extra/fancyurls/archive b/euc/extra/fancyurls/archive
deleted file mode 100755 (executable)
index dd348b7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/archive/1/2005-12)
-// if blogid was not filled out by plugins
-if (($blogid == 0) && ($archive == ''))
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 2)
-       {
-               $blogid = intval($data[1]);
-               $archive = $data[2];
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/archives b/euc/extra/fancyurls/archives
deleted file mode 100755 (executable)
index b1031e3..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/archives/1)
-// if archivelist was not filled out by plugins
-if ($archivelist == 0)
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $archivelist = intval($data[1]);
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/blog b/euc/extra/fancyurls/blog
deleted file mode 100755 (executable)
index 0b4cf08..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/blog/1234)
-// if blogid was not filled out by plugins
-if ($blogid == 0)
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $blogid = intval($data[1]);
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/category b/euc/extra/fancyurls/category
deleted file mode 100755 (executable)
index bdd8e31..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/category/1234)
-// if catid was not filled out by plugins
-if ($catid == 0)
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $catid = intval($data[1]);
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/fancyurls.config.php b/euc/extra/fancyurls/fancyurls.config.php
deleted file mode 100755 (executable)
index dc80c27..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-       /*
-               About
-               -----
-               
-               This directory contains extra files to make the 'fancy urls' feature even more
-               fancier, by eliminating the 'index.php'-part of the URL
-       
-               Installation
-               ------------
-               
-               1. Copy all files in this directory (except for index.html) to your main nucleus dir
-                  (where your index.php and action.php file are)
-                  
-                  If you have an already existing .htaccess file (most ftp-programs don't show hidden files
-                  by default, so don't start uploading it without checking your server). If you do, download
-                  that old one first, and copy the contents of the new .htaccess file (from the fancyurls
-                  folder) in your old one, and upload that... 
-
-               2. Edit fancyurls.config.php so that $CONF['Self'] points to your main directory. 
-                       NOTE: this time, and only this time, the URL should NOT end in a slash
-
-               3. Edit index.php to look like this: 
-                  
-                       $CONF = array();
-
-                       include('./fancyurls.config.php'); 
-                       include('./config.php');
-
-                       selector();
-                       
-               4. Enable 'Fancy URLs' in the Nucleus admin area (nucleus management / edit settings)
-
-               5. Off you go!
-               
-               If it doesn't work:
-               -------------------
-               
-               Remove the files again (don't forget the hidden file .htaccess). Voila.
-               
-       */
-
-       
-       // remember: this URL should _NOT_ end with a slash. 
-       $CONF['Self'] = 'http://www.yourhost.com/yourpath';
-
-    /*
-       Advanced: keywords to use in fancy URLs. 
-       
-       If you want to change these, you'll also need to rename the stub files 
-       and update the contents of the .htaccess file accordingly
-    */
-    $CONF['ItemKey']        = 'item';
-    $CONF['ArchiveKey']     = 'archive';
-    $CONF['ArchivesKey']    = 'archives';
-    $CONF['MemberKey']      = 'member';
-    $CONF['BlogKey']        = 'blog';
-    $CONF['CategoryKey']    = 'category';
-    $CONF['SpecialskinKey'] = 'special';
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/item b/euc/extra/fancyurls/item
deleted file mode 100755 (executable)
index 23eb1bd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/item/1234)
-// if itemid was not filled out by plugins
-if ($itemid == 0)
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $itemid = intval($data[1]);
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/member b/euc/extra/fancyurls/member
deleted file mode 100755 (executable)
index d2e14c2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-// default to default implementation (/member/1234)
-// if memberid was not filled out by plugins
-if ($memberid == 0)
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $memberid = intval($data[1]);
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/special b/euc/extra/fancyurls/special
deleted file mode 100644 (file)
index 60171c4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-include('./fancyurls.config.php');
-include('./config.php');
-
-if (!requestVar('special'))
-{
-       $data = explode("/",serverVar('PATH_INFO'));
-       if (count($data) > 1)
-       {
-               $_REQUEST['special'] = $data[1];
-       }
-}
-
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/index.php b/euc/index.php
deleted file mode 100755 (executable)
index 08f3be6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php\r
-// This file will generate and return the main page of the site\r
-$CONF = array();\r
-$CONF['Self'] = 'index.php';\r
-\r
-include('./config.php');\r
-\r
-selector();\r
-\r
-?>\r
diff --git a/euc/install.php b/euc/install.php
deleted file mode 100755 (executable)
index fd023cd..0000000
+++ /dev/null
@@ -1,1078 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- * This script will install the Nucleus tables in your SQL-database, and initialize the data in
- * those tables.
- *
- * Below is a friendly way of letting users on non-php systems know that Nucleus won't run there.
- * ?><div style="font-size: xx-large;">If you see this text in your browser when you open <i>install.php</i>, your web server is not able to run PHP-scripts, and therefor Nucleus will not be able to run there. </div><div style="display: none"><?php
- */
-
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: install.php,v 1.6 2007-04-25 06:34:13 kimitake Exp $
- * $NucleusJP: install.php,v 1.5 2007/04/04 07:52:04 kimitake Exp $
- */
-
-/*
-       This part of the install.php code allows for customization of the install process.
-       When distributing plugins or skins together with a Nucleus installation, the
-       configuration below will instruct to install them
-
-       -- Start Of Configurable Part --
-*/
-
-// array with names of plugins to install. Plugin files must be present in the nucleus/plugin/
-// directory.
-//
-// example:
-//     array('NP_TrackBack', 'NP_MemberGoodies')
-$aConfPlugsToInstall = array('NP_SkinFiles');
-
-
-// array with skins to install. skins must be present under the skins/ directory with
-// a subdirectory having the same name that contains a skinbackup.xml file
-//
-// example:
-//     array('base','rsd')
-$aConfSkinsToImport = array('default');
-
-/*
-       -- End Of Configurable Part --
-*/
-
-// don't give warnings for uninitialized vars
-error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-// make sure there's no unnecessary escaping:
-set_magic_quotes_runtime(0);
-
-// if there are some plugins or skins to import, do not include vars
-// in globalfunctions.php again... so set a flag
-if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0) ) {
-       global $CONF;
-       $CONF['installscript'] = 1;
-}
-
-if (phpversion() >= '4.1.0') {
-       include_once('nucleus/libs/vars4.1.0.php');
-} else {
-       include_once('nucleus/libs/vars4.0.6.php');
-}
-
-include_once('nucleus/libs/mysql.php');
-
-// check if mysql support is installed
-       if (!function_exists('mysql_query') ) {
-               _doError('Your PHP version does not have support for MySQL :(');
-       }
-
-       if (postVar('action') == 'go') {
-               doInstall();
-       } else {
-               showInstallForm();
-       }
-
-       exit;
-
-function showInstallForm() {
-       // 0. pre check if all necessary files exist
-       doCheckFiles();
-
-       ?>
-       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
-               <title>Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
-               <style type="text/css"><!--
-                       @import url('nucleus/documentation/styles/manual.css');
-               --></style>
-               <script type="text/javascript"><!--
-                       var submitcount = 0;
-
-                       // function to make sure the submit button only gets pressed once
-                       function checkSubmit() {
-                               if (submitcount == 0) {
-                                       submitcount++;
-                                       return true;
-                               } else {
-                                       return false;
-                               }
-                       }
-               --></script>
-       </head>
-       <body>
-               <div style="text-align:center"><img src="./nucleus/styles/logo.gif" /></div> <!-- Nucleus logo -->
-               <form method="post" action="install.php">
-
-               <h1>Install Nucleus</h1>
-
-               <p>¤³¤Î¥¹¥¯¥ê¥×¥È¤ÏNucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¼ê½õ¤±¤·¤Þ¤¹¡£MySQL¥Æ¡¼¥Ö¥ë¤Î¥»¥Ã¥È¥¢¥Ã¥×¤È¡¢<i>config.php</i>¤ËÆþÎϤ¹¤ë¤¿¤á¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡Êconfig.php¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò0666¤Ë¤·¤Æ¤ª¤±¤Ð¡¢¸å¼Ô¤Îºî¶È¤Ï¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤Þ¤¹¡Ë¡£¤³¤ì¤ò¤Ê¤¹°Ù¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</p>
-
-               <p>¤¹¤Ù¤Æ¤ÎÍó¤ÎÆþÎϤ¬É¬ÍפǤ¹¡£¥ª¥×¥·¥ç¥ó¾ðÊó¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤¬´°Î»¤·¤¿¤é¡¢Nucleus¤Î´ÉÍýÎΰ褫¤éÀßÄê²Äǽ¤Ç¤¹¡£</p>
-
-               <h1>PHP &amp; MySQL Versions</h1>
-
-               <p>°Ê²¼¤Ï¤¢¤Ê¤¿¤Î¥¦¥§¥Ö¥Û¥¹¥È¤Ë¤ª¤±¤ëPHP¥¤¥ó¥¿¡¼¥×¥ê¥¿¡¼¤ÈMySQL¥µ¡¼¥Ð¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹¡£Nucleus¤Î¥µ¥Ý¡¼¥È¥Õ¥©¡¼¥é¥à¤ËÌäÂê¤òÊó¹ð¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¾ðÊó¤ò½ñ¤­Åº¤¨¤Æ¤¯¤À¤µ¤¤¡£</p>
-
-               <ul>
-                       <li>PHP:
-
-<?php
-       echo phpversion();
-       $minVersion = '4.0.6';
-
-       if (phpversion() < $minVersion) {
-               echo ' <span class="warning">Ãí°Õ: Nucleus¤ÎÆ°ºî¤Ë¤Ï¾¯¤Ê¤¯¤È¤â¥Ð¡¼¥¸¥ç¥ó ',$minVersion,' ¤¬É¬ÍפȤµ¤ì¤Þ¤¹</span>';
-       }
-?>
-
-                       </li>
-                       <li>MySQL:
-
-<?php
-       // note: this piece of code is taken from phpMyAdmin
-       $result = @mysql_query('SELECT VERSION() AS version');
-
-       if ($result != FALSE && @mysql_num_rows($result) > 0) {
-               $row = mysql_fetch_array($result);
-               $match = explode('.', $row['version']);
-       } else {
-               $result = @mysql_query('SHOW VARIABLES LIKE \'version\'');
-
-               if ($result != FALSE && @mysql_num_rows($result) > 0) {
-                       $row = mysql_fetch_row($result);
-                       $match = explode('.', $row[1]);
-               } else {
-                       $match[0] = '?';
-                       $match[1] = '?';
-                       $match[2] = '?';
-               }
-       }
-
-       if (!isset($match) || !isset($match[0]) ) {
-               $match[0] = 3;
-       }
-
-       if (!isset($match[1]) ) {
-               $match[1] = 21;
-       }
-
-       if (!isset($match[2]) ) {
-               $match[2] = 0;
-       }
-
-       if ($match[0] != '?') {
-               $match[0] = intval($match[0]);
-               $match[1] = intval($match[1]);
-       }
-
-       $mysqlVersion = implode($match, '.');
-       $minVersion = '3.23';
-
-       echo $mysqlVersion;
-
-       if ($mysqlVersion < $minVersion) {
-               echo ' <span class="warning">Ãí°Õ: Nucleus¤ÎÆ°ºî¤Ë¤Ï¾¯¤Ê¤¯¤È¤â¥Ð¡¼¥¸¥ç¥ó ',$minVersion,' ¤¬É¬ÍפȤµ¤ì¤Þ¤¹</span>';
-       }
-?>
-
-                       </li>
-               </ul>
-
-<?php
-       // tell people how they can have their config file filled out automatically
-       if (@file_exists('config.php') && @!is_writable('config.php') ) {
-?>
-
-               <h1><i>config.php</i>¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È</h1>
-
-               <p>¤â¤·<em>config.php</em>¤ò¼«Æ°Åª¤Ë¹¹¿·¤¹¤ë¤è¤¦¤Ë¤·¤¿¤¤¤Ê¤é¡¢½ñ¤­¹þ¤ß²Äǽ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£<em>config.php</em>¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò<strong>666</strong>¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ëÀ®¸ù¸å¤Ë¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò<strong>444</strong>¤ËÌᤵ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡Ê<a href="nucleus/documentation/tips.html#filepermissions">¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É</a>¡Ë¡£</p>
-
-               <p>¤â¤·¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤Ê¤¤¤È¤¤¤¦ÁªÂò¤ò¤·¤¿¡Ê¤¢¤ë¤¤¤Ï¹Ô¤¨¤Ê¤¤¡Ë¾ì¹ç¡§¤´¿´Çۤʤ¯¡£¥¤¥ó¥¹¥È¡¼¥ë¤Î²áÄø¤Ç<em>config.php</em>¤ÎÃæ¿È¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢¤½¤ì¤ò¤´¼«¿È¤Ç¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
-
-<?php } ?>
-
-               <h1>MySQL¤Î¥í¥°¥¤¥ó¥Ç¡¼¥¿</h1>
-
-               <p>MySQL¤Î¥Ç¡¼¥¿¤ò°Ê²¼¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤é¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¾ðÊó¤òÆþÎϤ¹¤ë¤¿¤á¤ËɬÍפʤâ¤Î¤Ç¤¹¡£¸å¤Ç¡¢<i>config.php</i>¤Ë¤âµ­Æþ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡Ê¾åµ­¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¼ê½ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡Ë¡£</p>
-
-               <p>¤â¤·¤³¤Î¾ðÊ󤬤狼¤é¤Ê¤±¤ì¤Ð¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤«¥Û¥¹¥Æ¥£¥ó¥°¸µ¤ËÏ¢Íí¤ò¤È¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥Û¥¹¥È̾¤Ï'localhost'¤Ç¤¹¡£¤â¤·Nucleus¤¬¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð¤ÎPHPÀßÄ꤫¤é'default MySQL host'¤ò¸¡ÃΤ·¤¿¤Ê¤é¡¢'¥Û¥¹¥È̾'¤Ë´û¤Ëµ­Æþ¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¤â¤Ã¤È¤â¡¢¤³¤Î¾ðÊó¤¬Àµ³Î¤Ç¤¢¤ë¤È¤¤¤¦ÊݾڤϤ¢¤ê¤Þ¤»¤ó¡£</p>
-
-               <fieldset>
-                       <legend>´ðËܤΥǡ¼¥¿¥Ù¡¼¥¹ÀßÄê</legend>
-                       <table>
-                               <tr>
-                                       <td>¥Û¥¹¥È̾¡§</td>
-                                       <td><input name="mySQL_host" value="<?php echo htmlspecialchars(@ini_get('mysql.default_host') )?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥æ¡¼¥¶¡¼Ì¾¡§</td>
-                                       <td><input name="mySQL_user" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥Ñ¥¹¥ï¡¼¥É¡§</td>
-                                       <td><input name="mySQL_password" type="password" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¡§</td>
-                                       <td><input name="mySQL_database" /> (<input name="mySQL_create" value="1" type="checkbox" id="mySQL_create"><label for="mySQL_create" />¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë</label>)</td>
-                               </tr>
-                       </table>
-               </fieldset>
-
-               <fieldset>
-                       <legend>¹âÅù¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹ÀßÄê</legend>
-                       <table>
-                               <tr>
-                                       <td><input name="mySQL_usePrefix" value="1" type="checkbox" id="mySQL_usePrefix"><label for="mySQL_usePrefix" />¥Æ¡¼¥Ö¥ë¡¦¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤òÍøÍÑ</label></td>
-                                       <td><input name="mySQL_tablePrefix" value="" /></td>
-                               </tr>
-                       </table>
-
-                       <p>°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊ£¿ô¤ÎNucleus¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤ê¡¢¼«Ê¬¤¬²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤«Íý²ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤¤¤Æ¤Ï¡¢<strong>¤³¤ì¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó</strong>¡£</p>
-                       <p>Nucleus¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Ï¡¢¤³¤Î¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤¬Æ¬¤Ë¤Ä¤­¤Þ¤¹¡£</p>
-               </fieldset>
-
-       <h1>¥Ç¥£¥ì¥¯¥È¥ê¤ÈURL</h1>
-
-       <p>¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥¹¥¯¥ê¥×¥È¤ÏNucleus¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÈURL¤ò¸«¤Ä¤±¤è¤¦¤È¤·¤Þ¤·¤¿¡£²¼¤ÎÃͤò¥Á¥§¥Ã¥¯¤·¤ÆɬÍפʤéÄûÀµ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ÈURL¤Ï¥¹¥é¥Ã¥·¥å'/'¤Ç½ª¤ï¤é¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£</p>
-
-<?php
-
-       // no need to this all! dirname(__FILE__) is all we need -- moraes
-       /*
-       // discover full path
-       $fullPath = serverVar('PATH_TRANSLATED');
-
-       if ($fullPath == '') {
-               $fullPath = serverVar('SCRIPT_FILENAME');
-       }
-
-       $basePath = str_replace('install.php', '', $fullPath);
-       $basePath = replaceDoubleBackslash($basePath);
-       $basePath = replaceDoubleBackslash($basePath);
-
-       // add slash at end if necessary
-       if (!endsWithSlash($basePath) ) {
-               $basePath .= '/';
-       }
-       */
-
-       $basePath = dirname(__FILE__) . '/';
-?>
-
-               <fieldset>
-                       <legend>URLs and directories</legend>
-                       <table>
-                               <tr>
-                                       <td>Site <strong>URL</strong>:</td>
-                                       <td><input name="IndexURL" size="60" value="<?php
-                                               $url = 'http://' . serverVar('HTTP_HOST') . serverVar('PHP_SELF');
-                                               $url = str_replace('install.php', '', $url);
-                                               $url = replaceDoubleBackslash($url);
-
-                                               // add slash at end if necessary
-                                               if (!endsWithSlash($url) ) {
-                                                       $url .= '/';
-                                               }
-
-                                               echo $url; ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Admin-area <strong>URL</strong>:</td>
-                                       <td><input name="AdminURL" size="60" value="<?php
-                                               if ($url) {
-                                                       echo $url, 'nucleus/';
-                                               } ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Admin-area <strong>path</strong>:</td>
-                                       <td><input name="AdminPath" size="60" value="<?php
-                                               if($basePath) {
-                                                       echo $basePath, 'nucleus/';
-                                               } ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Media files <strong>URL</strong>:</td>
-                                       <td><input name="MediaURL" size="60" value="<?php
-                                               if ($url) {
-                                                       echo $url, 'media/';
-                                               } ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Media directory <strong>path</strong>:</td>
-                                       <td><input name="MediaPath" size="60" value="<?php
-                                               if ($basePath) {
-                                                       echo $basePath, 'media/';
-                                               } ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Extra skin files <strong>URL</strong>:</td>
-                                       <td><input name="SkinsURL" size="60" value="<?php
-                                               if ($url) {
-                                                       echo $url, 'skins/';
-                                               } ?>" />
-                                               <br />(¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¹¥­¥ó¤¬»ÈÍÑ)
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>Extra skin files directory <strong>path</strong>:</td>
-                                       <td><input name="SkinsPath" size="60" value="<?php
-                                               if ($basePath) {
-                                                       echo $basePath, 'skins/';
-                                               } ?>" />
-                                               <br />(¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¹¥­¥ó¤Î¥Õ¥¡¥¤¥ëÎà¤òÃÖ¤¯¾ì½ê)
-                                       </td>
-                               </tr>
-                               <tr>
-                                       <td>Plugin files <strong>URL</strong>:</td>
-                                       <td><input name="PluginURL" size="60" value="<?php
-                                               if ($url) {
-                                                       echo $url, 'nucleus/plugins/';
-                                               } ?>" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Action <strong>URL</strong>:</td>
-                                       <td><input name="ActionURL" size="60" value="<?php
-                                               if ($url) {
-                                                       echo $url, 'action.php';
-                                               } ?>" />
-                                               <br />(<tt>action.php</tt>¤Ø¤Îhttp://¤«¤é»Ï¤Þ¤ëURL)
-                                       </td>
-                               </tr>
-                       </table>
-               </fieldset>
-
-               <p class="note"><strong>ÉÕµ­:</strong> ÁêÂХѥ¹¤Ç¤Ï¤Ê¤¯<strong>ÀäÂХѥ¹¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤</strong>¡£Ä̾ÀäÂХѥ¹¤Ï<tt>/home/username/public_html/</tt>¤Î¤è¤¦¤Ê·Á¤ò¤È¤ê¤Þ¤¹¡£Unix¥·¥¹¥Æ¥à¡Ê¤Û¤È¤ó¤É¤Î¥µ¡¼¥Ð¡¼¤¬¤½¤¦¤Ç¤¹¡Ë¤Ë¤ª¤¤¤Æ¡¢¥Ñ¥¹¤Ï¥¹¥é¥Ã¥·¥å¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£¤â¤·¤³¤ì¤é¤Î¾ðÊóÆþÎϤËÌäÂ꤬À¸¤¸¤¿¤é¡¢¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð´ÉÍý¼Ô¤Ë¤¿¤º¤Í¤ë¤Ù¤­¤Ç¤¹¡£</p>
-
-               <h1>´ÉÍý¸¢¸Â¤ò¤â¤Ä¥æ¡¼¥¶¡¼</h1>
-
-               <p>°Ê²¼¤Ë¡¢¥µ¥¤¥È¤ÎºÇ½é¤Î¥æ¡¼¥¶¡¼¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</p>
-
-               <fieldset>
-                       <legend>´ÉÍý¸¢¸Â¤ò»ý¤Ä¥æ¡¼¥¶¡¼</legend>
-                       <table>
-                               <tr>
-                                       <td>ɽ¼¨¤µ¤ì¤ë̾Á°¡§</td>
-                                       <td><input name="User_name" value="" /> <small>(µö²Ä¤µ¤ì¤ëʸ»ú¡§a-z ¤È 0-9¡¢ºÇ½é¤ÈºÇ¸å°Ê³°¤Î¥¹¥Ú¡¼¥¹)</small></td>
-                               </tr>
-                               <tr>
-                                       <td>ËÜ̾¡Ê¥Ï¥ó¥É¥ë̾¡Ë¡§</td>
-                                       <td><input name="User_realname" value="" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥Ñ¥¹¥ï¡¼¥É¡§</td>
-                                       <td><input name="User_password" type="password" value="" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥Ñ¥¹¥ï¡¼¥É¤Î³Îǧ¡§</td>
-                                       <td><input name="User_password2" type="password" value="" /></td>
-                               </tr>
-                               <tr>
-                                       <td>¥á¡¼¥ë¥¢¥É¥ì¥¹¡§</td>
-                                       <td><input name="User_email" value="" /> <small>(ÍøÍѲÄǽ¤Ê¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤)</small></td>
-                               </tr>
-                       </table>
-               </fieldset>
-
-               <h1>¥¦¥§¥Ö¥í¥°¤Î¥Ç¡¼¥¿</h1>
-
-               <p>°Ê²¼¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Îweblog¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îweblog¤Î̾Á°¤Ï¡¢¥µ¥¤¥È̾¤È¤·¤Æ¤âÍøÍѤµ¤ì¤Þ¤¹¡£</p>
-
-               <fieldset>
-                       <legend>¥¦¥§¥Ö¥í¥°¤Î¥Ç¡¼¥¿</legend>
-                       <table>
-                               <tr>
-                                       <td>Blog̾¡§</td>
-                                       <td><input name="Blog_name" size="60" value="My Nucleus CMS" /></td>
-                               </tr>
-                               <tr>
-                                       <td>Blog¤Îû½Ì̾¡§</td>
-                                       <td><input name="Blog_shortname" value="mynucleuscms" /> <small>(µö²Ä¤µ¤ì¤ëʸ»ú¡§a-z ¤È 0-9¡¢¥¹¥Ú¡¼¥¹¤ÏÉÔ²Ä)</small></td>
-                               </tr>
-                       </table>
-               </fieldset>
-
-               <h1>¥Ç¡¼¥¿¤ÎÁ÷¿®</h1>
-
-               <p>¾å¤Ë½ñ¤¤¤Æ¤­¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¤¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£¤è¤±¤ì¤Ð¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Æ¡¼¥Ö¥ë¤ÈºÇ½é¤Î¥Ç¡¼¥¿¤òÀßÄꤹ¤ë¤¿¤á¤Ë²¼¤Î¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£¾¯¤·»þ´Ö¤¬¤«¤«¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¤´¿ÉÊú¤ò¡£<b>¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤Î¤Ï°ì²ó¤À¤±¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</b></p>
-
-               <p><input name="action" value="go" type="hidden" /> <input type="submit" value="Nucleus CMS¤Î¥¤¥ó¥¹¥È¡¼¥ë" onclick="return checkSubmit();" /></p>
-
-               </form>
-       </body>
-</html>
-
-<?php }
-
-function tableName($unPrefixed) {
-       global $mysql_usePrefix, $mysql_prefix;
-
-       if ($mysql_usePrefix == 1) {
-               return $mysql_prefix . $unPrefixed;
-       } else {
-               return $unPrefixed;
-       }
-}
-
-function doInstall() {
-       global $mysql_usePrefix, $mysql_prefix;
-
-       // 0. put all POST-vars into vars
-       $mysql_host = postVar('mySQL_host');
-       $mysql_user = postVar('mySQL_user');
-       $mysql_password = postVar('mySQL_password');
-       $mysql_database = postVar('mySQL_database');
-       $mysql_create = postVar('mySQL_create');
-       $mysql_usePrefix = postVar('mySQL_usePrefix');
-       $mysql_prefix = postVar('mySQL_tablePrefix');
-       $config_indexurl = postVar('IndexURL');
-       $config_adminurl = postVar('AdminURL');
-       $config_adminpath = postVar('AdminPath');
-       $config_mediaurl = postVar('MediaURL');
-       $config_skinsurl = postVar('SkinsURL');
-       $config_pluginurl = postVar('PluginURL');
-       $config_actionurl = postVar('ActionURL');
-       $config_mediapath = postVar('MediaPath');
-       $config_skinspath = postVar('SkinsPath');
-       $user_name = postVar('User_name');
-       $user_realname = postVar('User_realname');
-       $user_password = postVar('User_password');
-       $user_password2 = postVar('User_password2');
-       $user_email = postVar('User_email');
-       $blog_name = postVar('Blog_name');
-       $blog_shortname = postVar('Blog_shortname');
-       $config_adminemail = $user_email;
-       $config_sitename = $blog_name;
-
-       $config_indexurl = replaceDoubleBackslash($config_indexurl);
-       $config_adminurl = replaceDoubleBackslash($config_adminurl);
-       $config_mediaurl = replaceDoubleBackslash($config_mediaurl);
-       $config_skinsurl = replaceDoubleBackslash($config_skinsurl);
-       $config_pluginurl = replaceDoubleBackslash($config_pluginurl);
-       $config_actionurl = replaceDoubleBackslash($config_actionurl);
-       $config_adminpath = replaceDoubleBackslash($config_adminpath);
-       $config_skinspath = replaceDoubleBackslash($config_skinspath);
-       $config_mediapath = replaceDoubleBackslash($config_mediapath);
-
-       // 1. check all the data
-       $errors = array();
-
-       if (!$mysql_database) {
-               array_push($errors, 'mySQL database name missing');
-       }
-
-       if (($mysql_usePrefix == 1) && (strlen($mysql_prefix) == 0) ) {
-               array_push($errors, 'mySQL prefix was selected, but prefix is empty');
-       }
-
-       if (($mysql_usePrefix == 1) && (!eregi('^[a-zA-Z0-9_]+$', $mysql_prefix) ) ) {
-               array_push($errors, 'mySQL prefix should only contain characters from the ranges A-Z, a-z, 0-9 or underscores');
-       }
-
-       // TODO: add action.php check
-       if (!endsWithSlash($config_indexurl) || !endsWithSlash($config_adminurl) || !endsWithSlash($config_mediaurl) || !endsWithSlash($config_pluginurl) || !endsWithSlash($config_skinsurl) ) {
-               array_push($errors, 'One of the URLs does not end with a slash, or action url does not end with \'action.php\'');
-       }
-
-       if (!endsWithSlash($config_adminpath) ) {
-               array_push($errors, 'The path of the administration area does not end with a slash');
-       }
-
-       if (!endsWithSlash($config_mediapath) ) {
-               array_push($errors, 'The media path does not end with a slash');
-       }
-
-       if (!endsWithSlash($config_skinspath) ) {
-               array_push($errors, 'The skins path does not end with a slash');
-       }
-
-       if (!is_dir($config_adminpath) ) {
-               array_push($errors, 'The path of the administration area does not exist on your server');
-       }
-
-       if (!_isValidMailAddress($user_email) ) {
-               array_push($errors, 'Invalid e-mail address given for user');
-       }
-
-       if (!_isValidDisplayName($user_name) ) {
-               array_push($errors, 'User name is not a valid display name (allowed chars: a-zA-Z0-9 and spaces)');
-       }
-
-       if (!$user_password || !$user_password2) {
-               array_push($errors, 'User password is empty');
-       }
-
-       if ($user_password != $user_password2) {
-               array_push($errors, 'User password do not match');
-       }
-
-       if (!_isValidShortName($blog_shortname) ) {
-               array_push($errors, 'Invalid short name given for blog (allowed chars: a-z0-9, no spaces)');
-       }
-
-       if (sizeof($errors) > 0) {
-               showErrorMessages($errors);
-       }
-
-       // 2. try to log in to mySQL
-       global $MYSQL_CONN;
-       $MYSQL_CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password);
-
-       if ($MYSQL_CONN == false) {
-               _doError('Could not connect to mySQL server: ' . mysql_error() );
-       }
-
-       // 3. try to create database (if needed)
-       if ($mysql_create == 1) {
-               mysql_query('CREATE DATABASE ' . $mysql_database) or _doError('Could not create database. Make sure you have the rights to do so. SQL error was: ' . mysql_error() );
-       }
-
-       // 4. try to select database
-       mysql_select_db($mysql_database) or _doError('Could not select database. Make sure it exists');
-
-       // 5. execute queries
-       $filename = 'install.sql';
-       $fd = fopen($filename, 'r');
-       $queries = fread($fd, filesize($filename) );
-       fclose($fd);
-
-       $queries = split("(;\n|;\r)", $queries);
-
-       $aTableNames = array(
-               'nucleus_actionlog',
-               'nucleus_ban',
-               'nucleus_blog',
-               'nucleus_category',
-               'nucleus_comment',
-               'nucleus_config',
-               'nucleus_item',
-               'nucleus_karma',
-               'nucleus_member',
-               'nucleus_plugin',
-               'nucleus_skin',
-               'nucleus_template',
-               'nucleus_team',
-               'nucleus_activation',
-               'nucleus_tickets'
-               );
-// these are unneeded (one of the replacements above takes care of them)
-//                     'nucleus_plugin_event',
-//                     'nucleus_plugin_option',
-//                     'nucleus_plugin_option_desc',
-//                     'nucleus_skin_desc',
-//                     'nucleus_template_desc',
-
-       $aTableNamesPrefixed = array(
-               $mysql_prefix . 'nucleus_actionlog',
-               $mysql_prefix . 'nucleus_ban',
-               $mysql_prefix . 'nucleus_blog',
-               $mysql_prefix . 'nucleus_category',
-               $mysql_prefix . 'nucleus_comment',
-               $mysql_prefix . 'nucleus_config',
-               $mysql_prefix . 'nucleus_item',
-               $mysql_prefix . 'nucleus_karma',
-               $mysql_prefix . 'nucleus_member',
-               $mysql_prefix . 'nucleus_plugin',
-               $mysql_prefix . 'nucleus_skin',
-               $mysql_prefix . 'nucleus_template',
-               $mysql_prefix . 'nucleus_team',
-               $mysql_prefix . 'nucleus_activation',
-               $mysql_prefix . 'nucleus_tickets'
-               );
-// these are unneeded (one of the replacements above takes care of them)
-//                     $mysql_prefix . 'nucleus_plugin_event',
-//                     $mysql_prefix . 'nucleus_plugin_option',
-//                     $mysql_prefix . 'nucleus_plugin_option_desc',
-//                     $mysql_prefix . 'nucleus_skin_desc',
-//                     $mysql_prefix . 'nucleus_template_desc',
-
-       $count = count($queries);
-
-       for ($idx = 0; $idx < $count; $idx++) {
-               $query = trim($queries[$idx]);
-               // echo "QUERY = <small>" . htmlspecialchars($query) . "</small><p>";
-
-               if ($query) {
-
-                       if ($mysql_usePrefix == 1) {
-                                       $query = str_replace($aTableNames, $aTableNamesPrefixed, $query);
-                       }
-
-                       mysql_query($query) or _doError('Error while executing query (<small>' . htmlspecialchars($query) . '</small>): ' . mysql_error() );
-               }
-       }
-
-       // 6. update global settings
-       updateConfig('IndexURL', $config_indexurl);
-       updateConfig('AdminURL', $config_adminurl);
-       updateConfig('MediaURL', $config_mediaurl);
-       updateConfig('SkinsURL', $config_skinsurl);
-       updateConfig('PluginURL', $config_pluginurl);
-       updateConfig('ActionURL', $config_actionurl);
-       updateConfig('AdminEmail', $config_adminemail);
-       updateConfig('SiteName', $config_sitename);
-
-       // 7. update GOD member
-       $query = 'UPDATE ' . tableName('nucleus_member')
-                       . " SET mname='" . addslashes($user_name) . "',"
-                       . " mrealname='" . addslashes($user_realname) . "',"
-                       . " mpassword='" . md5(addslashes($user_password) ) . "',"
-                       . " murl='" . addslashes($config_indexurl) . "',"
-                       . " memail='" . addslashes($user_email) . "',"
-                       . " madmin=1, mcanlogin=1"
-                       . " WHERE mnumber=1";
-
-       mysql_query($query) or _doError('Error while setting member settings: ' . mysql_error() );
-
-       // 8. update weblog settings
-       $query = 'UPDATE ' . tableName('nucleus_blog')
-                       . " SET bname='" . addslashes($blog_name) . "',"
-                       . " bshortname='" . addslashes($blog_shortname) . "',"
-                       . " burl='" . addslashes($config_indexurl) . "'"
-                       . " WHERE bnumber=1";
-
-       mysql_query($query) or _doError('Error while setting weblog settings: ' . mysql_error() );
-
-       // 9. update item date
-       $query = 'UPDATE ' . tableName('nucleus_item')
-                       . " SET itime='" . date('Y-m-d H:i:s', time() ) ."'"
-                       . " WHERE inumber=1";
-
-       mysql_query($query) or _doError('Error with query: ' . mysql_error() );
-
-       global $aConfPlugsToInstall, $aConfSkinsToImport;
-       $aSkinErrors = array();
-       $aPlugErrors = array();
-
-       if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0) ) {
-               // 10. set global variables
-               global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX;
-
-               $MYSQL_HOST = $mysql_host;
-               $MYSQL_USER = $mysql_user;
-               $MYSQL_PASSWORD = $mysql_password;
-               $MYSQL_DATABASE = $mysql_database;
-               $MYSQL_PREFIX = ($mysql_usePrefix == 1)?$mysql_prefix:'';
-
-               global $DIR_NUCLEUS, $DIR_MEDIA, $DIR_SKINS, $DIR_PLUGINS, $DIR_LANG, $DIR_LIBS;
-
-               $DIR_NUCLEUS = $config_adminpath;
-               $DIR_MEDIA = $config_mediapath;
-               $DIR_SKINS = $config_skinspath;
-               $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
-               $DIR_LANG = $DIR_NUCLEUS . 'language/';
-               $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
-
-               // close database connection (needs to be closed if we want to include globalfunctions.php)
-               mysql_close();
-
-               $manager = '';
-               include_once($DIR_LIBS . 'globalfunctions.php');
-
-               // 11. install custom skins
-               $aSkinErrors = installCustomSkins($manager);
-
-               // 12. install custom plugins
-               $aPlugErrors = installCustomPlugs($manager);
-       }
-
-       // 12. Write config file ourselves (if possible)
-       $bConfigWritten = 0;
-
-       if (@file_exists('config.php') && is_writable('config.php') && $fp = @fopen('config.php', 'w') ) {
-               $config_data = '<' . '?php' . "\n\n";
-               //$config_data .= "\n"; (extraneous, just added extra \n to previous line
-               $config_data .= "       // mySQL connection information\n";
-               $config_data .= "       \$MYSQL_HOST = '" . $mysql_host . "';\n";
-               $config_data .= "       \$MYSQL_USER = '" . $mysql_user . "';\n";
-               $config_data .= "       \$MYSQL_PASSWORD = '" . $mysql_password . "';\n";
-               $config_data .= "       \$MYSQL_DATABASE = '" . $mysql_database . "';\n";
-               $config_data .= "       \$MYSQL_PREFIX = '" . (($mysql_usePrefix == 1)?$mysql_prefix:'') . "';\n";
-               $config_data .= "\n";
-               $config_data .= "       // main nucleus directory\n";
-               $config_data .= "       \$DIR_NUCLEUS = '" . $config_adminpath . "';\n";
-               $config_data .= "\n";
-               $config_data .= "       // path to media dir\n";
-               $config_data .= "       \$DIR_MEDIA = '" . $config_mediapath . "';\n";
-               $config_data .= "\n";
-               $config_data .= "       // extra skin files for imported skins\n";
-               $config_data .= "       \$DIR_SKINS = '" . $config_skinspath . "';\n";
-               $config_data .= "\n";
-               $config_data .= "       // these dirs are normally sub dirs of the nucleus dir, but \n";
-               $config_data .= "       // you can redefine them if you wish\n";
-               $config_data .= "       \$DIR_PLUGINS = \$DIR_NUCLEUS . 'plugins/';\n";
-               $config_data .= "       \$DIR_LANG = \$DIR_NUCLEUS . 'language/';\n";
-               $config_data .= "       \$DIR_LIBS = \$DIR_NUCLEUS . 'libs/';\n";
-               $config_data .= "\n";
-               $config_data .= "       // include libs\n";
-               $config_data .= "       include(\$DIR_LIBS.'globalfunctions.php');\n";
-               $config_data .= "       if (!extension_loaded('mbstring')) {\n";
-               $config_data .= "       include(\$DIR_LIBS.'mb_emulator/mb-emulator.php');\n";
-               $config_data .= "       }\n";
-               $config_data .= "?" . ">";
-
-               $result = @fputs($fp, $config_data, strlen($config_data) );
-               fclose($fp);
-
-               if ($result) {
-                       $bConfigWritten = 1;
-               }
-       }
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
-       <title>Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
-       <style>@import url('nucleus/styles/manual.css');</style>
-</head>
-<body>
-       <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
-
-<?php
-       $aAllErrors = array_merge($aSkinErrors, $aPlugErrors);
-
-       if (count($aAllErrors) > 0) {
-               echo '<h1>Skin/Plugin Install errors</h1>';
-               echo '<ul><li>' . implode('</li><li>', $aAllErrors) . '</li></ul>';
-       }
-
-       if (!$bConfigWritten) { ?>
-               <h1>¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Û¤Ü´°Î»¤·¤Þ¤·¤¿¡ª</h1>
-
-               <p>¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Î½é´üÃÍÆþÎϤ¬À®¸ù¤·¤Þ¤·¤¿¡£¸å¤Ï<i>config.php</i>¤ò½ñ¤­´¹¤¨¤ë¤À¤±¤Ç¤¹¡£°Ê²¼¤Ë½ñ¤­´¹¤¨¤ë¤Ù¤­ÆâÍƤòɽ¼¨¤·¤Þ¤¹¡Êmysql¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ï¼ÂºÝ¤Î¤â¤Î¤Ë½ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡Ë</p>
-
-               <pre><code>&lt;?php
-       // mySQL connection information
-       $MYSQL_HOST = '<b><?php echo $mysql_host?></b>';
-       $MYSQL_USER = '<b><?php echo $mysql_user?></b>';
-       $MYSQL_PASSWORD = '<i><b>xxxxxxxxxxx</b></i>';
-       $MYSQL_DATABASE = '<b><?php echo $mysql_database?></b>';
-       $MYSQL_PREFIX = '<b><?php echo ($mysql_usePrefix == 1)?$mysql_prefix:''?></b>';
-
-       // main nucleus directory
-       $DIR_NUCLEUS = '<b><?php echo $config_adminpath?></b>';
-
-       // path to media dir
-       $DIR_MEDIA = '<b><?php echo $config_mediapath?></b>';
-
-       // extra skin files for imported skins
-       $DIR_SKINS = '<b><?php echo $config_skinspath?></b>';
-
-       // these dirs are normally sub dirs of the nucleus dir, but
-       // you can redefine them if you wish
-       $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
-       $DIR_LANG = $DIR_NUCLEUS . 'language/';
-       $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
-
-       // include libs
-       include($DIR_LIBS.'globalfunctions.php');
-       if (!extension_loaded('mbstring')) {
-               include($DIR_LIBS.'mb_emulator/mb-emulator.php');
-       }
-?&gt;</code></pre>
-
-       <p>¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤¿¤é¡¢FTP¤ò»È¤Ã¤Æ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ë¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ASCII¥â¡¼¥É¤ÇÁ÷¿®¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¡£</p>
-
-       <div class="note">
-               <b>ÉÕµ­:</b> <i>config.php</i>¤ÎºÇ½é¤ä½ª¤ï¤ê¤Ë¥¹¥Ú¡¼¥¹¤ò¶õ¤±¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£¼Â¹Ô»þ¤Ë¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤¹¸¶°ø¤È¤Ê¤ê¤Þ¤¹¡£<br />
-               ¤·¤¿¤¬¤Ã¤Æ¡¢config.php¤ÎºÇ½é¤Îʸ»ú¤Ï "&lt;"¤ÇºÇ¸å¤Îʸ»ú¤Ï"&gt;"¤È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-       </div>
-
-<?php } else { ?>
-
-       <h1>¥¤¥ó¥¹¥È¡¼¥ë¤Ï´°Î»¤·¤Þ¤·¤¿¡ª</h1>
-
-       <p>Nucleus¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢<code>config.php</code>¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£</p>
-
-       <p>¥»¥­¥å¥ê¥Æ¥£¤Î¤¿¤á<code>config.php</code>¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò444¤ËÌ᤹¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤(<a href="nucleus/documentation/tips.html#filepermissions">¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É</a>)¡£</p>
-
-<?php } ?>
-
-       <h1>¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Îºï½ü</h1>
-
-       <p>¥¦¥§¥Ö¥µ¡¼¥Ð¤«¤é¼¡¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡§</p>
-
-       <ul>
-               <li><b>install.sql</b>¡§¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤òÆâÊñ¤¹¤ë¥Õ¥¡¥¤¥ë</li>
-               <li><b>install.php</b>¡§¤³¤Î¥Õ¥¡¥¤¥ë</li>
-       </ul>
-
-       <p>¤â¤·¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢´ÉÍýÎΰè¤ò³«¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£</p>
-
-       <h1>¥¦¥§¥Ö¥µ¥¤¥È¤Î³Îǧ</h1>
-
-       <p>¥¦¥§¥Ö¥µ¥¤¥È¤ò»È¤¦½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¡£
-               <ul>
-                       <li><a href="<?php echo $config_adminurl?>">´ÉÍýÎΰè¤Ë¥í¥°¥¤¥ó¤·¤Æ¥µ¥¤¥È¤ÎÀßÄê¤ò¹Ô¤¦</a></li>
-                       <li><a href="<?php echo $config_indexurl?>">¤¹¤°¤Ë¥µ¥¤¥È¤Ø¹Ô¤Ã¤Æ¤ß¤ë</a></li>
-               </ul>
-       </p>
-
-</body>
-</html>
-
-<?php
-}
-
-function installCustomPlugs(&$manager) {
-       global $aConfPlugsToInstall, $DIR_LIBS;
-
-       $aErrors = array();
-
-       if (count($aConfPlugsToInstall) == 0) {
-               return $aErrors;
-       }
-
-       $res = sql_query('SELECT * FROM ' . sql_table('plugin') );
-       $numCurrent = mysql_num_rows($res);
-
-       foreach ($aConfPlugsToInstall as $plugName) {
-               // do this before calling getPlugin (in case the plugin id is used there)
-               $query = 'INSERT INTO ' . sql_table('plugin') . ' (porder, pfile) VALUES (' . (++$numCurrent) . ', "' . addslashes($plugName) . '")';
-               sql_query($query);
-
-               // get and install the plugin
-               $plugin =& $manager->getPlugin($plugName);
-
-               if (!$plugin) {
-                       sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\'' . addslashes($plugName) . '\'');
-                       $numCurrent--;
-                       array_push($aErrors, 'Unable to install plugin ' . $plugName);
-                       continue;
-               }
-
-               $plugin->install();
-       }
-
-       // SYNC PLUGIN EVENT LIST
-       sql_query('DELETE FROM ' . sql_table('plugin_event') );
-
-       // loop over all installed plugins
-       $res = sql_query('SELECT pid, pfile FROM ' . sql_table('plugin') );
-
-       while($o = mysql_fetch_object($res) ) {
-               $pid = $o->pid;
-               $plug =& $manager->getPlugin($o->pfile);
-
-               if ($plug) {
-                       $eventList = $plug->getEventList();
-
-                       foreach ($eventList as $eventName) {
-                               sql_query('INSERT INTO ' . sql_table('plugin_event') . ' (pid, event) VALUES (' . $pid . ', \'' . $eventName . '\')');
-                       }
-               }
-       }
-
-       return $aErrors;
-}
-
-function installCustomSkins(&$manager) {
-       global $aConfSkinsToImport, $DIR_LIBS, $DIR_SKINS;
-
-       $aErrors = array();
-
-       if (count($aConfSkinsToImport) == 0) {
-               return $aErrors;
-       }
-
-       // load skinie class
-       include_once($DIR_LIBS . 'skinie.php');
-
-       $importer = new SKINIMPORT();
-
-       foreach ($aConfSkinsToImport as $skinName) {
-               $importer->reset();
-               $skinFile = $DIR_SKINS . $skinName . '/skinbackup.xml';
-
-               if (!@file_exists($skinFile) ) {
-                       array_push($aErrors, 'Unable to import ' . $skinFile . ' : file does not exist');
-                       continue;
-               }
-
-               $error = $importer->readFile($skinFile);
-
-               if ($error) {
-                       array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error);
-                       continue;
-               }
-
-               $error = $importer->writeToDatabase(1);
-
-               if ($error) {
-                       array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error);
-                       continue;
-               }
-       }
-
-       return $aErrors;
-}
-
-// give an error if one or more nucleus are not accessible
-function doCheckFiles() {
-       $missingfiles = array();
-       $files = array(
-               'install.sql',
-               'index.php',
-               'action.php',
-               'nucleus/index.php',
-               'nucleus/libs/globalfunctions.php',
-               'nucleus/libs/ADMIN.php',
-               'nucleus/libs/BLOG.php',
-               'nucleus/libs/COMMENT.php',
-               'nucleus/libs/COMMENTS.php',
-               'nucleus/libs/ITEM.php',
-               'nucleus/libs/MEMBER.php',
-               'nucleus/libs/SKIN.php',
-               'nucleus/libs/TEMPLATE.php',
-               'nucleus/libs/MEDIA.php',
-               'nucleus/libs/ACTIONLOG.php',
-               'nucleus/media.php'
-               );
-
-       $count = count($files);
-
-       for ($i = 0; $i < $count; $i++) {
-               if (!is_readable($files[$i]) ) {
-                       array_push($missingfiles, 'File <b>' . $files[$i] . '</b> is missing or not readable.');
-               }
-       }
-
-// The above code replaces several if statements of the form:
-
-//     if (!is_readable('install.sql') ) {
-//             array_push($missingfiles, 'File <b>install.sql</b> is missing or not readable');
-//     }
-
-       if (count($missingfiles) > 0) {
-               showErrorMessages($missingfiles);
-       }
-}
-
-function updateConfig($name, $val) {
-       $name = addslashes($name);
-       $val = trim(addslashes($val) );
-
-       $query = 'UPDATE ' . tableName('nucleus_config')
-                       . " SET value='$val'"
-                       . " WHERE name='$name'";
-
-       mysql_query($query) or _doError('Query error while trying to update config: ' . mysql_error() );
-       return mysql_insert_id();
-}
-
-function replaceDoubleBackslash($input) {
-       return str_replace('\\', '/', $input);
-}
-
-function endsWithSlash($s) {
-       return (strrpos($s, '/') == strlen($s) - 1);
-}
-
-/**
- * Checks if email address is valid
- */
-function _isValidMailAddress($address) {
-       if (preg_match("/^[a-zA-Z0-9\._-]+@+[A-Za-z0-9\._-]+\.+[A-Za-z]{2,4}$/", $address) ) {
-               return 1;
-       } else {
-               return 0;
-       }
-}
-
-// returns true if the given string is a valid shortname
-// (to check short blog names and nicknames)
-// logic: starts and ends with a non space, can contain spaces in between
-//        min 2 chars
-function _isValidShortName($name) {
-       if (eregi("^[a-z0-9]+$", $name) ) {
-               return 1;
-       } else {
-               return 0;
-       }
-}
-
-
-
-// returns true if the given string is a valid display name
-// (to check nicknames)
-function _isValidDisplayName($name) {
-       if (eregi("^[a-z0-9]+[a-z0-9 ]*[a-z0-9]+$", $name) ) {
-               return 1;
-       } else {
-               return 0;
-       }
-}
-
-function _doError($msg) {
-       ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus Install</title>
-       <style>@import url('nucleus/styles/manual.css');</style>
-</head>
-<body>
-       <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
-       <h1>Error!</h1>
-
-       <p>Error message was: "<?php echo $msg?>";</p>
-
-       <p><a href="install.php" onclick="history.back();return false;">Go Back</a></p>
-</body>
-</html>
-
-<?php
-       exit;
-}
-
-function showErrorMessages($errors) {
-       ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus Install</title>
-       <style>@import url('nucleus/styles/manual.css');</style>
-</head>
-<body>
-       <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
-       <h1>Errors!</h1>
-
-       <p>Errors were found:</p>
-
-       <ul>
-
-<?php
-       while($msg = array_shift($errors) ) {
-               echo '<li>', $msg, '</li>';
-       }
-?>
-
-       </ul>
-
-       <p><a href="install.php" onclick="history.back();return false;">Go Back</a></p>
-</body>
-</html>
-
-<?php
-       exit;
-}
-
-/* for the non-php systems that decide to show the contents:
-?></div><?php  */
-
-?>
diff --git a/euc/install.sql b/euc/install.sql
deleted file mode 100755 (executable)
index e329efd..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-CREATE TABLE `nucleus_actionlog` (
-  `timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
-  `message` varchar(255) NOT NULL default ''
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_activation` (
-  `vkey` varchar(40) NOT NULL default '',
-  `vtime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `vmember` int(11) NOT NULL default '0',
-  `vtype` varchar(15) NOT NULL default '',
-  `vextra` varchar(128) NOT NULL default '',
-  PRIMARY KEY  (`vkey`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_ban` (
-  `iprange` varchar(15) NOT NULL default '',
-  `reason` varchar(255) NOT NULL default '',
-  `blogid` int(11) NOT NULL default '0'
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_blog` (
-  `bnumber` int(11) NOT NULL auto_increment,
-  `bname` varchar(60) NOT NULL default '',
-  `bshortname` varchar(15) NOT NULL default '',
-  `bdesc` varchar(200) default NULL,
-  `bcomments` tinyint(2) NOT NULL default '1',
-  `bmaxcomments` int(11) NOT NULL default '0',
-  `btimeoffset` decimal(3,1) NOT NULL default '0.0',
-  `bnotify` varchar(60) default NULL,
-  `burl` varchar(100) default NULL,
-  `bupdate` varchar(60) default NULL,
-  `bdefskin` int(11) NOT NULL default '1',
-  `bpublic` tinyint(2) NOT NULL default '1',
-  `bsendping` tinyint(2) NOT NULL default '0',
-  `bconvertbreaks` tinyint(2) NOT NULL default '1',
-  `bdefcat` int(11) default NULL,
-  `bnotifytype` int(11) NOT NULL default '15',
-  `ballowpast` tinyint(2) NOT NULL default '0',
-  `bincludesearch` tinyint(2) NOT NULL default '0',
-  `breqemail` TINYINT( 2 ) DEFAULT '0' NOT NULL,
-  PRIMARY KEY  (`bnumber`),
-  UNIQUE KEY `bnumber` (`bnumber`),
-  UNIQUE KEY `bshortname` (`bshortname`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_blog` VALUES (1, 'My Nucleus CMS', 'mynucleuscms', '', 1, 0, 0.0, '', 'http://localhost:8080/nucleus/', '', 5, 1, 0, 1, 1, 1, 1, 0, 0);
-
-CREATE TABLE `nucleus_category` (
-  `catid` int(11) NOT NULL auto_increment,
-  `cblog` int(11) NOT NULL default '0',
-  `cname` varchar(200) default NULL,
-  `cdesc` varchar(200) default NULL,
-  PRIMARY KEY  (`catid`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_category` VALUES (1, 1, 'General', 'Items that do not fit in other categories');
-
-CREATE TABLE `nucleus_comment` (
-  `cnumber` int(11) NOT NULL auto_increment,
-  `cbody` text NOT NULL,
-  `cuser` varchar(40) default NULL,
-  `cmail` varchar(100) default NULL,
-  `cemail` VARCHAR( 100 ),
-  `cmember` int(11) default NULL,
-  `citem` int(11) NOT NULL default '0',
-  `ctime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `chost` varchar(60) default NULL,
-  `cip` varchar(15) NOT NULL default '',
-  `cblog` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`cnumber`),
-  UNIQUE KEY `cnumber` (`cnumber`),
-  KEY `citem` (`citem`),
-  FULLTEXT KEY `cbody` (`cbody`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_config` (
-  `name` varchar(20) NOT NULL default '',
-  `value` varchar(128) default NULL,
-  PRIMARY KEY  (`name`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_config` VALUES ('DefaultBlog', '1');
-INSERT INTO `nucleus_config` VALUES ('AdminEmail', 'example@example.org');
-INSERT INTO `nucleus_config` VALUES ('IndexURL', 'http://localhost:8080/nucleus/');
-INSERT INTO `nucleus_config` VALUES ('Language', 'japanese-euc');
-INSERT INTO `nucleus_config` VALUES ('SessionCookie', '');
-INSERT INTO `nucleus_config` VALUES ('AllowMemberCreate', '');
-INSERT INTO `nucleus_config` VALUES ('AllowMemberMail', '1');
-INSERT INTO `nucleus_config` VALUES ('SiteName', 'My Nucleus CMS');
-INSERT INTO `nucleus_config` VALUES ('AdminURL', 'http://localhost:8080/nucleus/nucleus/');
-INSERT INTO `nucleus_config` VALUES ('NewMemberCanLogon', '1');
-INSERT INTO `nucleus_config` VALUES ('DisableSite', '');
-INSERT INTO `nucleus_config` VALUES ('DisableSiteURL', 'http://www.this-page-intentionally-left-blank.org/');
-INSERT INTO `nucleus_config` VALUES ('LastVisit', '');
-INSERT INTO `nucleus_config` VALUES ('MediaURL', 'http://localhost:8080/nucleus/media/');
-INSERT INTO `nucleus_config` VALUES ('AllowedTypes', 'jpg,jpeg,gif,mpg,mpeg,avi,mov,mp3,swf,png');
-INSERT INTO `nucleus_config` VALUES ('AllowLoginEdit', '');
-INSERT INTO `nucleus_config` VALUES ('AllowUpload', '1');
-INSERT INTO `nucleus_config` VALUES ('DisableJsTools', '2');
-INSERT INTO `nucleus_config` VALUES ('CookiePath', '/');
-INSERT INTO `nucleus_config` VALUES ('CookieDomain', '');
-INSERT INTO `nucleus_config` VALUES ('CookieSecure', '');
-INSERT INTO `nucleus_config` VALUES ('CookiePrefix', '');
-INSERT INTO `nucleus_config` VALUES ('MediaPrefix', '1');
-INSERT INTO `nucleus_config` VALUES ('MaxUploadSize', '1048576');
-INSERT INTO `nucleus_config` VALUES ('NonmemberMail', '');
-INSERT INTO `nucleus_config` VALUES ('PluginURL', 'http://localhost:8080/nucleus/nucleus/plugins/');
-INSERT INTO `nucleus_config` VALUES ('ProtectMemNames', '1');
-INSERT INTO `nucleus_config` VALUES ('BaseSkin', '5');
-INSERT INTO `nucleus_config` VALUES ('SkinsURL', 'http://localhost:8080/nucleus/skins/');
-INSERT INTO `nucleus_config` VALUES ('ActionURL', 'http://localhost:8080/nucleus/action.php');
-INSERT INTO `nucleus_config` VALUES ('URLMode', 'normal');
-INSERT INTO `nucleus_config` VALUES ('DatabaseVersion', '330');
-
-CREATE TABLE `nucleus_item` (
-  `inumber` int(11) NOT NULL auto_increment,
-  `ititle` varchar(160) default NULL,
-  `ibody` text NOT NULL,
-  `imore` text,
-  `iblog` int(11) NOT NULL default '0',
-  `iauthor` int(11) NOT NULL default '0',
-  `itime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `iclosed` tinyint(2) NOT NULL default '0',
-  `idraft` tinyint(2) NOT NULL default '0',
-  `ikarmapos` int(11) NOT NULL default '0',
-  `icat` int(11) default NULL,
-  `ikarmaneg` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`inumber`),
-  UNIQUE KEY `inumber` (`inumber`),
-  KEY `itime` (`itime`),
-  FULLTEXT KEY `ibody` (`ibody`,`ititle`,`imore`)
-) TYPE=MyISAM PACK_KEYS=0;
-
-INSERT INTO `nucleus_item` VALUES (1, 'Nucleus CMS ¥Ð¡¼¥¸¥ç¥ó3.3¤Ø¤è¤¦¤³¤½',
-'¥¦¥§¥Ö¥Ú¡¼¥¸¤ÎºîÀ®¤òÊä½õ¤¹¤ëÀѤßÌÚ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¿´Ìö¤ëblog¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢´Ñ¤ë¤â¤Î¤òϤޤ»¤ë²È²¤Î¥Ú¡¼¥¸¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢¼Â¤ê¿¤­¼ñÌ£¤Î¥µ¥¤¥È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¢¤ë¤¤¤Ï¸½ºß¤Î¤¢¤Ê¤¿¤Ë¤ÏÁÛÁü¤¬¤Ä¤«¤Ê¤¤¤â¤Î¤Ë¤Ê¤ë¤³¤È¤À¤Ã¤Æ¤¢¤ë¤Ç¤·¤ç¤¦¡£<br />\r\n<br />\r\nÍÑÅÓ¤¬»×¤¤¤Ä¤­¤Þ¤»¤ó¤Ç¤·¤¿¤«¡©¡¡¤½¤ì¤Ê¤é¤³¤³¤ØÍè¤ÆÀµ²ò¤Ç¤¹¡£¤Ê¤¼¤Ê¤é¤¢¤Ê¤¿Æ±Íͻ䤿¤Á¤Ë¤â¤ï¤«¤é¤Ê¤¤¤Î¤Ç¤¹¤«¤é¡£',
-'¤³¤ì¤Ï¥µ¥¤¥È¤Ë¤ª¤±¤ëºÇ½é¤Î¥¨¥ó¥È¥ê¡¼¤Ç¤¹¡£¥¹¥¿¡¼¥È¤òÀÚ¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¥ê¥ó¥¯¤È¾ðÊó¤òÆþ¤ì¤Æ¤ª¤­¤Þ¤·¤¿¡£<br />\r\n<br />\r\n¤³¤Îµ­»ö¤òºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤É¤Á¤é¤Ë¤»¤èµ­»ö¤òÄɲ䷤Ƥ¤¤¯¤³¤È¤Ë¤è¤Ã¤Æ¤ä¤¬¤Æ¥á¥¤¥ó¥Ú¡¼¥¸¤«¤é¤Ï¸«¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£Nucleus¤ò°·¤¦¤¦¤Á¤ËÀ¸¤¸¤¿¥á¥â¤ò¥³¥á¥ó¥È¤È¤·¤ÆÄɲä·¡¢¾­Í襢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤³¤Î¥Ú¡¼¥¸¤ò¥Ö¥Ã¥¯¥Þ¡¼¥¯¤·¤Æ¤ª¤¯¤Î¤â¼ê¤Ç¤¹¡£<br />\r\n<br />\r\n<b>¥ê¥ó¥¯</b><br />\r\n<br />\r\nNucleus CMS¤Î<a href="http://nucleuscms.org">ËܲÈ</a>¤È<a href="http://japan.nucleuscms.org">ÆüËܸì¸ø¼°</a>¥Ú¡¼¥¸¡£<br />\r\n<br />\r\nNucleus CMS¤ÎSourceForge<a href="http://sourceforge.net/projects/nucleuscms/">¥×¥í¥¸¥§¥¯¥È</a>¡Ê<a href="http://sourceforge.jp/projects/nucleus-jp/">ÆüËÜÈÇ</a>¡Ë¥Ú¡¼¥¸¡£<br />\r\n<br />\r\nNucleus CMS¤Î¥×¥é¥°¥¤¥ó<a href="http://wakka.xiffy.nl/Plugin/">ÁÒ¸Ë</a>¤È<a href="http://japan.nucleuscms.org/wiki/plugins">ÆüËܸì¤Î¥ê¥¹¥È</a>¥Ú¡¼¥¸¡£<br />\r\n<br />\r\n<b>¥É¥­¥å¥á¥ó¥È - <a href="http://docs.nucleuscms.org/">docs.nucleuscms.org</a></b><br />\r\n<br />\r\nNucleus¤Î<a href="http://japan.nucleuscms.org/faq.php">FAQ¡Ê¤è¤¯¤¢¤ë¼ÁÌ佸¡Ë</a>¡Ê<a href="http://nucleuscms.org/faq.php">¸¶Ê¸</a>¡Ë¥Ú¡¼¥¸¡£<br />\r\n<br />\r\n¥¤¥ó¥¹¥È¡¼¥ëÊýË¡Åù¤Ï<a href="nucleus/documentation/">¥æ¡¼¥¶¡¼¸þ¤±</a>¤È<a href="nucleus/documentation/devdocs/">³«È¯¼Ô¸þ¤±</a>ʸ½ñ¤¬¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£<br />\r\n<br />\r\n¥Ý¥Ã¥×¥¢¥Ã¥×<a href="./nucleus/documentation/help.html">¥Ø¥ë¥×</a>¤¬´ÉÍý¥¨¥ê¥¢¤Î¤¤¤¿¤ë¤È¤³¤í¤Ë¤¢¤ê¡¢¥µ¥¤¥È¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ä¥Ç¥¶¥¤¥ó¤ò¼ê½õ¤±¤·¤Æ¤¯¤ì¤ë¤³¤È¤Ç¤·¤ç¤¦¡£<br />\r\n<br />\r\n°ìÅÙÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤ËÌܤòÄ̤·¤¿¤é¡¢<a href="http://wiki.nucleuscms.org/">Wiki</a>¡Ê<a href="http://japan.nucleuscms.org/wiki/">ÆüËÜÈÇ</a>¡Ë¤òˬ¤ì¤Æ¤¯¤À¤µ¤¤¡£¥æ¡¼¥¶¡¼¤Î½ñ¤¤¤¿¥Ï¥¦¥Ä¡¼¤ä¾®µ»¤¬·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£<br />\r\n<br />\r\n<b>¥µ¥Ý¡¼¥È</b><br />\r\n<br />\r\n<a href="http://forum.nucleuscms.org/">forum.nucleuscms.org</a>¡ÊËܲȡË<br />\r\n<a href="http://japan.nucleuscms.org/bb/">japan.nucleuscms.org/bb/</a>¡ÊÆüËÜÈÇ¡Ë<br />\r\n<br />\r\n<a href="http://forum.nucleuscms.org/groupcp.php?g=3">moderators</a>¤È¥µ¥Ý¡¼¥È¥Õ¥©¡¼¥é¥à¤Ç³èÆ°¤¹¤ëÁ´¤Æ¤Î¥Ü¥é¥ó¥Æ¥£¥¢¤Ë´¶¼Õ¤·¤Þ¤¹¡£<br />\r\n<br />\r\n- <a href="http://edmondhui.homeip.net/blog/">admun</a> - Ottawa, ON, Canada                 <br />\r\n- <a href="http://www.tamizhan.com/">anand</a> - Bangalore, India<br />\r\n- <a href="http://hcgtv.com">hcgtv</a> - Miami, Florida, USA<br />\r\n- <a href="http://www.adrenalinsports.nl/">ikeizer</a> - Maastricht<br />\r\n- <a href="http://www.tipos.com.br/">moraes</a> - Brazil<br />\r\n- <a href="http://roelg.nl/">roel </a>- The Netherlands<br />\r\n- <a href="http://budts.be/weblog/">TeRanEX </a>- Ekeren, Antwerp, Belgium<br />\r\n- <a href="http://www.trentadams.com/">Trent </a>- Alberta, Canada<br />\r\n- <a href="http://xiffy.nl/weblog/">xiffy </a>- Deventer<br />\r\n<br />\r\n¤â¤·¼ê½õ¤±¤¬É¬Íפʤ顢1400¤òĶ¤¨¤ëÅÐÏ¿¥æ¡¼¥¶¡¼¤Î¤¤¤ë»ä¤¿¤Á¤Î¥Õ¥©¡¼¥é¥à¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£23,000¤òĶ¤¨¤ëÅê¹Æ¤µ¤ì¤¿µ­»ö¤ò¸¡º÷¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤Î¤Ç¡¢µá¤á¤ëÅú¤¨¤Ë¿ô²ó¤Î¥¯¥ê¥Ã¥¯¤Ç¤¿¤É¤êÃ失¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£<br />\r\n<br />\r\n<b>Personalization - <a href="http://skins.nucleuscms.org/">skins.nucleuscms.org</a></b><br />\r\n<br />\r\n¥Þ¥ë¥Á¥¦¥§¥Ö¥í¥°¤È¥¹¥­¥ó/¥Æ¥ó¥×¥ì¡¼¥È¤ÎÁȤ߹ç¤ï¤»¤Ï¶¯ÎϤÊÁê¾è¸ú²Ì¤òÀ¸¤ß½Ð¤·¤Þ¤¹¡£¸Ä¿ÍŪ¤Ê¥µ¥¤¥ÈºîÀ®¡¢Í§¿Í¤ä¿ÆÀ̤¢¤ë¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ¹¤ë¥µ¥¤¥È¥Ç¥¶¥¤¥ó¤¤¤º¤ì¤ËÂФ·¤Æ¤â¤Ç¤¹¡£<br />\r\n<br />\r\n636¤ÎÅÐÏ¿¤µ¤ì¤¿<a href="http://nucleuscms.org/sites.php">Nucleus¤Ç±¿ÍѤµ¤ì¤Æ¤¤¤ë¥µ¥¤¥È</a>¡Ê<a href="http://japan.nucleuscms.org/sites.php">ÆüËÜÈÇ</a>¡Ë¤ÎÃ椫¤éÆÿ§¤¢¤ë¥µ¥¤¥È¤ò¥µ¥ó¥×¥ë¤È¤·¤Æ¤´¾Ò²ð¤·¤Þ¤¹¡£<br />\r\n<br />\r\nThe Zen of Nucleus<br />\r\n- <a href="http://beefcake.nl/">beefcake.nl</a> - Beefcake | Nuke the whales!<br />\r\n- <a href="http://www.leng-lui.com//">leng-lui.com</a> - Leng-Lui.com - v7.0: "Memento"<br />\r\n<br />\r\nPersonal blogs<br />\r\n- <a href="http://bloggard.com/">bloggard.com</a> - The Adventures of Bloggard<br />\r\n- <a href="http://battleangel.org/">battleangel.org</a> - Giving meaning to the meaningless<br />\r\n- <a href="http://www.yetanotherblog.de/">yetanotherblog.de</a> - Yet Another Blog<br />\r\n<br />\r\nMulti user blogs<br />\r\n- <a href="http://tipos.com.br/">tipos.com.br</a> - Blogging community<br />\r\n<br />\r\nHobby, Travel and News sites<br />\r\n- <a href="http://adrenalinsports.nl/">adrenalinsports.nl</a> - Extreme sports<br />\r\n- <a href="http://hsbluebird.com/">hsbluebird.com</a> - Hot Springs, Montana''s Online Resource <br />\r\n- <a href="http://groningen-info.de/">groningen-info.de</a> - Neues aus Groningen. Fr Leute aus Duitsland.<br />\r\n- <a href="http://www.americandaily.com/">americandaily.com</a> - American Daily - Home<br />\r\n<br />\r\n<b>Nucleus Developer Network - <a href="http://dev.nucleuscms.org/">dev.nucleuscms.org</a></b><br />\r\n<br />\r\nThe NUDN is a hub for developer sites and programming resources.<br />\r\n<br />\r\nNUDN satellite sites, handles, location and UTC offset:<br />\r\n- <a href="http://karma.nucleuscms.org/">karma</a> - Izegem +02<br />\r\n- <a href="http://hcgtv.net/">hcgtv</a> - Miami -05<br />\r\n- <a href="http://edmondhui.homeip.net/blog/nudn.php">admun</a> - Ottawa -04<br />\r\n- <a href="http://dev.budts.be/nucleus/">TeRanEX</a> - Ekeren +02<br />\r\n<br />\r\nSourceforge.net graciously hosts our <a href="http://sourceforge.net/projects/nucleuscms/">CVS repository</a>.<br />\r\n<br />\r\nWant to play around or test changes, visit our demo site at <a href="http://demo.nucleuscms.org/">demo.nucleuscms.org</a>.<br />\r\n<br />\r\nNot sure what plugins to use, visit the <a href="http://showcase.trentadams.com/">showcase site</a> where you can see plugins at play in their native habitat.<br />\r\n<br />\r\nThen visit the plugin repository at <a href="http://plugins.nucleuscms.org/">plugins.nucleuscms.org</a> for download and installation instructions.<br />\r\n<br />\r\n<b>´óÉÕ¼Ô°ìÍ÷</b><br />\r\n<br />\r\n°Ê²¼¤Î<a href="http://nucleuscms.org/donators.php">ÁÇÀ²¤é¤·¤¤¿Í¡¹</a>¤Ë¤è¤ë<a href="http://nucleuscms.org/donate.php">±ç½õ</a>´¶¼Õ¤òÊû¤²¤Þ¤¹¡£<em>¤¢¤ê¤¬¤È¤¦¡ª</em><br />\r\n<br />\r\n- <a href="http://reddustrec.net/">dkex</a><br />\r\n- <a href="http://www.uncoverthenet.com/">Uncover the Net</a><br />\r\n- <a href="http://www.webatlas.org/">Web Atlas</a><br />\r\n- <a href="http://www.ipnlighting.com/">IPN Lighting</a><br />\r\n- <a href="http://blog.datoka.jp/">Yu (blog.datoka.jp)</a><br />\r\n- <a href="http://www.thegadgetreview.com/">Sony Gadgets and Reviews</a><br />\r\n- <a href="http://sites.proliphus.com/blueZhift/blog/">Thomas McKibben</a><br />\r\n- <a href="http://cheapweb.us/">CheapWeb.us</a><br />\r\n- Robert Seyfriedsberger<br />\r\n- <a href="http://www.toxicologie.nl/">Toxicologie.nl</a><br />\r\n- Gordon Shum<br />\r\n- <a href="http://www.subsim.com/">Neal Stevens</a><br />\r\n- <a href="http://www.GamblingHelper.com/">GamblingHelper</a><br />\r\n- Oliver Kirstein<br />\r\n- <a href="http://www.dominiek.be/">Dominiek</a><br />\r\n- <a href="http://www.aardschok.net/">Aardschok</a><br />\r\n- <a href="http://www.nieuwevoordeur.be/">nieuwevoordeur.be</a><br />\r\n- <a href="http://www.scene24.net/">Scene24</a><br />\r\n- <a href="http://www.eug.be/">Eug''s Weblog</a><br />\r\n- <a href="http://www.bloggard.com/">The Adventures of Bloggard</a><br />\r\n- <a href="http://www.voltos.com/">Arthur Cronos from Voltos</a><br />\r\n- <a href="http://www.webmaster-toolkit.com/">Free Webmaster Tools and Resources</a><br />\r\n- <a href="http://www.domilog.be/">Domi''s Weblog</a><br />\r\n- Infodoma                <br />\r\n- <a href="http://carvingcode.com/">carvingCode.com</a><br />\r\n- <a href="http://www.traweb.com/">Traweb</a><br />\r\n- <a href="http://gene.mm2u.com/">Gene''s MoBlog</a><br />\r\n- <a href="http://interfacethis.com/">InterfaceThis</a><br />\r\n- <a href="http://www.thefinsters.com/flog/">The Finster Log</a><br />\r\n- <a href="http://www.mrhop.com/">Hop Nguyen</a><br />\r\n- <a href="http://www.zwavel.com/~zwavelaars" title="Zwavelaars">Zwavelaars</a><br />\r\n- <a href="http://beefcake.nl/">Joaquin Scholten</a>      <br />\r\n- <a href="http://www.roelgroeneveld.com/">Roel Groeneveld</a><br />\r\n- <a href="http://lvb.net/">LVBlog</a><br />\r\n- <a href="http://xandermol.com/">Xander Mol</a><br />\r\n- Danilo Massa<br />\r\n- <a href="http://01FTP.com/">01FTP.com</a><br />\r\n- <a href="http://www.adrenalinsports.nl/">Irmo Keizer</a><br />\r\n- <a href="http://www.jasonkrogh.com/">Jason Krogh</a><br />\r\n- <a href="http://www.higuchi.com/">Osamu Higuchi</a><br />\r\n- <a href="http://www.trentadams.com/">Trent Adams</a><br />\r\n- <a href="http://www.ppcw.net/">Arne Hess</a><br />\r\n- <a href="http://hsbluebird.com/">The Bluebird</a><br />\r\n- Rainer Bickel<br />\r\n- Fritz Elfers<br />\r\n- <a href="http://www.european-wall-tapestries.com/">European Wall Tapestries</a><br />\r\n- <a href="http://www.jamier.net/">Jamie R. Rytlewski</a><br />\r\n- Madolyn Piper<br />\r\n- <a href="http://www.batteryvalues.com/">Battery Values</a><br />\r\n- <a href="http://www.mixburnrip.de/">Janko Roettgers</a><br />\r\n- Lukas Loesche<br />\r\n- <a href="http://www.seobook.com/">SEO Book</a><br />\r\n- <a href="http://www.brandweerdematen.nl/">Brandweer de Maten</a><br />\r\n- Andy Fuchs<br />\r\n- <a href="http://www.sumoforce.com/">Sumoforce</a><br />\r\n- <a href="http://love.silverindigo.com/">Al''ky''mie</a><br />\r\n- <a href="http://www.pejo.us/">Peter Johnson</a><br />\r\n- <a href="http://www.triv.nl/">TriV Internet Solutions</a><br />\r\n- <a href="http://www.torontomusicians.org/nucleus/">Margaret Stowe</a><br />\r\n- <a href="http://www.zenkey.org/">zenkey dot org</a><br />\r\n- <a href="http://www.golb.org/">Blots of Info</a><br />\r\n- <a href="http://www.zonderpartij.be/">Rudi De Kerpel</a><br />\r\n- <a href="http://staylorx.com/">Steve Taylor</a><br />\r\n- <a href="http://lmhcave.com/">Malcolm Farnsworth</a><br />\r\n- Birgit Kellner<br />\r\n- <a href="http://www.tobiasly.com/">Toby Johnson</a><br />\r\n- <a href="http://www.kapingamarangi.be/">Kapingamarangi</a><br />\r\n- <a href="http://www.pallalink.net/">Pallalink</a><br />\r\n- <a href="http://publiustx.net/">PubliusTX Weblog</a><br />\r\n- <a href="http://www.reductioadabsurdum.net/">Reductio Ad Absurdum</a><br />\r\n- <a href="http://www.gagaweb.org/">GagaWeb</a><br />\r\n- <a href="http://www.videokid.be/">Videokid</a><br />\r\n- Jon Marr<br />\r\n- <a href="http://www.docblog.org/">Luigi Cristiano</a><br />\r\n- J Keith Lehman<br />\r\n- Bohemian Cachet<br />\r\n- Jesus Mourazos<br />\r\n- <a href="http://ltp-design.com/">Stephen Jones</a><br />\r\n- <a href="http://oha.nu/">One-Handed Apps</a><br />\r\n- Alwin Hawkins<br />\r\n- <a href="http://jstigall.bloomington.in.us">Justin Stigall</a><br />\r\n- <a href="http://www.itismylife.com/">It is my life</a><br />\r\n- Greg Morrill<br />\r\n- <a href="http://www.dutchsubmarines.com/">Dutch Submarines</a><br />\r\n- <a href="http://www.7thwatch.com/">Seventh Watch Design Studios</a>                <br />\r\n- <a href="http://www.macnet2.com/">MacNetv2</a>      <br />\r\n- Richard Noordhof<br />\r\n- <a href="http://www.jamier.net/">Jamie Rytlewski</a><br />\r\n<br />\r\nNucleus¤¬µ¤¤ËÆþ¤ê¤Þ¤·¤¿¤«¡©¡¡<a href="http://www.hotscripts.com/Detailed/13368.html?RID=nucleus@demuynck.org">HotScripts</a>¤ä<a href="http://www.opensourcecms.com/index.php?option=content&task=view&id=145">opensourceCMS</a>¤Ç¤ÎÅêɼ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£<br />\r\n<br />\r\n<b>¥é¥¤¥»¥ó¥¹</b><br />\r\n<br />\r\n»ä¤¿¤Á¤¬¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ¸ý¤Ë¤¹¤ë¾ì¹ç¤Ï¼«Í³¤Î¤³¤È¤Ë¸ÀµÚ¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤Ã¤Æ¡¢²Á³Ê¤Î¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£»ä¤¿¤Á¤Î<a href="http://www.gnu.org/licenses/gpl.html">°ìÈ̸øÍ­»ÈÍѵöÂú½ñ</a>¡Ê<a href="http://www.gnu.org/licenses/gpl.ja.html">ÆüËܸìÌõ</a>¤È<a href="http://www.atmarkit.co.jp/aig/03linux/gpl.html">³µÍ×</a>¡Ë¤Ï¡¢¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤ÎÊ£À½Êª¤ò¼«Í³¤ËÈÒÉۤǤ­¤ë¤³¤È(¤½¤·¤Æ¡¢Ë¾¤à¤Ê¤é¤³¤Î¥µ¡¼¥Ó¥¹¤ËÂФ·¤ÆÂвÁ¤òÀÁµá¤Ç¤­¤ë¤³¤È)¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¼ÂºÝ¤Ë¼õ¤±¼è¤ë¤«´õ˾¤·¤µ¤¨¤¹¤ì¤ÐÆþ¼ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¡¢Æþ¼ê¤·¤¿¥½¥Õ¥È¥¦¥§¥¢¤òÊѹ¹¤·¤¿¤ê¿·¤·¤¤¥Õ¥ê¡¼¡¦¥×¥í¥°¥é¥à¤Î°ìÉô¤È¤·¤Æ»ÈÍѤǤ­¤ë¤³¤È¡¢°Ê¾å¤Î³ÆÆâÍƤò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤ò¥æ¡¼¥¶¼«¿È¤¬ÃΤäƤ¤¤ë¤³¤È¤ò¼Â¸½¤Ç¤­¤ë¤è¤¦¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£', 1, 1, '2005-02-16 22:57:54', 0, 0, 0, 1, 0);
-
-CREATE TABLE `nucleus_karma` (
-  `itemid` int(11) NOT NULL default '0',
-  `ip` char(15) NOT NULL default ''
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_member` (
-  `mnumber` int(11) NOT NULL auto_increment,
-  `mname` varchar(16) NOT NULL default '',
-  `mrealname` varchar(60) default NULL,
-  `mpassword` varchar(40) NOT NULL default '',
-  `memail` varchar(60) default NULL,
-  `murl` varchar(100) default NULL,
-  `mnotes` varchar(100) default NULL,
-  `madmin` tinyint(2) NOT NULL default '0',
-  `mcanlogin` tinyint(2) NOT NULL default '1',
-  `mcookiekey` varchar(40) default NULL,
-  `deflang` varchar(20) NOT NULL default '',
-  PRIMARY KEY  (`mnumber`),
-  UNIQUE KEY `mname` (`mname`),
-  UNIQUE KEY `mnumber` (`mnumber`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_member` VALUES (1, 'example', 'example', '1a79a4d60de6718e8e5b326e338ae533', 'example@example.org', 'http://localhost:8080/nucleus/', '', 1, 1, 'd767aefc60415859570d64c649257f19', '');
-
-CREATE TABLE `nucleus_plugin` (
-  `pid` int(11) NOT NULL auto_increment,
-  `pfile` varchar(40) NOT NULL default '',
-  `porder` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`pid`),
-  KEY `pid` (`pid`),
-  KEY `porder` (`porder`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_plugin_event` (
-  `pid` int(11) NOT NULL default '0',
-  `event` varchar(40) default NULL,
-  KEY `pid` (`pid`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_plugin_option` (
-  `ovalue` text NOT NULL,
-  `oid` int(11) NOT NULL auto_increment,
-  `ocontextid` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`oid`,`ocontextid`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_plugin_option_desc` (
-  `oid` int(11) NOT NULL auto_increment,
-  `opid` int(11) NOT NULL default '0',
-  `oname` varchar(20) NOT NULL default '',
-  `ocontext` varchar(20) NOT NULL default '',
-  `odesc` varchar(255) default NULL,
-  `otype` varchar(20) default NULL,
-  `odef` text,
-  `oextra` text,
-  PRIMARY KEY  (`opid`,`oname`,`ocontext`),
-  UNIQUE KEY `oid` (`oid`)
-) TYPE=MyISAM;
-
-CREATE TABLE `nucleus_skin` (
-  `sdesc` int(11) NOT NULL default '0',
-  `stype` varchar(20) NOT NULL default '',
-  `scontent` text NOT NULL,
-  PRIMARY KEY  (`sdesc`,`stype`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_skin` VALUES (2, 'index', '<?xml version="1.0" encoding="UTF-8"?>\n\n<feed xml:lang="ja" xmlns="http://www.w3.org/2005/Atom\">\n    <title><%blogsetting(name)%></title>\n    <subtitle><%blogsetting(desc)%></subtitle>\n    <id><%blogsetting(url)%>:<%blogsetting(id)%></id>\n\n    <link rel="alternate" type="text/html" href="<%blogsetting(url)%>" />\n    <link rel="self" type="application/atom+xml" href="<%blogsetting(url)%><%self%>" />\n    <generator uri="http://nucleuscms.org/"><%version%></generator>\n    <updated><%blog(feeds/atom/modified,1)%></updated>\n\n    <%blog(feeds/atom/entries,10)%>\n</feed>');
-INSERT INTO `nucleus_skin` VALUES (4, 'index', '<?xml version="1.0"?>\r\n<rsd version="1.0">\r\n <service>\r\n  <engineName><%version%></engineName>\r\n  <engineLink>http://nucleuscms.org/</engineLink>\r\n  <homepageLink><%sitevar(url)%></homepageLink>\r\n  <apis>\r\n   <api name="MetaWeblog" preferred="true" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">\r\n    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>\r\n   </api>\r\n   <api name="Blogger" preferred="false" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">\r\n    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>\r\n   </api>\r\n  </apis>\r\n </service>\r\n</rsd>');
-INSERT INTO `nucleus_skin` VALUES (3, 'index', '<?xml version="1.0" encoding="UTF-8"?>\r\n<rss version="2.0">\r\n  <channel>\r\n    <title><%blogsetting(name)%></title>\r\n    <link><%blogsetting(url)%></link>\r\n    <description><%blogsetting(desc)%></description>\r\n    <language>ja</language>\r\n    <generator><%version%></generator>\r\n    <copyright>&#169;</copyright>\r\n    <category>Weblog</category>\r\n    <docs>http://backend.userland.com/rss</docs>\r\n    <image>\r\n      <url><%adminurl%>nucleus2.gif</url>\r\n      <title><%blogsetting(name)%></title>\r\n      <link><%blogsetting(url)%></link>\r\n    </image>\r\n    <%blog(feeds/rss20,10)%>\r\n  </channel>\r\n</rss>');
-
-CREATE TABLE `nucleus_skin_desc` (
-  `sdnumber` int(11) NOT NULL auto_increment,
-  `sdname` varchar(20) NOT NULL default '',
-  `sddesc` varchar(200) default NULL,
-  `sdtype` varchar(40) NOT NULL default 'text/html',
-  `sdincmode` varchar(10) NOT NULL default 'normal',
-  `sdincpref` varchar(50) NOT NULL default '',
-  PRIMARY KEY  (`sdnumber`),
-  UNIQUE KEY `sdname` (`sdname`),
-  UNIQUE KEY `sdnumber` (`sdnumber`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_skin_desc` VALUES (2, 'feeds/atom', 'Atom 1.0 weblog syndication', 'application/atom+xml', 'normal', '');
-INSERT INTO `nucleus_skin_desc` VALUES (3, 'feeds/rss20', 'RSS 2.0 syndication of weblogs', 'text/xml', 'normal', '');
-INSERT INTO `nucleus_skin_desc` VALUES (4, 'xml/rsd', 'RSD (Really Simple Discovery) information for weblog clients', 'text/xml', 'normal', '');
-INSERT INTO `nucleus_skin_desc` VALUES (5, 'default', 'Nucleus CMS default skin', 'text/html', 'skindir', 'default/');
-
-CREATE TABLE `nucleus_team` (
-  `tmember` int(11) NOT NULL default '0',
-  `tblog` int(11) NOT NULL default '0',
-  `tadmin` tinyint(2) NOT NULL default '0',
-  PRIMARY KEY  (`tmember`,`tblog`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_team` VALUES (1, 1, 1);
-
-CREATE TABLE `nucleus_template` (
-  `tdesc` int(11) NOT NULL default '0',
-  `tpartname` varchar(20) NOT NULL default '',
-  `tcontent` text NOT NULL,
-  PRIMARY KEY  (`tdesc`,`tpartname`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_template` VALUES (3, 'ITEM', '<item>\r\n <title><%title(xml)%></title>\r\n <link><%blogurl%>?itemid=<%itemid%></link>\r\n<description><![CDATA[<%body%><%more%>]]></description>\r\n <category><%category%></category>\r\n<comments><%blogurl%>?itemid=<%itemid%></comments>\r\n <pubDate><%date(rfc822)%></pubDate>\r\n</item>');
-INSERT INTO `nucleus_template` VALUES (3, 'EDITLINK', '<a href="<%editlink%>" onclick="<%editpopupcode%>">edit</a>');
-INSERT INTO `nucleus_template` VALUES (3, 'FORMAT_DATE', '%Y-%m-%d');
-INSERT INTO `nucleus_template` VALUES (3, 'FORMAT_TIME', '%H:%M:%S');
-INSERT INTO `nucleus_template` VALUES (4, 'ITEM', '<%date(utc)%>');
-INSERT INTO `nucleus_template` VALUES (5, 'ITEM', '<entry>\r\n <title type="html"><![CDATA[<%title%>]]></title>\r\n <link rel="alternate" type="text/html" href="<%blogurl%>?itemid=<%itemid%>" />\r\n <author>\r\n  <name><%author%></name>\r\n </author>\r\n <updated><%date(utc)%></updated>\r\n <published><%date(iso8601)%></published>\r\n <content type="html"><![CDATA[<%body%><%more%>]]></content>\r\n <id><%blogurl%>:<%blogid%>:<%itemid%></id>\r\n</entry>');
-
-INSERT INTO `nucleus_template` VALUES (5, 'POPUP_CODE', '<%media%>');
-INSERT INTO `nucleus_template` VALUES (5, 'IMAGE_CODE', '<%image%>');
-INSERT INTO `nucleus_template` VALUES (5, 'MEDIA_CODE', '<%media%>');
-INSERT INTO `nucleus_template` VALUES (3, 'POPUP_CODE', '<%image%>');
-INSERT INTO `nucleus_template` VALUES (3, 'MEDIA_CODE', '<%media%>');
-INSERT INTO `nucleus_template` VALUES (3, 'IMAGE_CODE', '<%media%>');
-
-CREATE TABLE `nucleus_template_desc` (
-  `tdnumber` int(11) NOT NULL auto_increment,
-  `tdname` varchar(20) NOT NULL default '',
-  `tddesc` varchar(200) default NULL,
-  PRIMARY KEY  (`tdnumber`),
-  UNIQUE KEY `tdnumber` (`tdnumber`),
-  UNIQUE KEY `tdname` (`tdname`)
-) TYPE=MyISAM;
-
-INSERT INTO `nucleus_template_desc` VALUES (4, 'feeds/atom/modified', 'Atom feeds: Inserts last modification date');
-INSERT INTO `nucleus_template_desc` VALUES (5, 'feeds/atom/entries', 'Atom feeds: Feed items');
-INSERT INTO `nucleus_template_desc` VALUES (3, 'feeds/rss20', 'Used for RSS 2.0 syndication of your blog');
-INSERT INTO `nucleus_template_desc` VALUES (8, 'default/index', 'Nucleus CMS default index template');
-INSERT INTO `nucleus_template_desc` VALUES (9, 'default/item', 'Nucleus CMS default item template');
-
-CREATE TABLE `nucleus_tickets` (
-  `ticket` varchar(40) NOT NULL default '',
-  `ctime` datetime NOT NULL default '0000-00-00 00:00:00',
-  `member` int(11) NOT NULL default '0',
-  PRIMARY KEY  (`ticket`,`member`)
-) TYPE=MyISAM;
diff --git a/euc/license.txt b/euc/license.txt
deleted file mode 100755 (executable)
index 13a56b1..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE\r
-                      Version 2, June 1991\r
-\r
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.\r
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
- Everyone is permitted to copy and distribute verbatim copies\r
- of this license document, but changing it is not allowed.\r
-\r
-                           Preamble\r
-\r
-  The licenses for most software are designed to take away your\r
-freedom to share and change it.  By contrast, the GNU General Public\r
-License is intended to guarantee your freedom to share and change free\r
-software--to make sure the software is free for all its users.  This\r
-General Public License applies to most of the Free Software\r
-Foundation's software and to any other program whose authors commit to\r
-using it.  (Some other Free Software Foundation software is covered by\r
-the GNU Library General Public License instead.)  You can apply it to\r
-your programs, too.\r
-\r
-  When we speak of free software, we are referring to freedom, not\r
-price.  Our General Public Licenses are designed to make sure that you\r
-have the freedom to distribute copies of free software (and charge for\r
-this service if you wish), that you receive source code or can get it\r
-if you want it, that you can change the software or use pieces of it\r
-in new free programs; and that you know you can do these things.\r
-\r
-  To protect your rights, we need to make restrictions that forbid\r
-anyone to deny you these rights or to ask you to surrender the rights.\r
-These restrictions translate to certain responsibilities for you if you\r
-distribute copies of the software, or if you modify it.\r
-\r
-  For example, if you distribute copies of such a program, whether\r
-gratis or for a fee, you must give the recipients all the rights that\r
-you have.  You must make sure that they, too, receive or can get the\r
-source code.  And you must show them these terms so they know their\r
-rights.\r
-\r
-  We protect your rights with two steps: (1) copyright the software, and\r
-(2) offer you this license which gives you legal permission to copy,\r
-distribute and/or modify the software.\r
-\r
-  Also, for each author's protection and ours, we want to make certain\r
-that everyone understands that there is no warranty for this free\r
-software.  If the software is modified by someone else and passed on, we\r
-want its recipients to know that what they have is not the original, so\r
-that any problems introduced by others will not reflect on the original\r
-authors' reputations.\r
-\r
-  Finally, any free program is threatened constantly by software\r
-patents.  We wish to avoid the danger that redistributors of a free\r
-program will individually obtain patent licenses, in effect making the\r
-program proprietary.  To prevent this, we have made it clear that any\r
-patent must be licensed for everyone's free use or not licensed at all.\r
-\r
-  The precise terms and conditions for copying, distribution and\r
-modification follow.\r
-\r
-                   GNU GENERAL PUBLIC LICENSE\r
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r
-\r
-  0. This License applies to any program or other work which contains\r
-a notice placed by the copyright holder saying it may be distributed\r
-under the terms of this General Public License.  The "Program", below,\r
-refers to any such program or work, and a "work based on the Program"\r
-means either the Program or any derivative work under copyright law:\r
-that is to say, a work containing the Program or a portion of it,\r
-either verbatim or with modifications and/or translated into another\r
-language.  (Hereinafter, translation is included without limitation in\r
-the term "modification".)  Each licensee is addressed as "you".\r
-\r
-Activities other than copying, distribution and modification are not\r
-covered by this License; they are outside its scope.  The act of\r
-running the Program is not restricted, and the output from the Program\r
-is covered only if its contents constitute a work based on the\r
-Program (independent of having been made by running the Program).\r
-Whether that is true depends on what the Program does.\r
-\r
-  1. You may copy and distribute verbatim copies of the Program's\r
-source code as you receive it, in any medium, provided that you\r
-conspicuously and appropriately publish on each copy an appropriate\r
-copyright notice and disclaimer of warranty; keep intact all the\r
-notices that refer to this License and to the absence of any warranty;\r
-and give any other recipients of the Program a copy of this License\r
-along with the Program.\r
-\r
-You may charge a fee for the physical act of transferring a copy, and\r
-you may at your option offer warranty protection in exchange for a fee.\r
-\r
-  2. You may modify your copy or copies of the Program or any portion\r
-of it, thus forming a work based on the Program, and copy and\r
-distribute such modifications or work under the terms of Section 1\r
-above, provided that you also meet all of these conditions:\r
-\r
-    a) You must cause the modified files to carry prominent notices\r
-    stating that you changed the files and the date of any change.\r
-\r
-    b) You must cause any work that you distribute or publish, that in\r
-    whole or in part contains or is derived from the Program or any\r
-    part thereof, to be licensed as a whole at no charge to all third\r
-    parties under the terms of this License.\r
-\r
-    c) If the modified program normally reads commands interactively\r
-    when run, you must cause it, when started running for such\r
-    interactive use in the most ordinary way, to print or display an\r
-    announcement including an appropriate copyright notice and a\r
-    notice that there is no warranty (or else, saying that you provide\r
-    a warranty) and that users may redistribute the program under\r
-    these conditions, and telling the user how to view a copy of this\r
-    License.  (Exception: if the Program itself is interactive but\r
-    does not normally print such an announcement, your work based on\r
-    the Program is not required to print an announcement.)\r
-\r
-These requirements apply to the modified work as a whole.  If\r
-identifiable sections of that work are not derived from the Program,\r
-and can be reasonably considered independent and separate works in\r
-themselves, then this License, and its terms, do not apply to those\r
-sections when you distribute them as separate works.  But when you\r
-distribute the same sections as part of a whole which is a work based\r
-on the Program, the distribution of the whole must be on the terms of\r
-this License, whose permissions for other licensees extend to the\r
-entire whole, and thus to each and every part regardless of who wrote it.\r
-\r
-Thus, it is not the intent of this section to claim rights or contest\r
-your rights to work written entirely by you; rather, the intent is to\r
-exercise the right to control the distribution of derivative or\r
-collective works based on the Program.\r
-\r
-In addition, mere aggregation of another work not based on the Program\r
-with the Program (or with a work based on the Program) on a volume of\r
-a storage or distribution medium does not bring the other work under\r
-the scope of this License.\r
-\r
-  3. You may copy and distribute the Program (or a work based on it,\r
-under Section 2) in object code or executable form under the terms of\r
-Sections 1 and 2 above provided that you also do one of the following:\r
-\r
-    a) Accompany it with the complete corresponding machine-readable\r
-    source code, which must be distributed under the terms of Sections\r
-    1 and 2 above on a medium customarily used for software interchange; or,\r
-\r
-    b) Accompany it with a written offer, valid for at least three\r
-    years, to give any third party, for a charge no more than your\r
-    cost of physically performing source distribution, a complete\r
-    machine-readable copy of the corresponding source code, to be\r
-    distributed under the terms of Sections 1 and 2 above on a medium\r
-    customarily used for software interchange; or,\r
-\r
-    c) Accompany it with the information you received as to the offer\r
-    to distribute corresponding source code.  (This alternative is\r
-    allowed only for noncommercial distribution and only if you\r
-    received the program in object code or executable form with such\r
-    an offer, in accord with Subsection b above.)\r
-\r
-The source code for a work means the preferred form of the work for\r
-making modifications to it.  For an executable work, complete source\r
-code means all the source code for all modules it contains, plus any\r
-associated interface definition files, plus the scripts used to\r
-control compilation and installation of the executable.  However, as a\r
-special exception, the source code distributed need not include\r
-anything that is normally distributed (in either source or binary\r
-form) with the major components (compiler, kernel, and so on) of the\r
-operating system on which the executable runs, unless that component\r
-itself accompanies the executable.\r
-\r
-If distribution of executable or object code is made by offering\r
-access to copy from a designated place, then offering equivalent\r
-access to copy the source code from the same place counts as\r
-distribution of the source code, even though third parties are not\r
-compelled to copy the source along with the object code.\r
-\r
-  4. You may not copy, modify, sublicense, or distribute the Program\r
-except as expressly provided under this License.  Any attempt\r
-otherwise to copy, modify, sublicense or distribute the Program is\r
-void, and will automatically terminate your rights under this License.\r
-However, parties who have received copies, or rights, from you under\r
-this License will not have their licenses terminated so long as such\r
-parties remain in full compliance.\r
-\r
-  5. You are not required to accept this License, since you have not\r
-signed it.  However, nothing else grants you permission to modify or\r
-distribute the Program or its derivative works.  These actions are\r
-prohibited by law if you do not accept this License.  Therefore, by\r
-modifying or distributing the Program (or any work based on the\r
-Program), you indicate your acceptance of this License to do so, and\r
-all its terms and conditions for copying, distributing or modifying\r
-the Program or works based on it.\r
-\r
-  6. Each time you redistribute the Program (or any work based on the\r
-Program), the recipient automatically receives a license from the\r
-original licensor to copy, distribute or modify the Program subject to\r
-these terms and conditions.  You may not impose any further\r
-restrictions on the recipients' exercise of the rights granted herein.\r
-You are not responsible for enforcing compliance by third parties to\r
-this License.\r
-\r
-  7. If, as a consequence of a court judgment or allegation of patent\r
-infringement or for any other reason (not limited to patent issues),\r
-conditions are imposed on you (whether by court order, agreement or\r
-otherwise) that contradict the conditions of this License, they do not\r
-excuse you from the conditions of this License.  If you cannot\r
-distribute so as to satisfy simultaneously your obligations under this\r
-License and any other pertinent obligations, then as a consequence you\r
-may not distribute the Program at all.  For example, if a patent\r
-license would not permit royalty-free redistribution of the Program by\r
-all those who receive copies directly or indirectly through you, then\r
-the only way you could satisfy both it and this License would be to\r
-refrain entirely from distribution of the Program.\r
-\r
-If any portion of this section is held invalid or unenforceable under\r
-any particular circumstance, the balance of the section is intended to\r
-apply and the section as a whole is intended to apply in other\r
-circumstances.\r
-\r
-It is not the purpose of this section to induce you to infringe any\r
-patents or other property right claims or to contest validity of any\r
-such claims; this section has the sole purpose of protecting the\r
-integrity of the free software distribution system, which is\r
-implemented by public license practices.  Many people have made\r
-generous contributions to the wide range of software distributed\r
-through that system in reliance on consistent application of that\r
-system; it is up to the author/donor to decide if he or she is willing\r
-to distribute software through any other system and a licensee cannot\r
-impose that choice.\r
-\r
-This section is intended to make thoroughly clear what is believed to\r
-be a consequence of the rest of this License.\r
-\r
-  8. If the distribution and/or use of the Program is restricted in\r
-certain countries either by patents or by copyrighted interfaces, the\r
-original copyright holder who places the Program under this License\r
-may add an explicit geographical distribution limitation excluding\r
-those countries, so that distribution is permitted only in or among\r
-countries not thus excluded.  In such case, this License incorporates\r
-the limitation as if written in the body of this License.\r
-\r
-  9. The Free Software Foundation may publish revised and/or new versions\r
-of the General Public License from time to time.  Such new versions will\r
-be similar in spirit to the present version, but may differ in detail to\r
-address new problems or concerns.\r
-\r
-Each version is given a distinguishing version number.  If the Program\r
-specifies a version number of this License which applies to it and "any\r
-later version", you have the option of following the terms and conditions\r
-either of that version or of any later version published by the Free\r
-Software Foundation.  If the Program does not specify a version number of\r
-this License, you may choose any version ever published by the Free Software\r
-Foundation.\r
-\r
-  10. If you wish to incorporate parts of the Program into other free\r
-programs whose distribution conditions are different, write to the author\r
-to ask for permission.  For software which is copyrighted by the Free\r
-Software Foundation, write to the Free Software Foundation; we sometimes\r
-make exceptions for this.  Our decision will be guided by the two goals\r
-of preserving the free status of all derivatives of our free software and\r
-of promoting the sharing and reuse of software generally.\r
-\r
-                           NO WARRANTY\r
-\r
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\r
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\r
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\r
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\r
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\r
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\r
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\r
-REPAIR OR CORRECTION.\r
-\r
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\r
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\r
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\r
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\r
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\r
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\r
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\r
-POSSIBILITY OF SUCH DAMAGES.\r
-\r
-                    END OF TERMS AND CONDITIONS\r
-\r
-           How to Apply These Terms to Your New Programs\r
-\r
-  If you develop a new program, and you want it to be of the greatest\r
-possible use to the public, the best way to achieve this is to make it\r
-free software which everyone can redistribute and change under these terms.\r
-\r
-  To do so, attach the following notices to the program.  It is safest\r
-to attach them to the start of each source file to most effectively\r
-convey the exclusion of warranty; and each file should have at least\r
-the "copyright" line and a pointer to where the full notice is found.\r
-\r
-    <one line to give the program's name and a brief idea of what it does.>\r
-    Copyright (C) <year>  <name of author>\r
-\r
-    This program is free software; you can redistribute it and/or modify\r
-    it under the terms of the GNU General Public License as published by\r
-    the Free Software Foundation; either version 2 of the License, or\r
-    (at your option) any later version.\r
-\r
-    This program is distributed in the hope that it will be useful,\r
-    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-    GNU General Public License for more details.\r
-\r
-    You should have received a copy of the GNU General Public License\r
-    along with this program; if not, write to the Free Software\r
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-\r
-\r
-Also add information on how to contact you by electronic and paper mail.\r
-\r
-If the program is interactive, make it output a short notice like this\r
-when it starts in an interactive mode:\r
-\r
-    Gnomovision version 69, Copyright (C) year name of author\r
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r
-    This is free software, and you are welcome to redistribute it\r
-    under certain conditions; type `show c' for details.\r
-\r
-The hypothetical commands `show w' and `show c' should show the appropriate\r
-parts of the General Public License.  Of course, the commands you use may\r
-be called something other than `show w' and `show c'; they could even be\r
-mouse-clicks or menu items--whatever suits your program.\r
-\r
-You should also get your employer (if you work as a programmer) or your\r
-school, if any, to sign a "copyright disclaimer" for the program, if\r
-necessary.  Here is a sample; alter the names:\r
-\r
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\r
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.\r
-\r
-  <signature of Ty Coon>, 1 April 1989\r
-  Ty Coon, President of Vice\r
-\r
-This General Public License does not permit incorporating your program into\r
-proprietary programs.  If your program is a subroutine library, you may\r
-consider it more useful to permit linking proprietary applications with the\r
-library.  If this is what you want to do, use the GNU Library General\r
-Public License instead of this License.\r
diff --git a/euc/media/readme.txt b/euc/media/readme.txt
deleted file mode 100755 (executable)
index 3cd7c76..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-Nucleus Media Directory\r
------------------------\r
-\r
-Uploaded images will end up in the media directory.\r
-\r
-Subdirectories work as follows:\r
-\r
-* numeric (e.g. /media/1/)\r
-\r
-Media files for a certain member (directory name is the memberid)\r
-\r
-* other directories (e.g. /media/common/)\r
-\r
-Global media collections that can be used by any member that is on a team. In order to create a new collection, simply create a new directory and assure write access is enabled for it.\r
-\r
diff --git a/euc/nucleus/bookmarklet.php b/euc/nucleus/bookmarklet.php
deleted file mode 100755 (executable)
index f0eef98..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This script allows adding items to Nucleus through bookmarklets. The member must be logged in
- * in order to use this.
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: bookmarklet.php,v 1.4 2007-03-27 12:13:47 kimitake Exp $
- * $NucleusJP: bookmarklet.php,v 1.9 2007/02/04 06:28:45 kimitake Exp $
- */
-
-// bookmarklet is part of admin area (might need XML-RPC)
-$CONF = array();
-$CONF['UsingAdminArea'] = 1;
-
-// include all classes and config data
-include('../config.php');
-
-$action = requestVar('action');
-
-if ($action == 'contextmenucode') {
-       bm_doContextMenuCode();
-       exit;
-}
-
-if (!$member->isLoggedIn() ) {
-       bm_loginAndPassThrough();
-       exit;
-}
-
-// on successfull login
-if ( ($action == 'login') && ($member->isLoggedIn() ) ) {
-       $action = requestVar('nextaction');
-}
-
-if ($action == '') {
-       $action = 'add';
-}
-
-sendContentType('application/xhtml+xml', 'bookmarklet-' . $action);
-
-// check ticket
-$action = strtolower($action);
-$aActionsNotToCheck = array('login', 'add', 'edit');
-
-if (!in_array($action, $aActionsNotToCheck) ) {
-
-       if (!$manager->checkTicket() ) {
-               bm_doError(_ERROR_BADTICKET);
-       }
-
-}
-
-// find out what to do
-switch ($action) {
-       // adds the item for real
-       case 'additem':
-               bm_doAddItem();
-               break;
-
-       // shows the edit item form
-       case 'edit':
-               bm_doEditForm();
-               break;
-
-       // edits the item for real
-       case 'edititem':
-               bm_doEditItem();
-               break;
-
-       // on login, 'action' gets changed to 'nextaction'
-       case 'login':
-               bm_doError('Something went wrong');
-               break;
-
-       // shows the fill in form
-       case 'add':
-       default:
-               bm_doShowForm();
-               break;
-}
-
-function bm_doAddItem() {
-       global $member, $manager, $CONF;
-
-       $manager->loadClass('ITEM');
-       $result = ITEM::createFromRequest();
-
-       if ($result['status'] == 'error') {
-               bm_doError($result['message']);
-       }
-
-       $blogid = getBlogIDFromItemID($result['itemid']);
-       $blog =& $manager->getBlog($blogid);
-
-       if ($result['status'] == 'newcategory') {
-               $message = '¥¢¥¤¥Æ¥à¤ÏÄɲ䵤졢¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£ <a href="index.php?action=categoryedit&amp;blogid='.$blogid.'&amp;catid='.$result['catid'].'" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;" title="Opens in new window">¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¥«¥Æ¥´¥ê¡¼¤Î̾Á°¤ÈÀâÌÀ¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£</a>';
-               $extrahead = '';
-       } elseif ((postVar('actiontype') == 'addnow') && $blog->pingUserland()) {
-               $message = '¥¢¥¤¥Æ¥à¤ÎÄɲäËÀ®¸ù¤·¤Þ¤·¤¿¡£¸½ºßweblogs.com¤Ëping¤òÁ÷¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤Ð¤é¤¯¤Î´Ö¤ªÂÔ¤Á¤¯¤À¤µ¤¤...';
-               $pingUrl = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=sendping&blogid=' . intval($blogid));
-               $extrahead = '<meta http-equiv="refresh" content="1; url=' . htmlspecialchars($pingUrl). '" />';
-       } else {
-               $message = _ITEM_ADDED;
-               $extrahead = '';
-       }
-
-       bm_message(_ITEM_ADDED, _ITEM_ADDED, $message,$extrahead);
-}
-
-function bm_doEditItem() {
-       global $member, $manager, $CONF;
-
-       $itemid = intRequestVar('itemid');
-       $catid = postVar('catid');
-
-       // only allow if user is allowed to alter item
-       if (!$member->canUpdateItem($itemid, $catid) ) {
-               bm_doError(_ERROR_DISALLOWED);
-       }
-
-       $body = postVar('body');
-       $title = postVar('title');
-       $more = postVar('more');
-       $closed = intPostVar('closed');
-       $actiontype = postVar('actiontype');
-       $draftid = intPostVar('draftid');
-
-       // redirect to admin area on delete (has delete confirmation)
-       if ($actiontype == 'delete') {
-               redirect('index.php?action=itemdelete&itemid=' . $itemid);
-               exit;
-       }
-
-       // create new category if needed (only on edit/changedate)
-       if (strstr($catid,'newcat') ) {
-               // get blogid
-               list($blogid) = sscanf($catid, "newcat-%d");
-
-               // create
-               $blog =& $manager->getBlog($blogid);
-               $catid = $blog->createNewCategory();
-
-               // show error when sth goes wrong
-               if (!$catid) {
-                       bm_doError('Could not create new category');
-               }
-       }
-
-       // only edit action is allowed for bookmarklet edit
-       switch ($actiontype) {
-               case 'changedate':
-                       $publish = 1;
-                       $wasdraft = 0;
-                       $timestamp = mktime(postVar('hour'), postVar('minutes'), 0, postVar('month'), postVar('day'), postVar('year') );
-                       break;
-               case 'edit':
-                       $publish = 1;
-                       $wasdraft = 0;
-                       $timestamp = 0;
-                       break;
-               default:
-                       bm_doError('Something went wrong');
-       }
-
-       // update item for real
-       ITEM::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, $timestamp);
-
-       if ($draftid > 0) {
-               ITEM::delete($draftid);
-       }
-
-       // show success message
-       if ($catid != intPostVar('catid') ) {
-               bm_message(_ITEM_UPDATED, _ITEM_UPDATED, '¥¢¥¤¥Æ¥à¤ÏÄɲ䵤졢¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£<a href="index.php?action=categoryedit&amp;blogid='.$blog->getID().'&amp;catid='.$catid.'" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;" title="Opens in new window">¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¥«¥Æ¥´¥ê¡¼¤Î̾Á°¤ÈÀâÌÀ¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£</a>', '');
-       } else {
-               bm_message(_ITEM_UPDATED, _ITEM_UPDATED, _ITEM_UPDATED, '');
-       }
-}
-
-function bm_loginAndPassThrough() {
-
-       $blogid = intRequestVar('blogid');
-       $log_text = requestVar('logtext');
-       $log_link = requestVar('loglink');
-       $log_linktitle = requestVar('loglinktitle');
-
-       ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <meta http-equiv="Content-Type" content="text/html; charset=<?php echo _CHARSET ?>" />
-               <title>Nucleus</title>
-               <?php bm_style(); ?>
-       </head>
-       <body>
-       <h1><?php echo _LOGIN_PLEASE ?></h1>
-
-       <form method="post" action="bookmarklet.php">
-       <p>
-               <input name="action" value="login" type="hidden" />
-               <input name="blogid" value="<?php echo htmlspecialchars($blogid); ?>" type="hidden" />
-               <input name="logtext" value="<?php echo htmlspecialchars($log_text); ?>" type="hidden" />
-               <input name="loglink" value="<?php echo htmlspecialchars($log_link); ?>" type="hidden" />
-               <input name="loglinktitle" value="<?php echo htmlspecialchars($log_linktitle); ?>" type="hidden" />
-               <?php echo _LOGINFORM_NAME ?>:
-               <br /><input name="login" />
-               <br /><?php echo _LOGINFORM_PWD ?>:
-               <br /><input name="password" type="password" />
-               <br /><br />
-               <br /><input type="submit" value="<?php echo _LOGIN ?>" />
-       </p>
-       </form>
-       <p><a href="bookmarklet.php" onclick="window.close();"><?php echo _POPUP_CLOSE ?></a></p>
-       </body>
-       </html>
-       <?php
-}
-
-function bm_doShowForm() {
-       global $member;
-
-       $blogid = intRequestVar('blogid');
-       $log_text = trim(requestVar('logtext'));
-       $log_link = requestVar('loglink');
-       $log_linktitle = requestVar('loglinktitle');
-
-       $log_text = uniDecode($log_text,_CHARSET);
-       $log_linktitle = uniDecode($log_linktitle,_CHARSET);
-       
-       if (!BLOG::existsID($blogid))
-               bm_doError(_ERROR_NOSUCHBLOG);
-
-       if (!$member->isTeamMember($blogid) ) {
-               bm_doError(_ERROR_NOTONTEAM);
-       }
-
-       $logje = '';
-
-       if ($log_text) {
-               $logje .= '<blockquote><div>"' . htmlspecialchars($log_text) . '"</div></blockquote>' . "\n";
-       }
-
-       if (!$log_linktitle) {
-               $log_linktitle = $log_link;
-       }
-
-       if ($log_link) {
-               $logje .= '<a href="' . htmlspecialchars($log_link) . '">' . htmlspecialchars($log_linktitle) . '</a>';
-       }
-
-       $item['body'] = $logje;
-       $item['title'] = htmlspecialchars($log_linktitle);
-
-       $factory = new PAGEFACTORY($blogid);
-       $factory->createAddForm('bookmarklet', $item);
-}
-
-function bm_doEditForm() {
-       global $member, $manager;
-
-       $itemid = intRequestVar('itemid');
-
-       if (!$manager->existsItem($itemid, 0, 0) ) {
-               bm_doError(_ERROR_NOSUCHITEM);
-       }
-
-       if (!$member->canAlterItem($itemid) ) {
-               bm_doError(_ERROR_DISALLOWED);
-       }
-
-       $item =& $manager->getItem($itemid, 1, 1);
-       $blog =& $manager->getBlog(getBlogIDFromItemID($itemid) );
-
-       $manager->notify('PrepareItemForEdit', array('item' => &$item) );
-
-       if ($blog->convertBreaks() ) {
-               $item['body'] = removeBreaks($item['body']);
-               $item['more'] = removeBreaks($item['more']);
-       }
-
-       $formfactory = new PAGEFACTORY($blog->getID() );
-       $formfactory->createEditForm('bookmarklet', $item);
-}
-
-function bm_doError($msg) {
-       bm_message(_ERROR, _ERRORMSG, $msg);
-       die;
-}
-
-function bm_message($title, $head, $msg, $extrahead = '') {
-       ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <meta http-equiv="Content-Type" content="text/html; charset=<?php echo _CHARSET ?>" />
-               <title><?php echo  $title ?></title>
-               <?php bm_style(); ?>
-               <?php echo $extrahead; ?>
-       </head>
-       <body>
-       <h1><?php echo $head; ?></h1>
-       <p><?php echo $msg; ?></p>
-       <p><a href="bookmarklet.php" onclick="window.close();"><?php echo _POPUP_CLOSE ?></a></p>
-       </body>
-       </html>
-
-       <?php
-}
-
-function bm_style() {
-       echo '<link rel="stylesheet" type="text/css" href="styles/bookmarklet.css" />';
-       echo '<link rel="stylesheet" type="text/css" href="styles/addedit.css" />';
-}
-
-function bm_doContextMenuCode() {
-       global $CONF;
-       ?>
-<script type="text/javascript" defer="defer">
-doc = external.menuArguments.document;
-lt = escape(doc.selection.createRange().text);
-loglink = escape(external.menuArguments.location.href);
-loglinktitle = escape(doc.title);
-wingm = window.open('<?php echo $CONF['AdminURL']?>bookmarklet.php?blogid=<?php echo intGetVar('blogid')?>&logtext=' + lt + '&loglink=' + loglink + '&loglinktitle=' + loglinktitle, 'nucleusbm', 'scrollbars=yes,width=600,height=500,left=10,top=10,status=yes,resizable=yes');
-wingm.focus();
-</script>
-       <?php
-}
-
-function uniDecode($str,$charcode){
-  $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",toUtf8,$str);
-  return mb_convert_encoding($text, $charcode, 'UTF-8');
-}
-function toUtf8($ar){
-  foreach($ar as $val){
-    $val = intval(substr($val,2),16);
-    if($val < 0x7F){        // 0000-007F
-        $c .= chr($val);
-    }elseif($val < 0x800) { // 0080-0800
-        $c .= chr(0xC0 | ($val / 64));
-        $c .= chr(0x80 | ($val % 64));
-    }else{                // 0800-FFFF
-        $c .= chr(0xE0 | (($val / 64) / 64));
-        $c .= chr(0x80 | (($val / 64) % 64));
-        $c .= chr(0x80 | ($val % 64));
-    }
-  }
-  return $c;
-}
-
-?>
diff --git a/euc/nucleus/forgotpassword.html b/euc/nucleus/forgotpassword.html
deleted file mode 100755 (executable)
index a3b3076..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <!-- $Id: forgotpassword.html,v 1.7 2007-03-27 12:13:47 kimitake Exp $ -->
-       <!-- $NucleusJP: forgotpassword.html,v 1.6 2005/03/16 08:04:14 kimitake Exp $ -->
-       <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
-       <title>Nucleus - ¥Ñ¥¹¥ï¡¼¥É¤Îʶ¼º</title>
-       <style type="text/css">
-       <!--
-               @import url(styles/admin.css);
-       -->
-       </style>
-</head>
-<body>
-               <div class="header">
-               <h1>Nucleus CMS</h1>
-               </div>
-               <div id="content">
-
-                       <h2>¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤Þ¤·¤¿¤«¡©</h2>
-
-                       <p>
-                       °Ê²¼¤Ë¥æ¡¼¥¶¡¼Ì¾¤È¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÁªÂò¤¹¤ë¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ÎÆþ¤Ã¤¿¥á¡¼¥ë¤¬Á÷¿®¤µ¤ì¤Þ¤¹¡£
-                       </p>
-
-                       <form method="post" action="../action.php"><p>
-                               <input name="action" value="forgotpassword" type="hidden" />
-                               ¥æ¡¼¥¶¡¼Ì¾¡§
-                               <br />
-                               <input name="name" />
-                               <br />
-                               ¥á¡¼¥ë¥¢¥É¥ì¥¹¡§
-                               <br />
-                               <input name="email" />
-                               <br />
-                               <br />
-                               <input type="submit" value="¥Ñ¥¹¥ï¡¼¥É¥á¡¼¥ë¤ÎÁ÷¿®" class="transparent" />
-                       </p></form>
-
-                       <p>
-                       ¤â¤·¥æ¡¼¥¶¡¼Ì¾¤ò¤ªËº¤ì¤Ê¤é¡¢¤¢¤Ê¤¿¤ÎNucleus¥µ¥¤¥È´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
-                       </p>
-
-
-                       <div class="foot">
-                               <a href="http://nucleuscms.org/">Nucleus &copy; 2001-2007 The Nucleus Group</a>
-                       </div>
-
-               </div><!-- content -->
-
-</body>
-</html>
diff --git a/euc/nucleus/forms/additemform.template b/euc/nucleus/forms/additemform.template
deleted file mode 100755 (executable)
index 47d65f4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<script type="text/javascript">setMediaPopupURL('<%formdata(adminurl)%>');</script>
-
-<form method="post" action="<%formdata(adminurl)%>index.php">
- <div class="blogform">
-   <%ticket%>
-   <input type="hidden" name="action" value="additem" />
-   <input type="hidden" name="actiontype" value="addnow" />               
-   <input type="hidden" name="closed" value="0" />                
-   <input type="hidden" name="catid" value="<%formdata(catid)%>" />
-   <input type="submit" name="submit" value="<%text(_ADD_ADDITEM)%>" class="formbutton" />
-   <br />
-   <input type="text" 
-       name="title" 
-       id="inputtitle" 
-       onkeyup="storeCaret(this); updPreview('title');"
-       onclick="storeCaret(this);"
-       onselect="storeCaret(this);" 
-       onkeypress="shortCuts();"                          
-       class="formfield" size="45" value="" />
-   <br />
-   <textarea name="body" id="inputbody" class="formfield" cols="45" rows="12" 
-       onkeyup="storeCaret(this); updPreview('body');"
-       onclick="storeCaret(this);"
-       onselect="storeCaret(this);" 
-       onkeypress="shortCuts();"       ></textarea>
-   <br />
-   <span class="shortcuts">[ctrl+shift+A]&nbsp;=&nbsp;Link, [ctrl+shift+B]&nbsp;=&nbsp;Bold, [ctrl+shift+I]&nbsp;=&nbsp;Italic, [ctrl+shift+M]&nbsp;=&nbsp;Insert&nbsp;Media.</span>
-   <%callback(FormExtra,additemform)%> 
- </div>
-</form>
diff --git a/euc/nucleus/forms/commentform-closed.template b/euc/nucleus/forms/commentform-closed.template
deleted file mode 100755 (executable)
index 503600c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<div class="commentform"><%text(_ERROR_ITEMCLOSED)%></div>\r
diff --git a/euc/nucleus/forms/commentform-loggedin.template b/euc/nucleus/forms/commentform-loggedin.template
deleted file mode 100755 (executable)
index 7a25110..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<a id="nucleus_cf"></a>
-<form method="post" action="#nucleus_cf">
-       <div class="commentform">
-<input type="hidden" name="action" value="addcomment" />
-<input type="hidden" name="url" value="<%formdata(destinationurl)%>" />
-<input type="hidden" name="itemid" value="<%itemid%>" />
-               <%errordiv%>
-               <label for="nucleus_cf_body"><%text(_COMMENTFORM_COMMENT)%></label>
-               <textarea name="body" class="formfield" cols="40" rows="10" id="nucleus_cf_body"><%formdata(body)%></textarea>
-
-               <%text(_COMMENTFORM_YOUARE)%> <%formdata(membername)%>
-               <small>(<a href="<%self%>?action=logout" title="<%text(_LOGOUT)%>"><%text(_LOGOUT)%></a>)</small>
-
-               <input type="submit" alt="<%text(_COMMENTFORM_SUBMIT)%>" value="<%text(_COMMENTFORM_SUBMIT)%>" class="formbutton" />
-
-               <%callback(FormExtra,commentform-loggedin)%>
-       </div>
-</form>
diff --git a/euc/nucleus/forms/commentform-notloggedin.template b/euc/nucleus/forms/commentform-notloggedin.template
deleted file mode 100755 (executable)
index 822d9a0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<a id="nucleus_cf"></a>
-<form method="post" action="#nucleus_cf">
-       <div class="commentform">
-<input type="hidden" name="action" value="addcomment" />
-<input type="hidden" name="url" value="<%formdata(destinationurl)%>" />
-<input type="hidden" name="itemid" value="<%itemid%>" />
-               <%errordiv%>
-
-               <label for="nucleus_cf_body"><%text(_COMMENTFORM_COMMENT)%></label>
-               <textarea name="body" class="formfield" cols="40" rows="10" id="nucleus_cf_body"><%formdata(body)%></textarea>
-
-               <label for="nucleus_cf_name"><%text(_COMMENTFORM_NAME)%></label>
-               <input name="user" size="40" maxlength="40" value="<%formdata(user)%>" class="formfield" id="nucleus_cf_name" />
-
-               <label for="nucleus_cf_mail"><%text(_COMMENTFORM_MAIL)%></label>
-               <input name="userid" size="40" maxlength="60" value="<%formdata(userid)%>" class="formfield" id="nucleus_cf_mail" />
-
-               <label for="nucleus_cf_email"><%text(_COMMENTFORM_EMAIL)%></label>
-               <input name="email" size="40" maxlength="100" value="<%formdata(email)%>" class="formfield" id="nucleus_cf_email" />
-
-               <%callback(FormExtra,commentform-notloggedin)%>
-
-               <input type="checkbox" value="1" name="remember" id="nucleus_cf_remember" <%formdata(rememberchecked)%> />
-               <label for="nucleus_cf_remember"><%text(_COMMENTFORM_REMEMBER)%></label>
-
-               <input type="submit" alt="<%text(_COMMENTFORM_SUBMIT)%>" value="<%text(_COMMENTFORM_SUBMIT)%>" class="formbutton" />
-       </div>
-</form>
diff --git a/euc/nucleus/forms/loginform-loggedin.template b/euc/nucleus/forms/loginform-loggedin.template
deleted file mode 100755 (executable)
index dae2336..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<a id="nucleus_lf"></a>
-<div class="loginform">
-       <%text(_LOGINFORM_YOUARE)%> <%formdata(membername)%> ! (<a href="<%self%>?action=logout" title="<%text(_LOGOUT)%>"><%text(_LOGOUT)%></a>)
-</div>
diff --git a/euc/nucleus/forms/loginform-notloggedin.template b/euc/nucleus/forms/loginform-notloggedin.template
deleted file mode 100755 (executable)
index 70e91d5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<a id="nucleus_lf"></a>
-<form method="post" action="#nucleus_lf">
-       <div class="loginform">
-<input type="hidden" name="action" value="login" />
-               <%errordiv%>
-
-               <label for="nucleus_lf_name" accesskey="l"><%text(_LOGINFORM_NAME)%></label>
-               <input id="nucleus_lf_name" name="login" size="10" value="" class="formfield" />
-
-               <label for="nucleus_lf_pwd"><%text(_LOGINFORM_PWD)%></label>
-               <input id="nucleus_lf_pwd" name="password" size="10" type="password" value="" class="formfield" />
-
-               <input type="checkbox" value="1" name="shared" id="nucleus_lf_shared" />
-               <label for="nucleus_lf_shared"><%text(_LOGINFORM_SHARED)%></label>
-
-               <input type="submit" alt="<%text(_LOGIN)%>" value="<%text(_LOGIN)%>" class="formbutton" />
-       </div>
-</form>
diff --git a/euc/nucleus/forms/membermailform-disallowed.template b/euc/nucleus/forms/membermailform-disallowed.template
deleted file mode 100755 (executable)
index 01e37b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<div class="mailform"><%text(_ERROR_LOGINNEEDED)%></div>
\ No newline at end of file
diff --git a/euc/nucleus/forms/membermailform-loggedin.template b/euc/nucleus/forms/membermailform-loggedin.template
deleted file mode 100755 (executable)
index 9f6271c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<a id="nucleus_mf"></a>
-<form method="post" action="#nucleus_mf">
-       <div class="mailform">
-<input type="hidden" name="memberid" value="<%formdata(memberid)%>" />
-<input type="hidden" name="action" value="sendmessage" />
-<input type="hidden" name="url" value="<%formdata(url)%>" />
-               <%errordiv%>
-
-               <textarea alt="<%text(_MMAIL_MAIL)%>" name="message" class="formfield" rows="<%formdata(rows)%>" cols="<%formdata(cols)%>"><%formdata(message)%></textarea>
-
-               <%callback(FormExtra,membermailform-loggedin)%>
-
-               <input type="submit" alt="<%text(_MEMBERMAIL_SUBMIT)%>" value="<%text(_MEMBERMAIL_SUBMIT)%>" class="formbutton" />
-       </div>
-</form>
diff --git a/euc/nucleus/forms/membermailform-notloggedin.template b/euc/nucleus/forms/membermailform-notloggedin.template
deleted file mode 100755 (executable)
index e499086..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<a id="nucleus_mf"></a>
-<form method="post" action="#nucleus_mf">
-       <div class="mailform">
-<input type="hidden" name="memberid" value="<%formdata(memberid)%>" />
-<input type="hidden" name="action" value="sendmessage" />
-<input type="hidden" name="url" value="<%formdata(url)%>" />
-               <%errordiv%>
-
-               <textarea alt="<%text(_MMAIL_MAIL)%>" name="message" class="formfield" rows="<%formdata(rows)%>" cols="<%formdata(cols)%>"><%formdata(message)%></textarea>
-
-               <label for="nucleus_mmf_frommail"><%text(_MEMBERMAIL_MAIL)%></label>
-               <input id="nucleus_mmf_frommail" type="text" name="frommail" class="formfield" value="<%formdata(frommail)%>" />
-
-               <%callback(FormExtra,membermailform-notloggedin)%>
-
-               <input type="submit" alt="<%text(_MEMBERMAIL_SUBMIT)%>" value="<%text(_MEMBERMAIL_SUBMIT)%>" class="formbutton" />
-       </div>
-</form>
diff --git a/euc/nucleus/forms/nucleusbutton.template b/euc/nucleus/forms/nucleusbutton.template
deleted file mode 100755 (executable)
index 64f545f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="nucleusbutton">
-       <a href="http://nucleuscms.org/"><img src="<%formdata(imgurl)%>" width="<%formdata(imgwidth)%>" height="<%formdata(imgheight)%>" alt="Powered by Nucleus CMS" title="Powered by Nucleus CMS" /></a>
-</div>
diff --git a/euc/nucleus/forms/searchform.template b/euc/nucleus/forms/searchform.template
deleted file mode 100755 (executable)
index 0122457..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<form method="get" action="<%self%>">
-       <div class="searchform">
-<input type="hidden" name="amount" value="0" />
-<input type="hidden" name="blogid" value="<%formdata(id)%>" />
-               <input name="query" alt="<%text(_SEARCHFORM_QUERY)%>" class="formfield" size="10" maxlength="60" accesskey="4" value="<%formdata(query)%>" />
-               <input type="submit" alt="<%text(_SEARCHFORM_SUBMIT)%>" value="<%text(_SEARCHFORM_SUBMIT)%>" class="formbutton" />
-       </div>
-</form>
diff --git a/euc/nucleus/images/button-aligncenter.gif b/euc/nucleus/images/button-aligncenter.gif
deleted file mode 100755 (executable)
index 2ce38e7..0000000
Binary files a/euc/nucleus/images/button-aligncenter.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-alignleft.gif b/euc/nucleus/images/button-alignleft.gif
deleted file mode 100755 (executable)
index 53522cb..0000000
Binary files a/euc/nucleus/images/button-alignleft.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-alignright.gif b/euc/nucleus/images/button-alignright.gif
deleted file mode 100755 (executable)
index a27a944..0000000
Binary files a/euc/nucleus/images/button-alignright.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-bold.gif b/euc/nucleus/images/button-bold.gif
deleted file mode 100755 (executable)
index 207c859..0000000
Binary files a/euc/nucleus/images/button-bold.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-copy.gif b/euc/nucleus/images/button-copy.gif
deleted file mode 100755 (executable)
index 4cb12cf..0000000
Binary files a/euc/nucleus/images/button-copy.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-cut.gif b/euc/nucleus/images/button-cut.gif
deleted file mode 100755 (executable)
index d00c0e6..0000000
Binary files a/euc/nucleus/images/button-cut.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-italic.gif b/euc/nucleus/images/button-italic.gif
deleted file mode 100755 (executable)
index bcef033..0000000
Binary files a/euc/nucleus/images/button-italic.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-left.gif b/euc/nucleus/images/button-left.gif
deleted file mode 100755 (executable)
index 9158414..0000000
Binary files a/euc/nucleus/images/button-left.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-link.gif b/euc/nucleus/images/button-link.gif
deleted file mode 100755 (executable)
index c1a41e2..0000000
Binary files a/euc/nucleus/images/button-link.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-media.gif b/euc/nucleus/images/button-media.gif
deleted file mode 100755 (executable)
index ce65641..0000000
Binary files a/euc/nucleus/images/button-media.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-paste.gif b/euc/nucleus/images/button-paste.gif
deleted file mode 100755 (executable)
index ef0d0eb..0000000
Binary files a/euc/nucleus/images/button-paste.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-preview.gif b/euc/nucleus/images/button-preview.gif
deleted file mode 100755 (executable)
index 71d2d92..0000000
Binary files a/euc/nucleus/images/button-preview.gif and /dev/null differ
diff --git a/euc/nucleus/images/button-right.gif b/euc/nucleus/images/button-right.gif
deleted file mode 100755 (executable)
index 124772b..0000000
Binary files a/euc/nucleus/images/button-right.gif and /dev/null differ
diff --git a/euc/nucleus/images/globe.gif b/euc/nucleus/images/globe.gif
deleted file mode 100755 (executable)
index 03f2a47..0000000
Binary files a/euc/nucleus/images/globe.gif and /dev/null differ
diff --git a/euc/nucleus/index.php b/euc/nucleus/index.php
deleted file mode 100755 (executable)
index ef66765..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: index.php,v 1.4 2007-03-27 12:13:47 kimitake Exp $
- * $NucleusJP: index.php,v 1.8 2007/02/04 06:28:45 kimitake Exp $
- */
-       // we are using admin stuff:
-       $CONF = array();
-       $CONF['UsingAdminArea'] = 1;
-
-       // include the admin code
-       include('../config.php');
-
-       if ($CONF['alertOnSecurityRisk'] == 1)
-       {
-               // check if files exist and generate an error if so
-               $aFiles = array(
-                       '../install.sql' => 'install.sql should be deleted',
-                       '../install.php' => 'install.php should be deleted',
-                       'upgrades' => 'nucleus/upgrades directory should be deleted',
-                       'convert' => 'nucleus/convert directory should be deleted'
-               );
-               $aFound = array();
-               foreach($aFiles as $fileName => $fileDesc)
-               {
-                       if (@file_exists($fileName))
-                               array_push($aFound, $fileDesc);
-               }
-               if (@is_writable('../config.php')) {
-                       array_push($aFound, 'config.php should be non-writable (chmod to 444)');
-               }
-               if (sizeof($aFound) > 0)
-               {
-                       startUpError(
-                               '<p>One or more of the Nucleus installation files are still present on the webserver, or are writable.</p><p>You should remove these files or change their permissions to ensure security. Here are the files that were found by Nucleus</p> <ul><li>'. implode($aFound, '</li><li>').'</li></ul><p>If you don\'t want to see this error message again, without solving the problem, set <code>$CONF[\'alertOnSecurityRisk\']</code> in <code>globalfunctions.php</code> to <code>0</code>, or do this at the end of <code>config.php</code>.</p>',
-                               'Security Risk'
-                       );
-               }
-       }
-
-       $bNeedsLogin = false;
-       $bIsActivation = in_array($action, array('activate', 'activatesetpwd'));
-
-       if ($action == 'logout')
-               $bNeedsLogin = true;
-
-       if (!$member->isLoggedIn() && !$bIsActivation)
-               $bNeedsLogin = true;
-
-       // show error if member cannot login to admin
-       if ($member->isLoggedIn() && !$member->canLogin() && !$bIsActivation) {
-               $error = _ERROR_LOGINDISALLOWED;
-               $bNeedsLogin = true;
-       }
-
-       if ($bNeedsLogin)
-       {
-               setOldAction($action);  // see ADMIN::login() (sets old action in POST vars)
-               $action = 'showlogin';
-       }
-
-       sendContentType('application/xhtml+xml', 'admin-' . $action);
-
-       $admin = new ADMIN();
-       $admin->action($action);
-?>
\ No newline at end of file
diff --git a/euc/nucleus/javascript/admin.js b/euc/nucleus/javascript/admin.js
deleted file mode 100755 (executable)
index df54fdf..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *  
-  * Some JavaScript code for the admin area
-  *
-  * $Id: admin.js,v 1.4 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: admin.js,v 1.5 2007/02/04 06:28:45 kimitake Exp $
-  */
-
-function help(url) {
-       popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
-       if (popup.focus) popup.focus();
-       if (popup.GetAttention) popup.GetAttention();
-       return false;
-}                              
-
-var oldCellColor = "#000";
-function focusRow(row) {
-       var cells = row.cells;
-       if (!cells) return;
-       oldCellColor = cells[0].style.backgroundColor;
-       for (var i=0;i<cells.length;i++) {
-               cells[i].style.backgroundColor='whitesmoke';
-       }
-}
-function blurRow(row) {
-       var cells = row.cells;
-       if (!cells) return;
-       for (var i=0;i<cells.length;i++) {
-               cells[i].style.backgroundColor=oldCellColor;
-       }
-}
-function batchSelectAll(what) {
-       var i = 0;
-       var el;
-       while (el = document.getElementById('batch' + i)) {
-               el.checked = what?'checked':'';
-               i++;
-       }
-       return false;                                   
-}
-function selectCanLogin(flag) {
-       if (flag) {
-               window.document.memberedit.canlogin[0].checked=true;
-
-               // don't disable canlogin[0], otherwise the value won't be passed.
-//             window.document.memberedit.canlogin[0].disabled=true;
-               window.document.memberedit.canlogin[1].disabled=true;
-       } else {
-               window.document.memberedit.canlogin[0].disabled=false;
-               window.document.memberedit.canlogin[1].disabled=false;
-       }
-}
diff --git a/euc/nucleus/javascript/bookmarklet.js b/euc/nucleus/javascript/bookmarklet.js
deleted file mode 100755 (executable)
index e1e1e9b..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *  
-  * Some JavaScript code for the bookmarklets
-  *
-  * $Id: bookmarklet.js,v 1.4 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: bookmarklet.js,v 1.5 2007/02/04 06:28:45 kimitake Exp $
-  */
-
-/**
- * On browsers that have DOM support, the non-visible tabs of the bookmarklet are 
- * initially hidden. This is not defined in the CSS stylesheet since this causes 
- * problems with Opera (which does not seem to be sending form data for input
- * fields which are in a hidden block)
- */
-function initStyles() {
-       hideBlock('more');
-       hideBlock('options');
-       hideBlock('preview');
-       
-       // in browsers that do not support DOM (like opera), the buttons used
-       // to switch tabs are useless and can be hidden
-       document.getElementById('switchbuttons').style.display = 'inline';
-}
-
-/**
- * To be called with id='body','more','options' or 'preview'
- * Hides all other tabs and makes the chosen one visible
- */
-function flipBlock(id) {
-
-       showBlock(id);
-       
-       if (id != 'body')
-               hideBlock('body');
-       if (id != 'more')
-               hideBlock('more');
-       if (id != 'options')
-               hideBlock('options');
-       if (id != 'preview')
-               hideBlock('preview');           
-       
-}
-
-/**
- * Hides one element (tab)
- */
-function hideBlock(id) {
-       document.getElementById(id).style.display = "none";
-}
-
-/**
- * Makes an element (tab) visible
- */
-function showBlock(id) {
-       document.getElementById(id).style.display = "block";
-}
-
-function help(url) {
-       popup = window.open(url,'helpwindow','status=no,toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500,top=0,left=0');
-       if (popup.focus) popup.focus();
-       if (popup.GetAttention) popup.GetAttention();
-       return false;
-}
diff --git a/euc/nucleus/javascript/compatibility.js b/euc/nucleus/javascript/compatibility.js
deleted file mode 100755 (executable)
index 1fdf7b7..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *
-  *    Javascript code to make sure that:
-  *  - javascript still works when sending pages as application/xhtml+xml
-  *  - this doesn't break functionality in IE
-  *
-  * How to use:
-  *            - Include this file
-  *            - Use createElement() instead of document.createElement()
-  *
-  * That's basically it :)
-  *
-  * $Id: compatibility.js,v 1.4 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: compatibility.js,v 1.5 2007/02/04 06:28:45 kimitake Exp $
-  */
-
-// to get the script working when page is sent as application/xhtml+xml
-function createElement(element) {
-  if (document.createElementNS) {
-       return document.createElementNS('http://www.w3.org/1999/xhtml', element);
-  }
-  if (document.createElement) {
-       return document.createElement(element);
-  }
-  return false;
-}
diff --git a/euc/nucleus/javascript/edit.js b/euc/nucleus/javascript/edit.js
deleted file mode 100755 (executable)
index c81a1d6..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *
-  * This file contains functions to allow adding items from inside the weblog.
-  * Also contains code to avoid submitting form data twice.
-  *
-  * $Id: edit.js,v 1.5 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: edit.js,v 1.4 2005/03/23 06:15:05 kimitake Exp $
-  */
-
-var nucleusConvertBreaks = true;
-var nucleusMediaPopupURL = '';
-var nucleusMediaURL = 'media/';
-var nucleusAuthorId = 0;
-var scrollTop = -1;
-
-function setConvertBreaks(newval) {    nucleusConvertBreaks = newval; }
-function setMediaUrl(url) { nucleusMediaURL = url; }
-function setAuthorId(id) { nucleusAuthorId = id; }
-
-function preview(id, value) {
-       elem = document.getElementById(id);
-       if (!elem) return;
-
-       var preview = nucleusConvertBreaks ? str_replace("\n","<br />",value)+"&#160;" : value+"&#160;";
-
-       // expand the media commands (without explicit collection)
-       preview = preview.replace(/\<\%image\(([^\/\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+nucleusAuthorId+"/$1' width='$2' height='$3' alt=\"$4\" />");
-
-       // expand the media commands (with collection)
-       preview = preview.replace(/\<\%image\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<img src='"+nucleusMediaURL+"$1' width='$2' height='$3' alt=\"$4\" />");
-       preview = preview.replace(/\<\%popup\(([^\|]*)\|([^\|]*)\|([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' onclick='if (event &amp;&amp; event.preventDefault) event.preventDefault(); alert(\"popup image\"); return false;' title='popup'>$4</a>");
-       preview = preview.replace(/\<\%media\(([^\|]*)\|([^)]*)\)\%\>/g,"<a href='' title='media link'>$2</a>");
-
-       elem.innerHTML = preview;
-}
-
-function showedit() {
-       prevval = document.getElementById('edit').style.display;
-       if (prevval == "block")
-               newval = "none";
-       else
-               newval = "block";
-       document.getElementById('edit').style.display = newval;
-
-       if (newval == "block")
-               updAllPreviews();
-}
-
-function updAllPreviews() {
-       updPreview('title');
-       updPreview('body');
-       updPreview('more');
-}
-
-function isEditVisible() {
-       var editform = document.getElementById('edit');
-       if (!editform) return true;
-       var prevval = editform.style.display;
-       return (prevval == "none") ? false : true;
-}
-
-function updPreview(id) {
-       // don't update when preview is hidden
-       if (!isEditVisible()) return;
-
-       var inputField = document.getElementById('input' + id);
-       if (!inputField) return;
-       preview('prev' + id, inputField.value);
-}
-
-// replace a in s by b (taken from milov.nl)
-function str_replace(a, b, s)
-{
-       if (a == b || !s.length || !a.length) return s;
-       if ((p=s.indexOf(a)) == -1) { return s; }
-       else { ns = s.substring(0,p) + b + s.substring(p+a.length,s.length); }
-       return (s.indexOf(a) != -1) ? str_replace(a, b, ns) : ns;
-}
-
-function shortCuts() {
-       if (!event || (event.ctrlKey != true)) return;
-
-       switch (event.keyCode) {
-               case 1:
-                       ahrefThis(); break; // ctrl-shift-a
-               case 2:
-                       boldThis(); break; // ctrl-shift-b
-               case 9:
-                       italicThis(); break; // ctrl-shift-i
-               case 13:
-                       addMedia(); break; // ctrl-shift-m
-               default:
-                       return;
-       }
-       return;
-}
-
-function cutThis() { execAndUpdate('cut'); }
-function copyThis() { execAndUpdate('copy'); }
-function pasteThis() { execAndUpdate('paste'); }
-function boldThis() { insertAroundCaret('<b>','</b>'); }
-function italicThis() { insertAroundCaret('<i>','</i>'); }
-function leftThis() { insertAroundCaret('<div class="leftbox">','</div>'); }
-function rightThis() { insertAroundCaret('<div class="rightbox">','</div>'); }
-function alignleftThis() { insertAroundCaret('<div style="text-align: left">','</div>'); }
-function alignrightThis() { insertAroundCaret('<div style="text-align: right">','</div>'); }
-function aligncenterThis() { insertAroundCaret('<div style="text-align: center">','</div>'); }
-
-
-function ahrefThis() {
-       if (document.selection)
-               strSelection = document.selection.createRange().text;
-       else
-               strSelection = '';
-
-       strHref = prompt("Create a link to:","http://");
-       if (strHref == null) return;
-
-       var textpre = "<a href=\"" + strHref.replace(/&/g,'&amp;') + "\">";
-       insertAroundCaret(textpre, "</a>");
-}
-
-function execAndUpdate(action) {
-       lastSelected.caretPos.execCommand(action);
-       updAllPreviews();
-}
-
-
-var nonie_FormType = 'body';
-
-// Add media to new item
-function addMedia() {
-
-       var mediapopup = window.open(nucleusMediaPopupURL + 'media.php','name',
-               'status=yes,toolbar=no,scrollbars=yes,resizable=yes,width=500,height=450,top=0,left=0');
-
-       return;
-}
-
-
-function setMediaPopupURL(url) {
-       nucleusMediaPopupURL = url;
-}
-
-function includeImage(collection, filename, type, width, height) {
-       if (isCaretEmpty()) {
-               text = prompt("Text to display ?","");
-       } else {
-               text = getCaretText();
-       }
-
-       // add collection name when not private collection (or editing a message that's not your)
-       var fullName;
-       if (isNaN(collection) || (nucleusAuthorId != collection)) {
-               fullName = collection + '/' + filename;
-       } else {
-               fullName = filename;
-       }
-
-
-       var replaceBy;
-       switch(type) {
-               case 'popup':
-                       replaceBy = '<%popup(' +  fullName + '|'+width+'|'+height+'|' + text +')%>';
-                       break;
-               case 'inline':
-               default:
-                       replaceBy = '<%image(' +  fullName + '|'+width+'|'+height+'|' + text +')%>';
-       }
-
-       insertAtCaret(replaceBy);
-       updAllPreviews();
-
-}
-
-
-function includeOtherMedia(collection, filename) {
-       if (isCaretEmpty()) {
-               text = prompt("Text to display ?","");
-       } else {
-               text = getCaretText();
-       }
-
-       // add collection name when not private collection (or editing a message that's not your)
-       var fullName;
-       if (isNaN(collection) || (nucleusAuthorId != collection)) {
-               fullName = collection + '/' + filename;
-       } else {
-               fullName = filename;
-       }
-
-       var replaceBy = '<%media(' +  fullName + '|' + text +')%>';
-
-       insertAtCaret(replaceBy);
-       updAllPreviews();
-}
-
-
-
-// function to prevent submitting form data twice
-var submitcount=0;
-function checkSubmit() {
-       if (submitcount == 0) {
-               submitcount++;
-               return true;
-       } else {
-               return false;
-       }
-}
-
-
-// code to store the caret (cursor) position of a text field/text area
-// taken from javascript.faqts and modified
-// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
-
-// stores the caret
-var lastSelected, lastCaretPos;
-function storeCaret (textEl) {
-
-       // store caret
-       if (textEl.createTextRange) 
-               //textEl.caretPos = document.selection.createRange().duplicate();
-               lastCaretPos = document.selection.createRange().duplicate();
-
-       // also store lastselectedelement
-       lastSelected = textEl;
-       
-       nonie_FormType = textEl.name;
-
-       scrollTop = textEl.scrollTop;
-}
-
-//var lastSelected;
-
-// inserts text at caret (overwriting selection)
-function insertAtCaret (text) {
-       var textEl = lastSelected;
-       if (textEl && textEl.createTextRange && lastCaretPos) {
-               var caretPos = lastCaretPos;
-               caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
-       } else if (!document.all && document.getElementById) {
-               mozReplace(document.getElementById('input' + nonie_FormType), text);                            
-               if(scrollTop>-1) {
-                       document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
-               }
-       } else if (textEl) {
-               textEl.value  += text;
-       } else {
-               document.getElementById('input' + nonie_FormType).value += text;                
-               if(scrollTop>-1) {
-                       document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
-               }
-       }
-       updAllPreviews();
-}
-
-// inserts a tag around the selected text
-function insertAroundCaret (textpre, textpost) {
-       var textEl = lastSelected;
-       
-       if (textEl && textEl.createTextRange && lastCaretPos) {
-               var caretPos = lastCaretPos;
-               caretPos.text = textpre + caretPos.text + textpost;
-       } else if (!document.all && document.getElementById) {
-               mozWrap(document.getElementById('input' + nonie_FormType), textpre, textpost);          
-               if(scrollTop>-1) {
-                       document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
-               }
-       } else {
-               document.getElementById('input' + nonie_FormType).value += textpre + textpost;
-               if(scrollTop>-1) {
-                       document.getElementById('input' + nonie_FormType).scrollTop = scrollTop;
-               }
-       }
-
-       updAllPreviews();
-}
-
-/* some methods to get things working in Mozilla as well */
-function mozWrap(txtarea, lft, rgt) {
-       var selLength = txtarea.textLength;
-       var selStart = txtarea.selectionStart;
-       var selEnd = txtarea.selectionEnd;
-       if (selEnd==1 || selEnd==2) selEnd=selLength;
-       var s1 = (txtarea.value).substring(0,selStart);
-       var s2 = (txtarea.value).substring(selStart, selEnd)
-       var s3 = (txtarea.value).substring(selEnd, selLength);
-       txtarea.value = s1 + lft + s2 + rgt + s3;
-}
-function mozReplace(txtarea, newText) {
-       var selLength = txtarea.textLength;
-       var selStart = txtarea.selectionStart;
-       var selEnd = txtarea.selectionEnd;
-       if (selEnd==1 || selEnd==2) selEnd=selLength;
-       var s1 = (txtarea.value).substring(0,selStart);
-       var s2 = (txtarea.value).substring(selStart, selEnd)
-       var s3 = (txtarea.value).substring(selEnd, selLength);
-       txtarea.value = s1 + newText + s3;
-}
-function mozSelectedText() {
-       var txtarea = document.getElementById('input' + nonie_FormType);
-       var selLength = txtarea.textLength;
-       var selStart = txtarea.selectionStart;
-       var selEnd = txtarea.selectionEnd;
-       if (selEnd==1 || selEnd==2) selEnd=selLength;
-       return (txtarea.value).substring(selStart, selEnd);
-}
-
-function getCaretText() {
-       if (!document.all && document.getElementById)
-               return mozSelectedText();
-       else
-               return lastCaretPos.text;
-}
-
-function isCaretEmpty() {
-       if (lastSelected && lastSelected.createTextRange && lastCaretPos)
-               return (lastCaretPos.text == '');
-       else if (!document.all && document.getElementById)
-               return (mozSelectedText() == '');
-       else
-               return true;
-}
-
-function BtnHighlight(el) {
-       with(el.style){
-               borderLeft="1px solid gray";
-               borderRight="1px solid #e9e9e9";
-               borderTop="1px solid gray";
-               borderBottom="1px solid #e9e9e9";
-       }
-}
-
-function BtnNormal(el) {
-       with(el.style){
-               padding="3px";
-               border="1px solid #dddddd";
-       }
-}
-
diff --git a/euc/nucleus/javascript/index.html b/euc/nucleus/javascript/index.html
deleted file mode 100755 (executable)
index 50f792c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/javascript/numbercheck.js b/euc/nucleus/javascript/numbercheck.js
deleted file mode 100755 (executable)
index 9d48d5d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *
-  * script the check (on the clientside) if a entered value
-  * is a valid number and remove the invalid chars
-  *
-  * $Id: numbercheck.js,v 1.3 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: numbercheck.js,v 1.4 2007/02/04 06:28:45 kimitake Exp $
-  */
-
-function checkNumeric(f)
-{
-       newval='';
-       dot = false;
-       for (i = 0; i < f.value.length; i++) {
-               c = f.value.substring(i,i+1);
-               if (isInteger(c) || ((c == '.')&&(dot == false)) || ((i == 0)&&(c == '-'))) {
-                       newval += c;
-                       if (c == '.') {
-                               dot = true;
-                       }
-               }
-       }
-       f.value = newval;
-}
-
-function isInteger(value)
-{
-       return (parseInt(value) == value);
-}
diff --git a/euc/nucleus/javascript/opennew.js b/euc/nucleus/javascript/opennew.js
deleted file mode 100755 (executable)
index 7b9bb42..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- *
- * $Id: opennew.js,v 1.4 2007-03-22 08:31:55 kimitake Exp $
- * $NucleusJP: opennew.js,v 1.5 2007/02/04 06:28:45 kimitake Exp $
- *
- * JavaScript to open non-local links in a new window.
- *
- * How to use:
- *  in the <head>...</head> section of your page, add the following line:
- *
- *  <script type="text/javascript" src="nucleus/javascript/opennew.js"></script>
- *
- *  Then, add the following to your <body> tag:
- *
- *  <body ... onload="setOpenNewWindow(true);">
- *
- *  And you're all done.
- *
- * Variables that can be overridden if necessary:
- *     local = something to recognize local URLs (by default, if your page is something like
- *              http://www.example.com/path/page.html, then local will be automatically set to
- *              http://www.example.com/path/)
- *      exception = something to recognize exceptions to the local check. You might need this
- *                  when you use a 'click-through' type of script (e.g. when
- *                  http://www.example.com/path/click.php?http://otherpage.com/ would 
- *                  auto-redirect to otherpage.com and record a click in your logs)
- *                  In most of the cases, this variable is unneeded and can be left empty
- *      destinationFrame = name of the destination frame (by default this is "_blank" to spawn a
- *                         new window for each link clicked)
- */
-
-
-var local = document.URL.substring(0,document.URL.lastIndexOf('/'));
-var exception = "";
-var destinationFrame = "_blank";
-
-function setOpenNewWindow(newWin) {
-       if (newWin) {
-               from = ""; to = destinationFrame;
-       } else {
-               from = destinationFrame; to = "";
-       }
-
-       for (var i=0; i<=(document.links.length-1); i++) {
-               if (document.links[i].target == from) {
-
-                       var href = document.links[i].href;
-                       var isLocal = (href.indexOf(local) != -1);
-                       if (isLocal && ((exception=="") || (href.indexOf(exception) != -1)))
-                               isLocal = false;
-                       if (!isLocal)
-                               document.links[i].target = to;
-               }
-       }
-}
diff --git a/euc/nucleus/javascript/templateEdit.js b/euc/nucleus/javascript/templateEdit.js
deleted file mode 100755 (executable)
index 9a2536c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *
-  *    Javascript code to hide empty textareas when editing templates.
-  *
-  * @require compatibility.js
-  *
-  * $Id: templateEdit.js,v 1.4 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP: templateEdit.js,v 1.5 2007/02/04 06:28:45 kimitake Exp $
-  */
-
-var amountOfFields = 1;
-var editText = 'empty field (click to edit)';
-
-function hideUnused() {
-       while (document.getElementById('textarea' + amountOfFields)) 
-               amountOfFields++;
-       amountOfFields--;
-
-       for (var i=1;i<=amountOfFields;i++) {
-               var el = document.getElementById('textarea' + i);
-
-               // hide textareas when empty, and add onclick event
-               // to make them visible again
-               if (el.value == '') {
-                       el.style.display = 'none';
-                       var tdEl = document.getElementById('td' + i);
-                       
-                       var aHref = createElement('a');
-                       aHref.href = '';
-                       aHref.className = "expandLink";
-                       aHref.id = "expandLink" + i;
-                       aHref.onclick = new Function("return makeVisible("+i+")");
-                       aHref.tabIndex = el.tabIndex;
-                       aHref.title = editText;
-                       aHref.appendChild(document.createTextNode(editText));
-
-                       tdEl.appendChild(aHref);
-                       
-               }
-       }
-
-}
-
-function setTemplateEditText(newText) {
-       editText = newText;
-}
-
-function makeVisible(i) {
-       var textareaEl = document.getElementById('textarea' + i);
-       var expandEl = document.getElementById('expandLink' + i);
-
-       textareaEl.style.display = 'block';
-       expandEl.style.display = 'none';
-
-       textareaEl.focus();
-       return false;
-}
-
-window.onload = hideUnused;    
\ No newline at end of file
diff --git a/euc/nucleus/javascript/xmlhttprequest.js b/euc/nucleus/javascript/xmlhttprequest.js
deleted file mode 100644 (file)
index a0f354e..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
-  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
-  * Copyright (C) 2002-2007 The Nucleus Group
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version 2
-  * of the License, or (at your option) any later version.
-  * (see nucleus/documentation/index.html#license for more info)
-  *
-  *
-  * This page contains xmlHTTPRequest functions for:
-  * - AutoSaveDraft
-  *
-  *
-  * Usage:
-  * - Add in the page before the form open tag:
-  *     <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
-  * - Add in the page behind the form close tag:
-  *     var xmlhttprequest = new Array();
-  *     xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
-  *     xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
-  *     var seconds = now(); // Last AutoDraft time
-  *     var checks = 0; // Number of checks since last AutoDraft
-  *     var addform = document.getElementById('addform'); // The form id
-  *     var goal = document.getElementById('lastsaved'); // The html div id where 'Last saved: date time' must come
-  *     var goalurl = 'action.php'; // The PHP file where the content must be posted to (action.php)
-  *     var lastsavedtext = 'Last saved'; // The language variable for 'Last saved'
-  *     var formtype = 'add'; // Add or edit form
-  * - Add to the form tag:
-  *     id="addform"
-  * - Add to the textarea's and text fields:
-  *     onkeyup="doMonitor();"
-  * - Add tot the selectboxes and radio buttons
-  *     onchange="doMonitor();"
-  * - Add to the form:
-  *     <input type="hidden" name="draftid" value="0" />
-  * - Optionally a autosave now button can be add:
-  *     <input type="button" name="autosavenow" value="AutoSave now" onclick="autoSaveDraft();" />
-  *
-  *
-  * $Id: xmlhttprequest.js,v 1.1 2007-03-22 08:31:55 kimitake Exp $
-  * $NucleusJP$
-  */
-
-/**
- * Creates the xmlHTTPRequest handler
- */
-function createHTTPHandler() {
-       var httphandler = false;
-       /*@cc_on @*/
-       /*@if (@_jscript_version >= 5)
-               // JScript gives us Conditional compilation, we can cope with old IE versions.
-               // and security blocked creation of the objects.
-               try {
-                       httphandler = new ActiveXObject("Msxml2.XMLHTTP");
-               }
-               catch (e) {
-                       try {
-                               httphandler = new ActiveXObject("Microsoft.XMLHTTP");
-                       }
-                       catch (E) {
-                               httphandler = false;
-                       }
-               }
-       @end @*/
-       if (!httphandler && typeof XMLHttpRequest != 'undefined') {
-               httphandler = new XMLHttpRequest();
-       }
-       return httphandler;
-}
-
-/**
- * Auto saves as draft
- */
-function autoSaveDraft() {
-       checks = 0;
-       seconds = now();
-
-       var title = encodeURI(addform.title.value);
-       var body = encodeURI(addform.body.value);
-       var catid = addform.catid.options[addform.catid.selectedIndex].value;
-       var more = encodeURI(addform.more.value);
-       var closed = 0;
-       if (addform.closed[0].checked) {
-               closed = addform.closed[0].value;
-       }
-       else if (addform.closed[1].checked) {
-               closed = addform.closed[1].value;
-       }
-       var ticket = addform.ticket.value;
-
-       var querystring = 'action=autodraft';
-       querystring += '&title=' + title;
-       querystring += '&body=' + body;
-       querystring += '&catid=' + catid;
-       querystring += '&more=' + more;
-       querystring += '&closed=' + closed;
-       querystring += '&ticket=' + ticket;
-       if (formtype == 'edit') {
-               querystring += '&itemid=' + addform.itemid.value;
-               querystring += '&type=edit';
-       }
-       else {
-               querystring += '&blogid=' + addform.blogid.value;
-               querystring += '&type=add';
-       }
-       if (addform.draftid.value > 0) {
-               querystring += '&draftid=' + addform.draftid.value;
-       }
-
-       xmlhttprequest[0].open('POST', goalurl, true);
-       xmlhttprequest[0].onreadystatechange = checkMonitor;
-       xmlhttprequest[0].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-       xmlhttprequest[0].send(querystring);
-
-       var querystring = 'action=updateticket&ticket=' + ticket;
-
-       xmlhttprequest[1].open('POST', goalurl, true);
-       xmlhttprequest[1].onreadystatechange = updateTicket;
-       xmlhttprequest[1].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-       xmlhttprequest[1].send(querystring);
-}
-
-/**
- * Monitors the edits
- */
-function doMonitor() {
-       if (checks * (now() - seconds) > 120 * 1000 * 50) {
-               autoSaveDraft();
-       }
-       else {
-               checks++;
-       }
-}
-
-/**
- * Checks the process of the saving
- */
-function checkMonitor() {
-       if (xmlhttprequest[0].readyState == 4) {
-               if (xmlhttprequest[0].responseText) {
-                       if (xmlhttprequest[0].responseText.substr(0, 4) == 'err:') {
-                               goal.innerHTML = xmlhttprequest[0].responseText.substr(4) + ' (' + formattedDate() + ')';
-                       }
-                       else {
-                               addform.draftid.value = xmlhttprequest[0].responseText;
-                               goal.innerHTML = lastsavedtext + ' ' + formattedDate();
-                       }
-               }
-       }
-}
-
-/**
- * Checks the process of the ticket updating
- */
-function updateTicket() {
-       if (xmlhttprequest[1].readyState == 4) {
-               if (xmlhttprequest[1].responseText) {
-                       if (xmlhttprequest[1].responseText.substr(0, 4) == 'err:') {
-                               goal.innerHTML = xmlhttprequest[1].responseText.substr(4) + ' (' + formattedDate() + ')';
-                       }
-                       else {
-                               addform.ticket.value = xmlhttprequest[1].responseText;
-                       }
-               }
-       }
-}
-
-/**
- * Gets now in milliseconds
- */
-function now() {
-       var now = new Date();
-       return now.getTime();
-}
-
-/**
- * Gets now in the local dateformat
- */
-function formattedDate() {
-       var now = new Date();
-       return now.toLocaleDateString() + ' ' + now.toLocaleTimeString();
-}
\ No newline at end of file
diff --git a/euc/nucleus/language/english.php b/euc/nucleus/language/english.php
deleted file mode 100755 (executable)
index fcbb5f5..0000000
+++ /dev/null
@@ -1,975 +0,0 @@
-<?php
-// English Nucleus Language File
-//
-// Author: Wouter Demuynck
-// Nucleus version: v1.0-v3.2
-//
-// Please note: if you want to translate this file to your own language, be aware
-// that in a next Nucleus version, new variables might be added and some other ones
-// might be deleted. Therefor, it's important to list the Nucleus version for which
-// the file was written in your document.
-//
-// Fully translated language file can be sent to us and will be made
-// available for download (with proper credit to the author, of course)
-
-// START changed/added after 3.3 START
-define('_AUTOSAVEDRAFT',               'Auto save draft');
-define('_AUTOSAVEDRAFT_LASTSAVED',     'Last saved: ');
-define('_AUTOSAVEDRAFT_NOTYETSAVED',   'No saves have been made yet');
-define('_AUTOSAVEDRAFT_NOW',           'Auto save now');
-define('_SKIN_PARTS_SPECIAL',          'Special skin parts');
-define('_ERROR_SKIN_PARTS_SPECIAL_FORMAT',             'You must enter a name that exists only out of lowercase letters and digits');
-define('_ERROR_SKIN_PARTS_SPECIAL_DELETE',             'Can\'t delete this skin part');
-define('_CONFIRMTXT_SKIN_PARTS_SPECIAL',               'Do you really want to delete this special skin part?');
-define('_ERROR_PLUGIN_LOAD',           'Plugin could not be loaded, or does not support certain features that are required for it to run on your Nucleus installation (you might want to check the <a href="?action=actionlog">actionlog</a> for more info)');
-// END changed/added after 3.3 END
-
-// START changed/added after 3.22 START
-define('_SEARCHFORM_QUERY',                    'Keywords to search');
-define('_ERROR_EMAIL_REQUIRED',                'Email address is required');
-define('_COMMENTFORM_MAIL',                    'Website:');
-define('_COMMENTFORM_EMAIL',           'E-mail:');
-define('_EBLOG_REQUIREDEMAIL',         'Require E-mail address with comments?');
-define('_ERROR_COMMENTS_SPAM',      'Your comment was rejected because it did not pass the spam test');
-// END changed/added after 3.22 END
-
-// START changed/added after 3.15 START
-
-define('_LIST_PLUG_SUBS_NEEDUPDATE','Please use the \'Update Subscription list\'-button to update the plugin\'s subscription list.');
-define('_LIST_PLUGS_DEP',                      'Plugin(s) requires:');
-
-// END changed/added after 3.15
-
-// START changed/added after 3.1 START
-
-// comments list per weblog
-define('_COMMENTS_BLOG',                       'All Comments for blog');
-define('_NOCOMMENTS_BLOG',                     'No comments were made on items of this blog');
-define('_BLOGLIST_COMMENTS',           'Comments');
-define('_BLOGLIST_TT_COMMENTS',                'A list of all comments made on items of this blog');
-
-
-// for use in archivetype-skinvar
-define('_ARCHIVETYPE_DAY',                     'day');
-define('_ARCHIVETYPE_MONTH',           'month');
-
-// tickets (prevents malicious users to trick an admin to perform actions he doesn't want)
-define('_ERROR_BADTICKET',                     'Invalid or expired ticket.');
-
-// plugin dependency
-define('_ERROR_INSREQPLUGIN',          'Plugin installation failed, requires ');
-define('_ERROR_DELREQPLUGIN',          'Plugin deletion failed, required by ');
-
-// cookie prefix
-define('_SETTINGS_COOKIEPREFIX',       'Cookie Prefix');
-
-// account activation
-define('_ERROR_NOLOGON_NOACTIVATE',    'Cannot send activation link. You\'re not allowed to log in.');
-define('_ERROR_ACTIVATE',                      'Activation key does not exist, is invalid, or has expired.');
-define('_ACTIONLOG_ACTIVATIONLINK', 'Activation link sent');
-define('_MSG_ACTIVATION_SENT',         'An activation link has been sent by e-mail.');
-
-// activation link emails
-define('_ACTIVATE_REGISTER_MAIL',      "Hi <%memberName%>,\n\nYou need to activate your account at <%siteName%> (<%siteUrl%>).\nYou can do this by visiting the link below: \n\n\t<%activationUrl%>\n\nYou have 2 days to do this. After this, the activation link becomes invalid.");
-define('_ACTIVATE_REGISTER_MAILTITLE', "Activate your '<%memberName%>' account");
-define('_ACTIVATE_REGISTER_TITLE',     'Welcome <%memberName%>');
-define('_ACTIVATE_REGISTER_TEXT',      'You\'re almost there. Please choose a password for your account below.');
-define('_ACTIVATE_FORGOT_MAIL',                "Hi <%memberName%>,\n\nUsing the link below, you can choose a new password for your account at <%siteName%> (<%siteUrl%>) by choosing a new password.\n\n\t<%activationUrl%>\n\nYou have 2 days to do this. After this, the activation link becomes invalid.");
-define('_ACTIVATE_FORGOT_MAILTITLE',"Re-activate your '<%memberName%>' account");
-define('_ACTIVATE_FORGOT_TITLE',       'Welcome <%memberName%>');
-define('_ACTIVATE_FORGOT_TEXT',                'You can choose a new password for your account below:');
-define('_ACTIVATE_CHANGE_MAIL',                "Hi <%memberName%>,\n\nSince your e-mail address has changed, you'll need to re-activate your account at <%siteName%> (<%siteUrl%>).\nYou can do this by visiting the link below: \n\n\t<%activationUrl%>\n\nYou have 2 days to do this. After this, the activation link becomes invalid.");
-define('_ACTIVATE_CHANGE_MAILTITLE',"Re-activate your '<%memberName%>' account");
-define('_ACTIVATE_CHANGE_TITLE',       'Welcome <%memberName%>');
-define('_ACTIVATE_CHANGE_TEXT',                'Your address change has been verified. Thanks!');
-define('_ACTIVATE_SUCCESS_TITLE',      'Activation Succeeded');
-define('_ACTIVATE_SUCCESS_TEXT',       'Your account has been successfully activated.');
-define('_MEMBERS_SETPWD',                      'Set Password');
-define('_MEMBERS_SETPWD_BTN',          'Set Password');
-define('_QMENU_ACTIVATE',                      'Account Activation');
-define('_QMENU_ACTIVATE_TEXT',         '<p>After you have activated your account, you can start using it by <a href="index.php?action=showlogin">logging in</a>.</p>');
-
-define('_PLUGS_BTN_UPDATE',                    'Update subscription list');
-
-// global settings
-define('_SETTINGS_JSTOOLBAR',          'Javascript Toolbar Style');
-define('_SETTINGS_JSTOOLBAR_FULL',     'Full Toolbar (IE)');
-define('_SETTINGS_JSTOOLBAR_SIMPLE','Simple Toolbar (Non-IE)');
-define('_SETTINGS_JSTOOLBAR_NONE',     'Disable Toolbar');
-define('_SETTINGS_URLMODE_HELP',       '(Info: <a href="documentation/tips.html#searchengines-fancyurls">How to activate fancy URLs</a>)');
-
-// extra plugin settings part when editing categories/members/blogs/...
-define('_PLUGINS_EXTRA',                       'Extra Plugin Settings');
-
-// itemlist info column keys
-define('_LIST_ITEM_BLOG',                      'blog:');
-define('_LIST_ITEM_CAT',                       'cat:');
-define('_LIST_ITEM_AUTHOR',                    'author:');
-define('_LIST_ITEM_DATE',                      'date:');
-define('_LIST_ITEM_TIME',                      'time:');
-
-// indication of registered members in comments list
-define('_LIST_COMMENTS_MEMBER',        '(member)');
-
-// batch operations
-define('_BATCH_WITH_SEL',                      'With selected:');
-define('_BATCH_EXEC',                          'Execute');
-
-// quickmenu
-define('_QMENU_HOME',                          'Home');
-define('_QMENU_ADD',                           'Add Item');
-define('_QMENU_ADD_SELECT',                    '-- select --');
-define('_QMENU_USER_SETTINGS',         'Profile');
-define('_QMENU_USER_ITEMS',                    'Items');
-define('_QMENU_USER_COMMENTS',         'Comments');
-define('_QMENU_MANAGE',                                'Management');
-define('_QMENU_MANAGE_LOG',                    'Action Log');
-define('_QMENU_MANAGE_SETTINGS',       'Configuration');
-define('_QMENU_MANAGE_MEMBERS',                'Members');
-define('_QMENU_MANAGE_NEWBLOG',                'New Weblog');
-define('_QMENU_MANAGE_BACKUPS',                'Backups');
-define('_QMENU_MANAGE_PLUGINS',                'Plugins');
-define('_QMENU_LAYOUT',                                'Layout');
-define('_QMENU_LAYOUT_SKINS',          'Skins');
-define('_QMENU_LAYOUT_TEMPL',          'Templates');
-define('_QMENU_LAYOUT_IEXPORT',                'Import/Export');
-define('_QMENU_PLUGINS',                       'Plugins');
-
-// quickmenu on logon screen
-define('_QMENU_INTRO',                         'Introduction');
-define('_QMENU_INTRO_TEXT',                    '<p>This is the logon screen for Nucleus CMS, the content management system that\'s being used to maintain this website.</p><p>If you have an account, you can log on and start posting new items.</p>');
-
-// helppages for plugins
-define('_ERROR_PLUGNOHELPFILE',                'The helpfile for this plugin can not be found');
-define('_PLUGS_HELP_TITLE',                    'Helppage for plugin');
-define('_LIST_PLUGS_HELP',                     'help');
-
-
-// END changed/started after 3.1
-
-// START changed/added after v2.5beta START
-
-// general settings (security)
-define('_SETTINGS_EXTAUTH',                    'Enable External Authentication');
-define('_WARNING_EXTAUTH',                     'Warning: Enable only if needed.');
-
-// member profile
-define('_MEMBERS_BYPASS',                      'Use External Authentication');
-
-// 'always include in search' blog setting (yes/no) [in v2.5beta, the 'always' part wasn't clear]
-define('_EBLOG_SEARCH',                                '<em>Always</em> include in search');
-
-// END changed/added after v2.5beta
-
-// START introduced after v2.0 START
-
-// media library
-define('_MEDIA_VIEW',                          'view');
-define('_MEDIA_VIEW_TT',                       'View file (opens in new window)');
-define('_MEDIA_FILTER_APPLY',          'Apply Filter');
-define('_MEDIA_FILTER_LABEL',          'Filter: ');
-define('_MEDIA_UPLOAD_TO',                     'Upload to...');
-define('_MEDIA_UPLOAD_NEW',                    'Upload new file...');
-define('_MEDIA_COLLECTION_SELECT',     'Select');
-define('_MEDIA_COLLECTION_TT',         'Switch to this category');
-define('_MEDIA_COLLECTION_LABEL',      'Current collection: ');
-
-// tooltips on toolbar
-define('_ADD_ALIGNLEFT_TT',                    'Align Left');
-define('_ADD_ALIGNRIGHT_TT',           'Align Right');
-define('_ADD_ALIGNCENTER_TT',          'Align Center');
-
-
-// generic upload failure
-define('_ERROR_UPLOADFAILED',          'Upload failed');
-
-// END introduced after v2.0 END
-
-// START introduced after v1.5 START
-
-// posting to the past/edit timestamps
-define('_EBLOG_ALLOWPASTPOSTING',      'Allow posting to the past');
-define('_ADD_CHANGEDATE',                      'Update timestamp');
-define('_BMLET_CHANGEDATE',                    'Update timestamp');
-
-// skin import/export
-define('_OVERVIEW_SKINIMPORT',         'Skin import/export...');
-
-// skin settings
-define('_PARSER_INCMODE_NORMAL',       'Normal');
-define('_PARSER_INCMODE_SKINDIR',      'Use skin dir');
-define('_SKIN_INCLUDE_MODE',           'Include mode');
-define('_SKIN_INCLUDE_PREFIX',         'Include prefix');
-
-// global settings
-define('_SETTINGS_BASESKIN',           'Base Skin');
-define('_SETTINGS_SKINSURL',           'Skins URL');
-define('_SETTINGS_ACTIONSURL',         'Full URL to action.php');
-
-// category moves (batch)
-define('_ERROR_MOVEDEFCATEGORY',       'Cannot move default category');
-define('_ERROR_MOVETOSELF',                    'Cannot move category (destination blog is the same as source blog)');
-define('_MOVECAT_TITLE',                       'Select blog to move category to');
-define('_MOVECAT_BTN',                         'Move category');
-
-// URLMode setting
-define('_SETTINGS_URLMODE',                    'URL Mode');
-define('_SETTINGS_URLMODE_NORMAL',     'Normal');
-define('_SETTINGS_URLMODE_PATHINFO','Fancy');
-
-// Batch operations
-define('_BATCH_NOSELECTION',           'Nothing selected to perform actions on');
-define('_BATCH_ITEMS',                         'Batch operation on items');
-define('_BATCH_CATEGORIES',                    'Batch operation on categories');
-define('_BATCH_MEMBERS',                       'Batch operation on members');
-define('_BATCH_TEAM',                          'Batch operation on team members');
-define('_BATCH_COMMENTS',                      'Batch operation on comments');
-define('_BATCH_UNKNOWN',                       'Unknown batch operation: ');
-define('_BATCH_EXECUTING',                     'Executing');
-define('_BATCH_ONCATEGORY',                    'on category');
-define('_BATCH_ONITEM',                                'on item');
-define('_BATCH_ONCOMMENT',                     'on comment');
-define('_BATCH_ONMEMBER',                      'on member');
-define('_BATCH_ONTEAM',                                'on team member');
-define('_BATCH_SUCCESS',                       'Success!');
-define('_BATCH_DONE',                          'Done!');
-define('_BATCH_DELETE_CONFIRM',                'Confirm Batch Deletion');
-define('_BATCH_DELETE_CONFIRM_BTN',    'Confirm Batch Deletion');
-define('_BATCH_SELECTALL',                     'select all');
-define('_BATCH_DESELECTALL',           'deselect all');
-
-// batch operations: options in dropdowns
-define('_BATCH_ITEM_DELETE',           'Delete');
-define('_BATCH_ITEM_MOVE',                     'Move');
-define('_BATCH_MEMBER_DELETE',         'Delete');
-define('_BATCH_MEMBER_SET_ADM',                'Give admin rights');
-define('_BATCH_MEMBER_UNSET_ADM',      'Take away admin rights');
-define('_BATCH_TEAM_DELETE',           'Delete from team');
-define('_BATCH_TEAM_SET_ADM',          'Give admin rights');
-define('_BATCH_TEAM_UNSET_ADM',                'Take away admin rights');
-define('_BATCH_CAT_DELETE',                    'Delete');
-define('_BATCH_CAT_MOVE',                      'Move to other blog');
-define('_BATCH_COMMENT_DELETE',                'Delete');
-
-// itemlist: Add new item...
-define('_ITEMLIST_ADDNEW',                     'Add new item...');
-define('_ADD_PLUGIN_EXTRAS',           'Extra Plugin Options');
-
-// errors
-define('_ERROR_CATCREATEFAIL',         'Could not create new category');
-define('_ERROR_NUCLEUSVERSIONREQ',     'This plugin requires a newer Nucleus version: ');
-
-// backlinks
-define('_BACK_TO_BLOGSETTINGS',                'Back to blogsettings');
-
-// skin import export
-define('_SKINIE_TITLE_IMPORT',         'Import');
-define('_SKINIE_TITLE_EXPORT',         'Export');
-define('_SKINIE_BTN_IMPORT',           'Import');
-define('_SKINIE_BTN_EXPORT',           'Export selected skins/templates');
-define('_SKINIE_LOCAL',                                'Import from local file:');
-define('_SKINIE_NOCANDIDATES',         'No candidates for import found in the skins directory');
-define('_SKINIE_FROMURL',                      'Import from URL:');
-define('_SKINIE_EXPORT_INTRO',         'Select the skins and templates you want to export below');
-define('_SKINIE_EXPORT_SKINS',         'Skins');
-define('_SKINIE_EXPORT_TEMPLATES',     'Templates');
-define('_SKINIE_EXPORT_EXTRA',         'Extra Info');
-define('_SKINIE_CONFIRM_OVERWRITE',    'Overwrite skins that already exists (see nameclashes)');
-define('_SKINIE_CONFIRM_IMPORT',       'Yes, I want to import this');
-define('_SKINIE_CONFIRM_TITLE',                'About to import skins and templates');
-define('_SKINIE_INFO_SKINS',           'Skins in file:');
-define('_SKINIE_INFO_TEMPLATES',       'Templates in file:');
-define('_SKINIE_INFO_GENERAL',         'Info:');
-define('_SKINIE_INFO_SKINCLASH',       'Skin name clashes:');
-define('_SKINIE_INFO_TEMPLCLASH',      'Template name clashes:');
-define('_SKINIE_INFO_IMPORTEDSKINS','Imported skins:');
-define('_SKINIE_INFO_IMPORTEDTEMPLS','Imported templates:');
-define('_SKINIE_DONE',                         'Done Importing');
-
-define('_AND',                                         'and');
-define('_OR',                                          'or');
-
-// empty fields on template edit
-define('_EDITTEMPLATE_EMPTY',          'empty field (click to edit)');
-
-// skin overview list
-define('_LIST_SKINS_INCMODE',          'IncludeMode:');
-define('_LIST_SKINS_INCPREFIX',                'IncludePrefix:');
-define('_LIST_SKINS_DEFINED',          'Defined parts:');
-
-// backup
-define('_BACKUPS_TITLE',                       'Backup / Restore');
-define('_BACKUP_TITLE',                                'Backup');
-define('_BACKUP_INTRO',                                'Click the button below to create a backup of your Nucleus database. You\'ll be prompted to save a backup file. Store it in a safe place.');
-define('_BACKUP_ZIP_YES',                      'Try to use compression');
-define('_BACKUP_ZIP_NO',                       'Do not use compression');
-define('_BACKUP_BTN',                          'Create Backup');
-define('_BACKUP_NOTE',                         '<b>Note:</b> Only the database contents is stored in the backup. Media files and settings in config.php are thus <b>NOT</b> included in the backup.');
-define('_RESTORE_TITLE',                       'Restore');
-define('_RESTORE_NOTE',                                '<b>WARNING:</b> Restoring from a backup will <b>ERASE</b> all current Nucleus data in the database! Only do this when you\'re really sure!     <br />  <b>Note:</b> Make sure that the version of Nucleus in which you created the backup should be the same as the version you\'re running right now! It won\'t work otherwise');
-define('_RESTORE_INTRO',                       'Select the backup file below (it\'ll be uploaded to the server) and click the "Restore" button to start.');
-define('_RESTORE_IMSURE',                      'Yes, I\'m sure I want to do this!');
-define('_RESTORE_BTN',                         'Restore From File');
-define('_RESTORE_WARNING',                     '(make sure you\'re restoring the correct backup, maybe make a new backup before you start)');
-define('_ERROR_BACKUP_NOTSURE',                'You\'ll need to check the \'I\'m sure\' testbox');
-define('_RESTORE_COMPLETE',                    'Restore Complete');
-
-// new item notification
-define('_NOTIFY_NI_MSG',                       'A new item has been posted:');
-define('_NOTIFY_NI_TITLE',                     'New Item!');
-define('_NOTIFY_KV_MSG',                       'Karma vote on item:');
-define('_NOTIFY_KV_TITLE',                     'Nucleus karma:');
-define('_NOTIFY_NC_MSG',                       'Comment on item:');
-define('_NOTIFY_NC_TITLE',                     'Nucleus comment:');
-define('_NOTIFY_USERID',                       'User ID:');
-define('_NOTIFY_USER',                         'User:');
-define('_NOTIFY_COMMENT',                      'Comment:');
-define('_NOTIFY_VOTE',                         'Vote:');
-define('_NOTIFY_HOST',                         'Host:');
-define('_NOTIFY_IP',                           'IP:');
-define('_NOTIFY_MEMBER',                       'Member:');
-define('_NOTIFY_TITLE',                                'Title:');
-define('_NOTIFY_CONTENTS',                     'Contents:');
-
-// member mail message
-define('_MMAIL_MSG',                           'A message sent to you by');
-define('_MMAIL_FROMANON',                      'an anonymous visitor');
-define('_MMAIL_FROMNUC',                       'Posted from a Nucleus weblog at');
-define('_MMAIL_TITLE',                         'A message from');
-define('_MMAIL_MAIL',                          'Message:');
-
-// END introduced after v1.5 END
-
-
-// START introduced after v1.1 START
-
-// bookmarklet buttons
-define('_BMLET_ADD',                           'Add Item');
-define('_BMLET_EDIT',                          'Edit Item');
-define('_BMLET_DELETE',                                'Delete Item');
-define('_BMLET_BODY',                          'Body');
-define('_BMLET_MORE',                          'Extended');
-define('_BMLET_OPTIONS',                       'Options');
-define('_BMLET_PREVIEW',                       'Preview');
-
-// used in bookmarklet
-define('_ITEM_UPDATED',                                'Item was updated');
-define('_ITEM_DELETED',                                'Item was deleted');
-
-// plugins
-define('_CONFIRMTXT_PLUGIN',           'Are you sure you want to delete the plugin named');
-define('_ERROR_NOSUCHPLUGIN',          'No such plugin');
-define('_ERROR_DUPPLUGIN',                     'Sorry, this plugin is already installed');
-define('_ERROR_PLUGFILEERROR',         'No such plugin exists, or the permissions are set incorrectly');
-define('_PLUGS_NOCANDIDATES',          'No plugin candidates found');
-
-define('_PLUGS_TITLE_MANAGE',          'Manage Plugins');
-define('_PLUGS_TITLE_INSTALLED',       'Currently Installed');
-define('_PLUGS_TITLE_UPDATE',          'Update subscription list');
-define('_PLUGS_TEXT_UPDATE',           'Nucleus keeps a cache of the event subscriptions of the plugins. When you upgrade a plugin by replacing it\'s file, you should run this update to make sure that the correct subscriptions are cached');
-define('_PLUGS_TITLE_NEW',                     'Install New Plugin');
-define('_PLUGS_ADD_TEXT',                      'Below is a list of all the files in your plugins directory, that might be non-installed plugins. Make sure you are <strong>really sure</strong> that it\'s a plugin before adding it.');
-define('_PLUGS_BTN_INSTALL',           'Install Plugin');
-define('_BACKTOOVERVIEW',                      'Back to overview');
-
-// editlink
-define('_TEMPLATE_EDITLINK',           'Edit Item Link');
-
-// add left / add right tooltips
-define('_ADD_LEFT_TT',                         'Add left box');
-define('_ADD_RIGHT_TT',                                'Add right box');
-
-// add/edit item: new category (in dropdown box)
-define('_ADD_NEWCAT',                          'New Category...');
-
-// new settings
-define('_SETTINGS_PLUGINURL',          'Plugin URL');
-define('_SETTINGS_MAXUPLOADSIZE',      'Max. upload file size (bytes)');
-define('_SETTINGS_NONMEMBERMSGS',      'Allow non-members to send messages');
-define('_SETTINGS_PROTECTMEMNAMES',    'Protect member names');
-
-// overview screen
-define('_OVERVIEW_PLUGINS',                    'Manage Plugins...');
-
-// actionlog
-define('_ACTIONLOG_NEWMEMBER',         'New member registration:');
-
-// membermail (when not logged in)
-define('_MEMBERMAIL_MAIL',                     'Your email address:');
-
-// file upload
-define('_ERROR_DISALLOWEDUPLOAD2',     'You do not have admin rights on any of the blogs that have the destination member on the teamlist. Therefor, you\'re not allowed to upload files to this member\'s media directory');
-
-// plugin list
-define('_LISTS_INFO',                          'Information');
-define('_LIST_PLUGS_AUTHOR',           'By:');
-define('_LIST_PLUGS_VER',                      'Version:');
-define('_LIST_PLUGS_SITE',                     'Visit site');
-define('_LIST_PLUGS_DESC',                     'Description:');
-define('_LIST_PLUGS_SUBS',                     'Subscribes to the following events:');
-define('_LIST_PLUGS_UP',                       'move up');
-define('_LIST_PLUGS_DOWN',                     'move down');
-define('_LIST_PLUGS_UNINSTALL',                'uninstall');
-define('_LIST_PLUGS_ADMIN',                    'admin');
-define('_LIST_PLUGS_OPTIONS',          'edit&nbsp;options');
-
-// plugin option list
-define('_LISTS_VALUE',                         'Value');
-
-// plugin options
-define('_ERROR_NOPLUGOPTIONS',         'this plugin does not have any options set');
-define('_PLUGS_BACK',                          'Back to Plugin Overview');
-define('_PLUGS_SAVE',                          'Save Options');
-define('_PLUGS_OPTIONS_UPDATED',       'Plugin options updated');
-
-define('_OVERVIEW_MANAGEMENT',         'Management');
-define('_OVERVIEW_MANAGE',                     'Nucleus management...');
-define('_MANAGE_GENERAL',                      'General Management');
-define('_MANAGE_SKINS',                                'Skin and Templates');
-define('_MANAGE_EXTRA',                                'Extra features');
-
-define('_BACKTOMANAGE',                                'Back to Nucleus management');
-
-
-// END introduced after v1.1 END
-
-
-
-
-// charset to use
-define('_CHARSET',                                     'iso-8859-1');
-
-// global stuff
-define('_LOGOUT',                                      'Log Out');
-define('_LOGIN',                                       'Log In');
-define('_YES',                                         'Yes');
-define('_NO',                                          'No');
-define('_SUBMIT',                                      'Submit');
-define('_ERROR',                                       'Error');
-define('_ERRORMSG',                                    'An error has occurred!');
-define('_BACK',                                                'Go Back');
-define('_NOTLOGGEDIN',                         'Not logged in');
-define('_LOGGEDINAS',                          'Logged in as');
-define('_ADMINHOME',                           'Admin Home');
-define('_NAME',                                                'Name');
-define('_BACKHOME',                                    'Back to Admin Home');
-define('_BADACTION',                           'Non existing action requested');
-define('_MESSAGE',                                     'Message');
-define('_HELP_TT',                                     'Help!');
-define('_YOURSITE',                                    'Your site');
-
-
-define('_POPUP_CLOSE',                         'Close Window');
-
-define('_LOGIN_PLEASE',                                'Please Log in First');
-
-// commentform
-define('_COMMENTFORM_YOUARE',          'You are');
-define('_COMMENTFORM_SUBMIT',          'Add Comment');
-define('_COMMENTFORM_COMMENT',         'Your comment:');
-define('_COMMENTFORM_NAME',                    'Name:');
-define('_COMMENTFORM_REMEMBER',                'Remember Me');
-
-// loginform
-define('_LOGINFORM_NAME',                      'Username:');
-define('_LOGINFORM_PWD',                       'Password:');
-define('_LOGINFORM_YOUARE',                    'Logged in as');
-define('_LOGINFORM_SHARED',                    'Shared Computer');
-
-// member mailform
-define('_MEMBERMAIL_SUBMIT',           'Send Message');
-
-// search form
-define('_SEARCHFORM_SUBMIT',           'Search');
-
-// add item form
-define('_ADD_ADDTO',                           'Add new item to');
-define('_ADD_CREATENEW',                       'Create new item');
-define('_ADD_BODY',                                    'Body');
-define('_ADD_TITLE',                           'Title');
-define('_ADD_MORE',                                    'Extended (optional)');
-define('_ADD_CATEGORY',                                'Category');
-define('_ADD_PREVIEW',                         'Preview');
-define('_ADD_DISABLE_COMMENTS',                'Disable comments?');
-define('_ADD_DRAFTNFUTURE',                    'Draft &amp; Future Items');
-define('_ADD_ADDITEM',                         'Add Item');
-define('_ADD_ADDNOW',                          'Add Now');
-define('_ADD_ADDLATER',                                'Add Later');
-define('_ADD_PLACE_ON',                                'Place on');
-define('_ADD_ADDDRAFT',                                'Add to drafts');
-define('_ADD_NOPASTDATES',                     '(dates and times in the past are NOT valid, the current time will be used in that case)');
-define('_ADD_BOLD_TT',                         'Bold');
-define('_ADD_ITALIC_TT',                       'Italic');
-define('_ADD_HREF_TT',                         'Make Link');
-define('_ADD_MEDIA_TT',                                'Add Media');
-define('_ADD_PREVIEW_TT',                      'Show/Hide Preview');
-define('_ADD_CUT_TT',                          'Cut');
-define('_ADD_COPY_TT',                         'Copy');
-define('_ADD_PASTE_TT',                                'Paste');
-
-
-// edit item form
-define('_EDIT_ITEM',                           'Edit Item');
-define('_EDIT_SUBMIT',                         'Edit Item');
-define('_EDIT_ORIG_AUTHOR',                    'Original author');
-define('_EDIT_BACKTODRAFTS',           'Add back to drafts');
-define('_EDIT_COMMENTSNOTE',           '(note: disabling comments will _not_ hide previously added comments)');
-
-// used on delete screens
-define('_DELETE_CONFIRM',                      'Please confirm deletion');
-define('_DELETE_CONFIRM_BTN',          'Confirm Deletion');
-define('_CONFIRMTXT_ITEM',                     'You\'re about to delete the item following item:');
-define('_CONFIRMTXT_COMMENT',          'You\'re about to delete the following comment:');
-define('_CONFIRMTXT_TEAM1',                    'You\'re about to delete ');
-define('_CONFIRMTXT_TEAM2',                    ' from the teamlist for blog ');
-define('_CONFIRMTXT_BLOG',                     'The blog you are going to delete is: ');
-define('_WARNINGTXT_BLOGDEL',          'Warning! Deleting a blog will delete ALL items of that blog, and all comments. Please confirm to make clear that you are CERTAIN of what you\'re doing!<br />Also, don\'t interrupt Nucleus while removing your blog.');
-define('_CONFIRMTXT_MEMBER',           'You\'re about to delete the following member profile: ');
-define('_CONFIRMTXT_TEMPLATE',         'You\'re about to delete the template named ');
-define('_CONFIRMTXT_SKIN',                     'You\'re about to delete the skin named ');
-define('_CONFIRMTXT_BAN',                      'You\'re about to delete the ban for the ip range');
-define('_CONFIRMTXT_CATEGORY',         'You\'re about to delete the category ');
-
-// some status messages
-define('_DELETED_ITEM',                                'Item Deleted');
-define('_DELETED_MEMBER',                      'Member Deleted');
-define('_DELETED_COMMENT',                     'Comment Deleted');
-define('_DELETED_BLOG',                                'Blog Deleted');
-define('_DELETED_CATEGORY',                    'Category Deleted');
-define('_ITEM_MOVED',                          'Item Moved');
-define('_ITEM_ADDED',                          'Item Added');
-define('_COMMENT_UPDATED',                     'Comment updated');
-define('_SKIN_UPDATED',                                'Skin data has been saved');
-define('_TEMPLATE_UPDATED',                    'Template data has been saved');
-
-// errors
-define('_ERROR_COMMENT_LONGWORD',      'Please don\'t use words of lengths higher than 90 in your comments');
-define('_ERROR_COMMENT_NOCOMMENT',     'Please enter a comment');
-define('_ERROR_COMMENT_NOUSERNAME',    'Bad username');
-define('_ERROR_COMMENT_TOOLONG',       'Your comments are too long (max. 5000 chars)');
-define('_ERROR_COMMENTS_DISABLED',     'Comments for this blog are currently disabled.');
-define('_ERROR_COMMENTS_NONPUBLIC',    'You must be logged in as a member to add comment to this blog');
-define('_ERROR_COMMENTS_MEMBERNICK','The name you want to use to post comments is in use by a site member. Choose something else.');
-define('_ERROR_SKIN',                          'Skin error');
-define('_ERROR_ITEMCLOSED',                    'This item is closed, it\'s not possible to add new comments to it or to vote on it');
-define('_ERROR_NOSUCHITEM',                    'No such item exists');
-define('_ERROR_NOSUCHBLOG',                    'No such blog');
-define('_ERROR_NOSUCHSKIN',                    'No such skin');
-define('_ERROR_NOSUCHMEMBER',          'No such member');
-define('_ERROR_NOTONTEAM',                     'You\'re not on the teamlist of this weblog.');
-define('_ERROR_BADDESTBLOG',           'Destination blog does not exist');
-define('_ERROR_NOTONDESTTEAM',         'Cannot move item, since you\'re not on the teamlist of the destination blog');
-define('_ERROR_NOEMPTYITEMS',          'Cannot add empty items!');
-define('_ERROR_BADMAILADDRESS',                'Email address is not valid');
-define('_ERROR_BADNOTIFY',                     'One or more of the given notify addresses is not a valid email address');
-define('_ERROR_BADNAME',                       'Name is not valid (only a-z and 0-9 allowed, no spaces at start/end)');
-define('_ERROR_NICKNAMEINUSE',         'Another member is already using that nickname');
-define('_ERROR_PASSWORDMISMATCH',      'Passwords must match');
-define('_ERROR_PASSWORDTOOSHORT',      'Password should be at least 6 characters');
-define('_ERROR_PASSWORDMISSING',       'Password cannot be empty');
-define('_ERROR_REALNAMEMISSING',       'You must enter a real name');
-define('_ERROR_ATLEASTONEADMIN',       'There should always be at least one super-admin that can login to the admin area.');
-define('_ERROR_ATLEASTONEBLOGADMIN','Performing this action would leave your weblog unmaintainable. Please make sure there is always at least one admin.');
-define('_ERROR_ALREADYONTEAM',         'You can\'t add a member that is already on the team');
-define('_ERROR_BADSHORTBLOGNAME',      'The short blog name should only contain a-z and 0-9, without spaces');
-define('_ERROR_DUPSHORTBLOGNAME',      'Another blog already has the chosen short name. These names should be unique');
-define('_ERROR_UPDATEFILE',                    'Cannot get write access to the update-file. Make sure the file permissions are set ok (try chmodding it to 666). Also note that the location is relative to the admin-area directory, so you might want to use an absolute path (something like /your/path/to/nucleus/)');
-define('_ERROR_DELDEFBLOG',                    'Cannot delete the default blog');
-define('_ERROR_DELETEMEMBER',          'This member cannot be deleted, probably because he/she is the author of item(s)');
-define('_ERROR_BADTEMPLATENAME',       'Invalid name for template, use only a-z and 0-9, without spaces');
-define('_ERROR_DUPTEMPLATENAME',       'Another template with this name already exists');
-define('_ERROR_BADSKINNAME',           'Invalid name for skin (only a-z, 0-9 are allowed, no spaces)');
-define('_ERROR_DUPSKINNAME',           'Another skin with this name already exists');
-define('_ERROR_DEFAULTSKIN',           'There must at all times be a skin named "default"');
-define('_ERROR_SKINDEFDELETE',         'Cannot delete skin since it is the default skin for the following weblog: ');
-define('_ERROR_DISALLOWED',                    'Sorry, you\'re not allowed to perform this action');
-define('_ERROR_DELETEBAN',                     'Error while trying to delete ban (ban does not exist)');
-define('_ERROR_ADDBAN',                                'Error while trying to add ban. Ban might not have been added correctly in all your blogs.');
-define('_ERROR_BADACTION',                     'Required action does not exist');
-define('_ERROR_MEMBERMAILDISABLED',    'Member to Member mail messages are disabled');
-define('_ERROR_MEMBERCREATEDISABLED','Creation of member accounts is disabled');
-define('_ERROR_INCORRECTEMAIL',                'Incorrect mail address');
-define('_ERROR_VOTEDBEFORE',           'You have already voted for this item');
-define('_ERROR_BANNED1',                       'Cannot perform action since you (ip range ');
-define('_ERROR_BANNED2',                       ') are banned from doing so. The message was: \'');
-define('_ERROR_BANNED3',                       '\'');
-define('_ERROR_LOGINNEEDED',           'You must be logged in in order to perform this action');
-define('_ERROR_CONNECT',                       'Connect Error');
-define('_ERROR_FILE_TOO_BIG',          'File is too big!');
-define('_ERROR_BADFILETYPE',           'Sorry, this filetype is not allowed');
-define('_ERROR_BADREQUEST',                    'Bad upload request');
-define('_ERROR_DISALLOWEDUPLOAD',      'You are not on any weblogs teamlist. Hence, you are not allowed to upload files');
-define('_ERROR_BADPERMISSIONS',                'File/Dir permissions are not set correctly');
-define('_ERROR_UPLOADMOVEP',           'Error while moving uploaded file');
-define('_ERROR_UPLOADCOPY',                    'Error while copying file');
-define('_ERROR_UPLOADDUPLICATE',       'Another file with that name already exists. Try to rename it before uploading.');
-define('_ERROR_LOGINDISALLOWED',       'Sorry, you\'re not allowed to log in to the admin area. You can log in as another user, though');
-define('_ERROR_DBCONNECT',                     'Could not connect to mySQL server');
-define('_ERROR_DBSELECT',                      'Could not select the nucleus database.');
-define('_ERROR_NOSUCHLANGUAGE',                'No such language file exists');
-define('_ERROR_NOSUCHCATEGORY',                'No such category exists');
-define('_ERROR_DELETELASTCATEGORY',    'There must at least be one category');
-define('_ERROR_DELETEDEFCATEGORY',     'Cannot delete default category');
-define('_ERROR_BADCATEGORYNAME',       'Bad category name');
-define('_ERROR_DUPCATEGORYNAME',       'Another category with this name already exists');
-
-// some warnings (used for mediadir setting)
-define('_WARNING_NOTADIR',                     'Warning: Current value is not a directory!');
-define('_WARNING_NOTREADABLE',         'Warning: Current value is a non-readable directory!');
-define('_WARNING_NOTWRITABLE',         'Warning: Current value is NOT a writable directory!');
-
-// media and upload
-define('_MEDIA_UPLOADLINK',                    'Upload a new file');
-define('_MEDIA_MODIFIED',                      'modified');
-define('_MEDIA_FILENAME',                      'filename');
-define('_MEDIA_DIMENSIONS',                    'dimensions');
-define('_MEDIA_INLINE',                                'Inline');
-define('_MEDIA_POPUP',                         'Popup');
-define('_UPLOAD_TITLE',                                'Choose File');
-define('_UPLOAD_MSG',                          'Select the file you want to upload below, and hit the \'Upload\' button.');
-define('_UPLOAD_BUTTON',                       'Upload');
-
-// some status messages
-//define('_MSG_ACCOUNTCREATED',                'Account created, password will be sent through email');
-//define('_MSG_PASSWORDSENT',                  'Password has been sent by e-mail.');
-define('_MSG_LOGINAGAIN',                      'You\'ll need to login again, because your info changed');
-define('_MSG_SETTINGSCHANGED',         'Settings Changed');
-define('_MSG_ADMINCHANGED',                    'Admin Changed');
-define('_MSG_NEWBLOG',                         'New Blog Created');
-define('_MSG_ACTIONLOGCLEARED',                'Action Log Cleared');
-
-// actionlog in admin area
-define('_ACTIONLOG_DISALLOWED',                'Disallowed action: ');
-define('_ACTIONLOG_PWDREMINDERSENT','New password sent for ');
-define('_ACTIONLOG_TITLE',                     'Action Log');
-define('_ACTIONLOG_CLEAR_TITLE',       'Clear Action Log');
-define('_ACTIONLOG_CLEAR_TEXT',                'Clear action log now');
-
-// team management
-define('_TEAM_TITLE',                          'Manage team for blog ');
-define('_TEAM_CURRENT',                                'Current team');
-define('_TEAM_ADDNEW',                         'Add new member to team');
-define('_TEAM_CHOOSEMEMBER',           'Choose member');
-define('_TEAM_ADMIN',                          'Admin privileges? ');
-define('_TEAM_ADD',                                    'Add to team');
-define('_TEAM_ADD_BTN',                                'Add to team');
-
-// blogsettings
-define('_EBLOG_TITLE',                         'Edit Blog Settings');
-define('_EBLOG_TEAM_TITLE',                    'Edit Team');
-define('_EBLOG_TEAM_TEXT',                     'Click here to edit your team...');
-define('_EBLOG_SETTINGS_TITLE',                'Blog settings');
-define('_EBLOG_NAME',                          'Blog Name');
-define('_EBLOG_SHORTNAME',                     'Short Blog Name');
-define('_EBLOG_SHORTNAME_EXTRA',       '<br />(should only contain a-z and no spaces)');
-define('_EBLOG_DESC',                          'Blog Description');
-define('_EBLOG_URL',                           'URL');
-define('_EBLOG_DEFSKIN',                       'Default Skin');
-define('_EBLOG_DEFCAT',                                'Default Category');
-define('_EBLOG_LINEBREAKS',                    'Convert line breaks');
-define('_EBLOG_DISABLECOMMENTS',       'Comments enabled?<br /><small>(Disabling comments means that adding comments is not possible.)</small>');
-define('_EBLOG_ANONYMOUS',                     'Allow comments by non-members?');
-define('_EBLOG_NOTIFY',                                'Notify Address(es) (use ; as separator)');
-define('_EBLOG_NOTIFY_ON',                     'Notify on');
-define('_EBLOG_NOTIFY_COMMENT',                'New comments');
-define('_EBLOG_NOTIFY_KARMA',          'New karma votes');
-define('_EBLOG_NOTIFY_ITEM',           'New weblog items');
-define('_EBLOG_PING',                          'Ping Weblogs.com on update?');
-define('_EBLOG_MAXCOMMENTS',           'Max Amount of comments');
-define('_EBLOG_UPDATE',                                'Update file');
-define('_EBLOG_OFFSET',                                'Time Offset');
-define('_EBLOG_STIME',                         'Current server time is');
-define('_EBLOG_BTIME',                         'Current blog time is');
-define('_EBLOG_CHANGE',                                'Change Settings');
-define('_EBLOG_CHANGE_BTN',                    'Change Settings');
-define('_EBLOG_ADMIN',                         'Blog Admin');
-define('_EBLOG_ADMIN_MSG',                     'You will be assigned admin privileges');
-define('_EBLOG_CREATE_TITLE',          'Create new weblog');
-define('_EBLOG_CREATE_TEXT',           'Fill out the form below to create a new weblog. <br /><br /> <b>Note:</b> Only the necessary options are listed. If you want to set extra options, enter the blogsettings page after creating the weblog.');
-define('_EBLOG_CREATE',                                'Create!');
-define('_EBLOG_CREATE_BTN',                    'Create Weblog');
-define('_EBLOG_CAT_TITLE',                     'Categories');
-define('_EBLOG_CAT_NAME',                      'Category Name');
-define('_EBLOG_CAT_DESC',                      'Category Description');
-define('_EBLOG_CAT_CREATE',                    'Create New Category');
-define('_EBLOG_CAT_UPDATE',                    'Update Category');
-define('_EBLOG_CAT_UPDATE_BTN',                'Update Category');
-
-// templates
-define('_TEMPLATE_TITLE',                      'Edit Templates');
-define('_TEMPLATE_AVAILABLE_TITLE',    'Available Templates');
-define('_TEMPLATE_NEW_TITLE',          'New Template');
-define('_TEMPLATE_NAME',                       'Template Name');
-define('_TEMPLATE_DESC',                       'Template Description');
-define('_TEMPLATE_CREATE',                     'Create Template');
-define('_TEMPLATE_CREATE_BTN',         'Create Template');
-define('_TEMPLATE_EDIT_TITLE',         'Edit Template');
-define('_TEMPLATE_BACK',                       'Back to Template Overview');
-define('_TEMPLATE_EDIT_MSG',           'Not all template parts are needed, leave empty those that are not needed.');
-define('_TEMPLATE_SETTINGS',           'Template Settings');
-define('_TEMPLATE_ITEMS',                      'Items');
-define('_TEMPLATE_ITEMHEADER',         'Item Header');
-define('_TEMPLATE_ITEMBODY',           'Item Body');
-define('_TEMPLATE_ITEMFOOTER',         'Item Footer');
-define('_TEMPLATE_MORELINK',           'Link to extended entry');
-define('_TEMPLATE_NEW',                                'Indication of new item');
-define('_TEMPLATE_COMMENTS_ANY',       'Comments (if any)');
-define('_TEMPLATE_CHEADER',                    'Comments Header');
-define('_TEMPLATE_CBODY',                      'Comments Body');
-define('_TEMPLATE_CFOOTER',                    'Comments Footer');
-define('_TEMPLATE_CONE',                       'One Comment');
-define('_TEMPLATE_CMANY',                      'Two (or more) Comments');
-define('_TEMPLATE_CMORE',                      'Comments Read More');
-define('_TEMPLATE_CMEXTRA',                    'Member Extra');
-define('_TEMPLATE_COMMENTS_NONE',      'Comments (if none)');
-define('_TEMPLATE_CNONE',                      'No Comments');
-define('_TEMPLATE_COMMENTS_TOOMUCH','Comments (if any, but too much to show inline)');
-define('_TEMPLATE_CTOOMUCH',           'Too Much Comments');
-define('_TEMPLATE_ARCHIVELIST',                'Archive Lists');
-define('_TEMPLATE_AHEADER',                    'Archive List Header');
-define('_TEMPLATE_AITEM',                      'Archive List Item');
-define('_TEMPLATE_AFOOTER',                    'Archive List Footer');
-define('_TEMPLATE_DATETIME',           'Date and Time');
-define('_TEMPLATE_DHEADER',                    'Date Header');
-define('_TEMPLATE_DFOOTER',                    'Date Footer');
-define('_TEMPLATE_DFORMAT',                    'Date Format');
-define('_TEMPLATE_TFORMAT',                    'Time Format');
-define('_TEMPLATE_LOCALE',                     'Locale');
-define('_TEMPLATE_IMAGE',                      'Image popups');
-define('_TEMPLATE_PCODE',                      'Popup Link Code');
-define('_TEMPLATE_ICODE',                      'Inline Image Code');
-define('_TEMPLATE_MCODE',                      'Media Object Link Code');
-define('_TEMPLATE_SEARCH',                     'Search');
-define('_TEMPLATE_SHIGHLIGHT',         'Highlight');
-define('_TEMPLATE_SNOTFOUND',          'Nothing found in search');
-define('_TEMPLATE_UPDATE',                     'Update');
-define('_TEMPLATE_UPDATE_BTN',         'Update Template');
-define('_TEMPLATE_RESET_BTN',          'Reset Data');
-define('_TEMPLATE_CATEGORYLIST',       'Category Lists');
-define('_TEMPLATE_CATHEADER',          'Category List Header');
-define('_TEMPLATE_CATITEM',                    'Category List Item');
-define('_TEMPLATE_CATFOOTER',          'Category List Footer');
-
-// skins
-define('_SKIN_EDIT_TITLE',                     'Edit Skins');
-define('_SKIN_AVAILABLE_TITLE',                'Available Skins');
-define('_SKIN_NEW_TITLE',                      'New Skin');
-define('_SKIN_NAME',                           'Name');
-define('_SKIN_DESC',                           'Description');
-define('_SKIN_TYPE',                           'Content Type');
-define('_SKIN_CREATE',                         'Create');
-define('_SKIN_CREATE_BTN',                     'Create Skin');
-define('_SKIN_EDITONE_TITLE',          'Edit skin');
-define('_SKIN_BACK',                           'Back to Skin Overview');
-define('_SKIN_PARTS_TITLE',                    'Skin Parts');
-define('_SKIN_PARTS_MSG',                      'Not all types are needed for each skin. Leave empty those you don\'t need. Choose the skin type to edit below:');
-define('_SKIN_PART_MAIN',                      'Main Index');
-define('_SKIN_PART_ITEM',                      'Item Pages');
-define('_SKIN_PART_ALIST',                     'Archive List');
-define('_SKIN_PART_ARCHIVE',           'Archive');
-define('_SKIN_PART_SEARCH',                    'Search');
-define('_SKIN_PART_ERROR',                     'Errors');
-define('_SKIN_PART_MEMBER',                    'Member Details');
-define('_SKIN_PART_POPUP',                     'Image Popups');
-define('_SKIN_GENSETTINGS_TITLE',      'General Settings');
-define('_SKIN_CHANGE',                         'Change');
-define('_SKIN_CHANGE_BTN',                     'Change these settings');
-define('_SKIN_UPDATE_BTN',                     'Update Skin');
-define('_SKIN_RESET_BTN',                      'Reset Data');
-define('_SKIN_EDITPART_TITLE',         'Edit Skin');
-define('_SKIN_GOBACK',                         'Go Back');
-define('_SKIN_ALLOWEDVARS',                    'Allowed Variables (click for info):');
-
-// global settings
-define('_SETTINGS_TITLE',                      'General Settings');
-define('_SETTINGS_SUB_GENERAL',                'General Settings');
-define('_SETTINGS_DEFBLOG',                    'Default Blog');
-define('_SETTINGS_ADMINMAIL',          'Administrator Email');
-define('_SETTINGS_SITENAME',           'Site Name');
-define('_SETTINGS_SITEURL',                    'URL of Site (should end with a slash)');
-define('_SETTINGS_ADMINURL',           'URL of Admin Area (should end with a slash)');
-define('_SETTINGS_DIRS',                       'Nucleus Directories');
-define('_SETTINGS_MEDIADIR',           'Media Directory');
-define('_SETTINGS_SEECONFIGPHP',       '(see config.php)');
-define('_SETTINGS_MEDIAURL',           'Media URL (should end with a slash)');
-define('_SETTINGS_ALLOWUPLOAD',                'Allow File Upload?');
-define('_SETTINGS_ALLOWUPLOADTYPES','Allow File Types for Upload');
-define('_SETTINGS_CHANGELOGIN',                'Allow Members to Change Login/Password');
-define('_SETTINGS_COOKIES_TITLE',      'Cookie Settings');
-define('_SETTINGS_COOKIELIFE',         'Login Cookie Lifetime');
-define('_SETTINGS_COOKIESESSION',      'Session Cookies');
-define('_SETTINGS_COOKIEMONTH',                'Lifetime of a Month');
-define('_SETTINGS_COOKIEPATH',         'Cookie Path (advanced)');
-define('_SETTINGS_COOKIEDOMAIN',       'Cookie Domain (advanced)');
-define('_SETTINGS_COOKIESECURE',       'Secure Cookie (advanced)');
-define('_SETTINGS_LASTVISIT',          'Save Last Visit Cookies');
-define('_SETTINGS_ALLOWCREATE',                'Allow Visitors to Create a Member Account');
-define('_SETTINGS_NEWLOGIN',           'Login Allowed for User-Created accounts');
-define('_SETTINGS_NEWLOGIN2',          '(only goes for newly created accounts)');
-define('_SETTINGS_MEMBERMSGS',         'Allow Member-2-Member Service');
-define('_SETTINGS_LANGUAGE',           'Default Language');
-define('_SETTINGS_DISABLESITE',                'Disable Site');
-define('_SETTINGS_DBLOGIN',                    'mySQL Login &amp; Database');
-define('_SETTINGS_UPDATE',                     'Update Settings');
-define('_SETTINGS_UPDATE_BTN',         'Update Settings');
-define('_SETTINGS_DISABLEJS',          'Disable JavaScript Toolbar');
-define('_SETTINGS_MEDIA',                      'Media/Upload Settings');
-define('_SETTINGS_MEDIAPREFIX',                'Prefix uploaded files with date');
-define('_SETTINGS_MEMBERS',                    'Member Settings');
-
-// bans
-define('_BAN_TITLE',                           'Ban List for');
-define('_BAN_NONE',                                    'No bans for this weblog');
-define('_BAN_NEW_TITLE',                       'Add New Ban');
-define('_BAN_NEW_TEXT',                                'Add a new ban now');
-define('_BAN_REMOVE_TITLE',                    'Remove Ban');
-define('_BAN_IPRANGE',                         'IP Range');
-define('_BAN_BLOGS',                           'Which blogs?');
-define('_BAN_DELETE_TITLE',                    'Delete Ban');
-define('_BAN_ALLBLOGS',                                'All blogs to which you have admin privileges.');
-define('_BAN_REMOVED_TITLE',           'Ban Removed');
-define('_BAN_REMOVED_TEXT',                    'Ban was removed for the following blogs:');
-define('_BAN_ADD_TITLE',                       'Add Ban');
-define('_BAN_IPRANGE_TEXT',                    'Choose the IP range you want to block below. The less numbers in it, the more addresses will be blocked.');
-define('_BAN_BLOGS_TEXT',                      'You can either select to ban the IP on one blog only, or you can select to block the IP on all blogs where you have administrator privileges. Make your choice below.');
-define('_BAN_REASON_TITLE',                    'Reason');
-define('_BAN_REASON_TEXT',                     'You can provide a reason for the ban, which will be displayed when the IP holder tries to add another comment or tries to cast a karma vote. Maximum length is 256 characters.');
-define('_BAN_ADD_BTN',                         'Add Ban');
-
-// LOGIN screen
-define('_LOGIN_MESSAGE',                       'Message');
-define('_LOGIN_NAME',                          'Name');
-define('_LOGIN_PASSWORD',                      'Password');
-define('_LOGIN_SHARED',                                _LOGINFORM_SHARED);
-define('_LOGIN_FORGOT',                                'Forgot your password?');
-
-// membermanagement
-define('_MEMBERS_TITLE',                       'Member Management');
-define('_MEMBERS_CURRENT',                     'Current Members');
-define('_MEMBERS_NEW',                         'New Member');
-define('_MEMBERS_DISPLAY',                     'Display Name');
-define('_MEMBERS_DISPLAY_INFO',                '(This is the name you use to login)');
-define('_MEMBERS_REALNAME',                    'Real Name');
-define('_MEMBERS_PWD',                         'Password');
-define('_MEMBERS_REPPWD',                      'Repeat Password');
-define('_MEMBERS_EMAIL',                       'Email address');
-define('_MEMBERS_EMAIL_EDIT',          '(When you change the email address, a new password will be automatically sent out to that address)');
-define('_MEMBERS_URL',                         'Website Address (URL)');
-define('_MEMBERS_SUPERADMIN',          'Administrator privileges');
-define('_MEMBERS_CANLOGIN',                    'Can login to admin area');
-define('_MEMBERS_NOTES',                       'Notes');
-define('_MEMBERS_NEW_BTN',                     'Add Member');
-define('_MEMBERS_EDIT',                                'Edit Member');
-define('_MEMBERS_EDIT_BTN',                    'Change Settings');
-define('_MEMBERS_BACKTOOVERVIEW',      'Back to Member Overview');
-define('_MEMBERS_DEFLANG',                     'Language');
-define('_MEMBERS_USESITELANG',         '- use site settings -');
-
-// List of blogs (TT = tooltip)
-define('_BLOGLIST_TT_VISIT',           'Visit Site');
-define('_BLOGLIST_ADD',                                'Add Item');
-define('_BLOGLIST_TT_ADD',                     'Add a new item to this weblog');
-define('_BLOGLIST_EDIT',                       'Edit/Delete Items');
-define('_BLOGLIST_TT_EDIT',                    '');
-define('_BLOGLIST_BMLET',                      'Bookmarklet');
-define('_BLOGLIST_TT_BMLET',           '');
-define('_BLOGLIST_SETTINGS',           'Settings');
-define('_BLOGLIST_TT_SETTINGS',                'Edit settings or manage team');
-define('_BLOGLIST_BANS',                       'Bans');
-define('_BLOGLIST_TT_BANS',                    'View, add or remove banned IPs');
-define('_BLOGLIST_DELETE',                     'Delete All');
-define('_BLOGLIST_TT_DELETE',          'Delete this weblog');
-
-// OVERVIEW screen
-define('_OVERVIEW_YRBLOGS',                    'Your weblogs');
-define('_OVERVIEW_YRDRAFTS',           'Your drafts');
-define('_OVERVIEW_YRSETTINGS',         'Your settings');
-define('_OVERVIEW_GSETTINGS',          'General settings');
-define('_OVERVIEW_NOBLOGS',                    'You\'re not on any weblogs teamlist');
-define('_OVERVIEW_NODRAFTS',           'No drafts');
-define('_OVERVIEW_EDITSETTINGS',       'Edit Your Settings...');
-define('_OVERVIEW_BROWSEITEMS',                'Browse your items...');
-define('_OVERVIEW_BROWSECOMM',         'Browse your comments...');
-define('_OVERVIEW_VIEWLOG',                    'View Action Log...');
-define('_OVERVIEW_MEMBERS',                    'Manage Members...');
-define('_OVERVIEW_NEWLOG',                     'Create New Weblog...');
-define('_OVERVIEW_SETTINGS',           'Edit Settings...');
-define('_OVERVIEW_TEMPLATES',          'Edit Templates...');
-define('_OVERVIEW_SKINS',                      'Edit Skins...');
-define('_OVERVIEW_BACKUP',                     'Backup/Restore...');
-
-// ITEMLIST
-define('_ITEMLIST_BLOG',                       'Items for blog');
-define('_ITEMLIST_YOUR',                       'Your items');
-
-// Comments
-define('_COMMENTS',                                    'Comments');
-define('_NOCOMMENTS',                          'No comments for this item');
-define('_COMMENTS_YOUR',                       'Your Comments');
-define('_NOCOMMENTS_YOUR',                     'You didn\'t write any comments');
-
-// LISTS (general)
-define('_LISTS_NOMORE',                                'No more results, or no results at all');
-define('_LISTS_PREV',                          'Previous');
-define('_LISTS_NEXT',                          'Next');
-define('_LISTS_SEARCH',                                'Search');
-define('_LISTS_CHANGE',                                'Change');
-define('_LISTS_PERPAGE',                       'items/page');
-define('_LISTS_ACTIONS',                       'Actions');
-define('_LISTS_DELETE',                                'Delete');
-define('_LISTS_EDIT',                          'Edit');
-define('_LISTS_MOVE',                          'Move');
-define('_LISTS_CLONE',                         'Clone');
-define('_LISTS_TITLE',                         'Title');
-define('_LISTS_BLOG',                          'Blog');
-define('_LISTS_NAME',                          'Name');
-define('_LISTS_DESC',                          'Description');
-define('_LISTS_TIME',                          'Time');
-define('_LISTS_COMMENTS',                      'Comments');
-define('_LISTS_TYPE',                          'Type');
-
-
-// member list
-define('_LIST_MEMBER_NAME',                    'Display Name');
-define('_LIST_MEMBER_RNAME',           'Real Name');
-define('_LIST_MEMBER_ADMIN',           'Super-admin? ');
-define('_LIST_MEMBER_LOGIN',           'Can login? ');
-define('_LIST_MEMBER_URL',                     'Website');
-
-// banlist
-define('_LIST_BAN_IPRANGE',                    'IP Range');
-define('_LIST_BAN_REASON',                     'Reason');
-
-// actionlist
-define('_LIST_ACTION_MSG',                     'Message');
-
-// commentlist
-define('_LIST_COMMENT_BANIP',          'Ban IP');
-define('_LIST_COMMENT_WHO',                    'Author');
-define('_LIST_COMMENT',                                'Comment');
-define('_LIST_COMMENT_HOST',           'Host');
-
-// itemlist
-define('_LIST_ITEM_INFO',                      'Info');
-define('_LIST_ITEM_CONTENT',           'Title and Text');
-
-
-// teamlist
-define('_LIST_TEAM_ADMIN',                     'Admin ');
-define('_LIST_TEAM_CHADMIN',           'Change Admin');
-
-// edit comments
-define('_EDITC_TITLE',                         'Edit Comments');
-define('_EDITC_WHO',                           'Author');
-define('_EDITC_HOST',                          'From Where?');
-define('_EDITC_WHEN',                          'When?');
-define('_EDITC_TEXT',                          'Text');
-define('_EDITC_EDIT',                          'Edit Comment');
-define('_EDITC_MEMBER',                                'member');
-define('_EDITC_NONMEMBER',                     'non member');
-
-// move item
-define('_MOVE_TITLE',                          'Move to which blog?');
-define('_MOVE_BTN',                                    'Move Item');
-
-?>
diff --git a/euc/nucleus/language/index.html b/euc/nucleus/language/index.html
deleted file mode 100755 (executable)
index 50f792c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/language/japanese-euc.php b/euc/nucleus/language/japanese-euc.php
deleted file mode 100755 (executable)
index d4aa9ac..0000000
+++ /dev/null
@@ -1,999 +0,0 @@
-<?php
-// Japanese (EUC-JP) Nucleus Language File
-// 
-// Author: chrome (chrome@cgi.no-ip.org)
-// Modified by: Osamu Higuchi (osamu@higuchi.com)
-// Nucleus version: v1.0-v3.2
-//
-// Please note: if you want to translate this file to your own language, be aware
-// that in a next Nucleus version, new variables might be added and some other ones
-// might be deleted. Therefor, it's important to list the Nucleus version for which 
-// the file was written in your document.
-//
-// Fully translated language file can be sent to us and will be made
-// available for download (with proper credit to the author, of course)
-
-// Note for Japanese users
-// ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï Nucleus ¤Î EUC-JP ÈÇÆüËܸì¥é¥ó¥²¡¼¥¸¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-
-// START merge UTF-8 and EUC-JP
-define('_ADMIN_NOTABILIA',                     'Ãí°Õ»ö¹à');
-define('_ADMIN_PLEASE_READ',           'ºîÀ®¤Ë¤¢¤¿¤Ã¤Æ¡¢²¼µ­¤Î<strong>Ãí°Õ»ö¹à</strong> ¤ò¤Þ¤º¤ªÆɤ߲¼¤µ¤¤');
-define('_ADMIN_HOW_TO_ACCESS',         '¿·¤·¤¤weblog¤òºîÀ®¤·¤¿¸å¤Ë¡¢¤³¤Îblog¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ÎÊýË¡¤ò¾Ò²ð¤·¤Æ¤ª¤­¤Þ¤¹¡£ÊýË¡¤Ï2¤Ä¤¢¤ê¤Þ¤¹:');
-define('_ADMIN_SIMPLE_WAY',                    '<strong>´Êñ¤ÊÊýË¡:</strong> <code>index.php</code>¤ÎÊ£À½¤òºî¤ê¡¢¿·¤·¤¤blog¤òɽ¼¨¤¹¤ë¤è¤¦¤ËÊѹ¹¤ò²Ã¤¨¤Þ¤¹¡£ ¤³¤ÎÊѹ¹¤Î¾ÜºÙ¤Ï¡¢ºîÀ®¸å¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£');
-define('_ADMIN_DIFFICULT_WAY',         '<strong>¹âÅÙ¤ÊÊýË¡:</strong> ¸½ºß¤Îblog¤Ç»ÈÍѤ·¤Æ¤¤¤ë¥¹¥­¥ó¤Ë<code>otherblog</code>¤È¤¤¤¦¥³¡¼¥É¤ò»È¤Ã¤¿µ­½Ò¤ò²Ã¤¨¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ç¤Ï¡¢Æ±¤¸¥Ú¡¼¥¸Æâ¤ÇÊ£¿ô¤Îblog¤òŸ³«¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£');
-define('_ADMIN_HOW_TO_CREATE',         'Weblog¤ÎºîÀ®');
-
-
-define('_BOOKMARKLET_NEW_CATEGORY',    '¥¢¥¤¥Æ¥à¤ÏÄɲ䵤졢¿·¤·¤¤¥«¥Æ¥´¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£');
-define('_BOOKMARKLET_SEND_PING',       '¥¢¥¤¥Æ¥à¤ÎÄɲäËÀ®¸ù¤·¤Þ¤·¤¿¡£¸½ºßweblogs.com¤Ëping¤òÁ÷¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤Ð¤é¤¯¤Î´Ö¤ªÂÔ¤Á¤¯¤À¤µ¤¤...');
-
-// END merge UTF-8 and EUC-JP
-
-
-// START changed/added after 3.3 START
-define('_AUTOSAVEDRAFT',                       '¥É¥é¥Õ¥ÈÊݸ¾õ¶·');
-define('_AUTOSAVEDRAFT_LASTSAVED',     'ºÇ½ª¥É¥é¥Õ¥ÈÊݸÆü»þ: ');
-define('_AUTOSAVEDRAFT_NOTYETSAVED',   '̤Êݸ¤Ç¤¹');
-define('_AUTOSAVEDRAFT_NOW',           '¥É¥é¥Õ¥ÈÊݸ');
-define('_SKIN_PARTS_SPECIAL',          '¥¹¥Ú¥·¥ã¥ë¥¹¥­¥ó¥Ñ¡¼¥Ä');
-define('_ERROR_SKIN_PARTS_SPECIAL_FORMAT',             '±Ñ¿ô»ú°Ê³°¤Îʸ»ú¤Ï»È¤¨¤Þ¤»¤ó');
-define('_ERROR_SKIN_PARTS_SPECIAL_DELETE',             '¤³¤Î¥¹¥­¥ó¥Ñ¡¼¥È¤òºï½ü¤Ç¤­¤Þ¤»¤ó');
-define('_CONFIRMTXT_SKIN_PARTS_SPECIAL',               'ËÜÅö¤Ë¤³¤Î¥¹¥Ú¥·¥ã¥ë¥¹¥­¥ó¥Ñ¡¼¥È¤òºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«¡©');
-define('_ERROR_PLUGIN_LOAD',           '¥×¥é¥°¥¤¥ó¤¬Æɤ߹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£¤â¤¯¤Ï¡¢»ÈÍÑÃæ¤Î Nucleus ¾å¤ÇÆ°ºî¤µ¤»¤ë¤¿¤á¤ËɬÍפʵ¡Ç½¤¬¡¢¥×¥é¥°¥¤¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£(<a href="?action=actionlog">´ÉÍýÁàºîÍúÎò</a>¤Ë¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£)');
-// END changed/added after 3.3 END
-
-// START changed/added after 3.22 START
-define('_SEARCHFORM_QUERY',                    '¸¡º÷¥­¡¼¥ï¡¼¥É');
-define('_ERROR_EMAIL_REQUIRED',                '¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬É¬ÍפǤ¹');
-define('_COMMENTFORM_MAIL',                    '¥¦¥§¥Ö¥µ¥¤¥È:');
-define('_COMMENTFORM_EMAIL',           '¥á¡¼¥ë:');
-define('_EBLOG_REQUIREDEMAIL',         '¥³¥á¥ó¥È¤Ë¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÍ׵᤹¤ë');
-define('_ERROR_COMMENTS_SPAM',      '¤¢¤Ê¤¿¤Î¥³¥á¥ó¥È¤Ï¡¢¥¹¥Ñ¥à¥Æ¥¹¥È¤Î·ë²Ì¡¢µñÈݤµ¤ì¤Þ¤·¤¿');
-// END changed/added after 3.22 END
-
-// START changed/added after 3.15 START
-
-define('_LIST_PLUG_SUBS_NEEDUPDATE','Please use the \'Update Subscription list\'-button to update the plugin\'s subscription list.');
-define('_LIST_PLUGS_DEP',                      'Plugin(s) requires:');
-
-// END changed/added after 3.15
-
-// START changed/added after 3.1 START
-
-// comments list per weblog
-define('_COMMENTS_BLOG',                       '¥³¥á¥ó¥È¤Î¥ê¥¹¥È:');
-define('_NOCOMMENTS_BLOG',                     '¤³¤Îblog¤Ë¤Ï¤Þ¤À¥³¥á¥ó¥È¤¬¤Ä¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_BLOGLIST_COMMENTS',           '¥³¥á¥ó¥È');
-define('_BLOGLIST_TT_COMMENTS',                '¤³¤Îblog¤Ë¤Ä¤±¤é¤ì¤¿¥³¥á¥ó¥È¤Î¥ê¥¹¥È');
-
-
-// for use in archivetype-skinvar
-define('_ARCHIVETYPE_DAY',                     'Æü');
-define('_ARCHIVETYPE_MONTH',           '·î');
-
-// tickets (prevents malicious users to trick an admin to perform actions he doesn't want)
-define('_ERROR_BADTICKET',                     'Invalid or expired ticket.');
-
-// plugin dependency
-define('_ERROR_INSREQPLUGIN',          'Plugin installation failed, requires ');
-define('_ERROR_DELREQPLUGIN',          'Plugin deletion failed, required by ');
-
-// cookie prefix
-define('_SETTINGS_COOKIEPREFIX',       'Cookie ¥×¥ì¥Õ¥£¥Ã¥¯¥¹');
-
-// account activation
-define('_ERROR_NOLOGON_NOACTIVATE',    'ǧ¾ÚÍÑ¥ê¥ó¥¯¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó¡£¤¢¤Ê¤¿¤Î¥í¥°¥¤¥ó¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£');
-define('_ERROR_ACTIVATE',                      'ǧ¾Ú¥­¡¼¤Ï¸ºß¤·¤Ê¤¤¤«¡¢Ìµ¸ú¤«¡¢¤¢¤ë¤¤¤Ï´ü¸ÂÀÚ¤ì¤Ç¤¹¡£');
-define('_ACTIONLOG_ACTIVATIONLINK', 'ǧ¾ÚÍÑ¥ê¥ó¥¯¤¬Á÷¿®¤µ¤ì¤Þ¤·¤¿');
-define('_MSG_ACTIVATION_SENT',         'ǧ¾ÚÍÑ¥ê¥ó¥¯¤¬¥á¡¼¥ë¤ÇÁ÷¤é¤ì¤Þ¤·¤¿¡£');
-
-// activation link emails
-define('_ACTIVATE_REGISTER_MAIL',      "¤³¤ó¤Ë¤Á¤Ï <%memberName%>\n\n<%siteName%> (<%siteUrl%>)¤Ë¤ª¤±¤ë¥¢¥«¥¦¥ó¥È¤òÍ­¸ú¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\n¼¡¤Î¥ê¥ó¥¯¤òˬ¤ì¤ë¤³¤È¤Ë¤è¤ê¤½¤ì¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡§\n\n\t<%activationUrl%>\n\nÆóÆü°ÊÆâ¤Ë¤³¤ì¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤ò²á¤®¤ì¤Ð¡¢Ç§¾ÚÍÑ¥ê¥ó¥¯¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£");
-define('_ACTIVATE_REGISTER_MAILTITLE', "¥¢¥«¥¦¥ó¥È'<%memberName%>'¤Îǧ¾Ú");
-define('_ACTIVATE_REGISTER_TITLE',     '¤è¤¦¤³¤½ <%memberName%>');
-define('_ACTIVATE_REGISTER_TEXT',      '¥¢¥«¥¦¥ó¥ÈºîÀ®¤Ï¤Û¤Ü´°Î»¤·¤Þ¤·¤¿¡£²¼¤Î¥Õ¥©¡¼¥à¤Ç¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£');
-define('_ACTIVATE_FORGOT_MAIL',                "¤³¤ó¤Ë¤Á¤Ï <%memberName%>\n\n²¼¤Î¥ê¥ó¥¯¤«¤é¡¢¤³¤Î<%siteName%> (<%siteUrl%>)¤Ë¤ª¤±¤ë¥¢¥«¥¦¥ó¥È¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\n\n\t<%activationUrl%>\n\nÆóÆü°ÊÆâ¤Ë¤³¤ì¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤ò²á¤®¤ì¤Ð¡¢Ç§¾ÚÍÑ¥ê¥ó¥¯¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£");
-define('_ACTIVATE_FORGOT_MAILTITLE',"¥¢¥«¥¦¥ó¥È'<%memberName%>'¤ÎºÆǧ¾Ú");
-define('_ACTIVATE_FORGOT_TITLE',       '¤è¤¦¤³¤½ <%memberName%>');
-define('_ACTIVATE_FORGOT_TEXT',                '²¼¤Î¥Õ¥©¡¼¥à¤Ç¥¢¥«¥¦¥ó¥È¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄê¤Ç¤­¤Þ¤¹¡£');
-define('_ACTIVATE_CHANGE_MAIL',                "¤³¤ó¤Ë¤Á¤Ï <%memberName%>\n\n¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬Êѹ¹¤µ¤ì¤¿¤Î¤Ç¡¢<%siteName%> (<%siteUrl%>)¤Ë¤ª¤±¤ë¥¢¥«¥¦¥ó¥È¤òºÆǧ¾Ú¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\¼¡¤Î¥ê¥ó¥¯¤òˬ¤ì¤ë¤³¤È¤Ë¤è¤ê¤½¤ì¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡§\n\n\t<%activationUrl%>\n\nÆóÆü°ÊÆâ¤Ë¤³¤ì¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤ò²á¤®¤ì¤Ð¡¢Ç§¾ÚÍÑ¥ê¥ó¥¯¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£");
-define('_ACTIVATE_CHANGE_MAILTITLE',"¥¢¥«¥¦¥ó¥È'<%memberName%>'¤ÎºÆǧ¾Ú");
-define('_ACTIVATE_CHANGE_TITLE',       '¤è¤¦¤³¤½ <%memberName%>');
-define('_ACTIVATE_CHANGE_TEXT',                '¥á¡¼¥ë¥¢¥É¥ì¥¹¤ÎÊѹ¹¤¬³Îǧ¤µ¤ì¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¡ª');
-define('_ACTIVATE_SUCCESS_TITLE',      'ǧ¾Ú¤ËÀ®¸ù¤·¤Þ¤·¤¿');
-define('_ACTIVATE_SUCCESS_TEXT',       '¥¢¥«¥¦¥ó¥È¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£');
-define('_MEMBERS_SETPWD',                      '¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë');
-define('_MEMBERS_SETPWD_BTN',          '¥Ñ¥¹¥ï¡¼¥É¤òÀßÄê');
-define('_QMENU_ACTIVATE',                      '¥¢¥«¥¦¥ó¥È¤Îǧ¾Ú');
-define('_QMENU_ACTIVATE_TEXT',         '<p>¥¢¥«¥¦¥ó¥È¤òÍ­¸ú¤Ë¤¹¤ì¤Ð¡¢<a href="index.php?action=showlogin">¥í¥°¥¤¥ó</a>¤¹¤ë¤³¤È¤Ë¤è¤êÍøÍѤǤ­¤Þ¤¹¡£</p>');
-
-define('_PLUGS_BTN_UPDATE',                    'ÅÐÏ¿¥ê¥¹¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥È');
-
-// global settings 
-define('_SETTINGS_JSTOOLBAR',          'Javascript¥Ä¡¼¥ë¥Ð¡¼¤Î¥¹¥¿¥¤¥ë');
-define('_SETTINGS_JSTOOLBAR_FULL',     '¥Õ¥ë¡¦¥Ä¡¼¥ë¥Ð¡¼(IE)');
-define('_SETTINGS_JSTOOLBAR_SIMPLE','¥·¥ó¥×¥ë¡¦¥Ä¡¼¥ë¥Ð¡¼(IE°Ê³°)');
-define('_SETTINGS_JSTOOLBAR_NONE',     '¥Ä¡¼¥ë¥Ð¡¼¤ò»È¤ï¤Ê¤¤');
-define('_SETTINGS_URLMODE_HELP',       '(»²¹Í¡§<a href="documentation/tips.html#searchengines-fancyurls">fancy URL¤òÍ­¸ú¤Ë¤¹¤ëÊýË¡</a>)');
-
-// extra plugin settings part when editing categories/members/blogs/...
-define('_PLUGINS_EXTRA',                       '¥×¥é¥°¥¤¥ó¤Ë¤è¤ëÄɲÃÀßÄê');
-
-// itemlist info column keys
-define('_LIST_ITEM_BLOG',                      'blog:');
-define('_LIST_ITEM_CAT',                       'cat:');
-define('_LIST_ITEM_AUTHOR',                    'Ãø¼Ô:');
-define('_LIST_ITEM_DATE',                      'ÆüÉÕ:');
-define('_LIST_ITEM_TIME',                      '»þ´Ö:');
-
-// indication of registered members in comments list
-define('_LIST_COMMENTS_MEMBER',        '(¥á¥ó¥Ð¡¼)');
-
-// batch operations
-define('_BATCH_WITH_SEL',                      'ÁªÂò¤µ¤ì¤¿¤â¤Î¤ò¡§');
-define('_BATCH_EXEC',                          '¼Â¹Ô');
-
-// quickmenu
-// Note: _USER_SETTINGS ¤È _MANAGE_SETTINGS ¤Ï 3.3 °Ê¹ß¡¢¥ª¥ê¥¸¥Ê¥ëÈǤÏ
-// Êѹ¹¤µ¤ì¤Þ¤·¤¿¤¬¡¢ÆüËܸìÈǤÏɽµ­¤ò¤½¤Î¤Þ¤Þ¤È¤·¤Þ¤¹¡£
-// ´Ö°ã¤Ã¤Æ¹¹¿·¤·¤Ê¤¤¤è¤¦¤Ë!!
-define('_QMENU_HOME',                          '´ÉÍý¥Û¡¼¥à');
-define('_QMENU_ADD',                           '¥¢¥¤¥Æ¥àÄɲÃ');
-define('_QMENU_ADD_SELECT',                    '- blogÁªÂò -');
-define('_QMENU_USER_SETTINGS',         '¤¢¤Ê¤¿¤ÎÀßÄê');
-define('_QMENU_USER_ITEMS',                    '¤¢¤Ê¤¿¤Î¥¢¥¤¥Æ¥à');
-define('_QMENU_USER_COMMENTS',         '¤¢¤Ê¤¿¤Î¥³¥á¥ó¥È');
-define('_QMENU_MANAGE',                                '¥µ¥¤¥È´ÉÍý');
-define('_QMENU_MANAGE_LOG',                    '´ÉÍýÁàºîÍúÎò');
-define('_QMENU_MANAGE_SETTINGS',       '¥°¥í¡¼¥Ð¥ëÀßÄê');
-define('_QMENU_MANAGE_MEMBERS',                '¥á¥ó¥Ð¡¼´ÉÍý');
-define('_QMENU_MANAGE_NEWBLOG',                '¿·µ¬BlogºîÀ®');
-define('_QMENU_MANAGE_BACKUPS',                'DBÊݸ/Éü¸µ');
-define('_QMENU_MANAGE_PLUGINS',                '¥×¥é¥°¥¤¥ó´ÉÍý');
-define('_QMENU_LAYOUT',                                '¥ì¥¤¥¢¥¦¥ÈÀßÄê');
-define('_QMENU_LAYOUT_SKINS',          '¥¹¥­¥óÊÔ½¸');
-define('_QMENU_LAYOUT_TEMPL',          '¥Æ¥ó¥×¥ì¡¼¥ÈÊÔ½¸');
-define('_QMENU_LAYOUT_IEXPORT',                'Æɹþ/½ñ½Ð');
-define('_QMENU_PLUGINS',                       '¥×¥é¥°¥¤¥ó');
-
-// quickmenu on logon screen
-define('_QMENU_INTRO',                         'ƳÆþ¥¬¥¤¥É');
-define('_QMENU_INTRO_TEXT',                    '<p>¤³¤³¤Ï¥¦¥§¥Ö¥µ¥¤¥È¤Î´ÉÍý¤ò¹Ô¤¦¥³¥ó¥Æ¥ó¥Ä´ÉÍý¥·¥¹¥Æ¥à¡¢¡ÖNucleus CMS¡×¤Î¥í¥°¥¤¥ó²èÌ̤Ǥ¹¡£</p><p>¥¢¥«¥¦¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð¥í¥°¥¤¥ó¤·¤Æµ­»ö¤Î¿·µ¬Åê¹Æ¤¬¤Ç¤­¤Þ¤¹¡£</p>');
-
-// helppages for plugins
-define('_ERROR_PLUGNOHELPFILE',                '¤³¤Î¥×¥é¥°¥¤¥óÍѤΥإë¥×¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó');
-define('_PLUGS_HELP_TITLE',                    '¥×¥é¥°¥¤¥ó¤Î¥Ø¥ë¥×¥Ú¡¼¥¸');
-define('_LIST_PLUGS_HELP',                     '¥Ø¥ë¥×');
-
-// END changed/started after 3.1
-
-// START changed/added after v2.5beta START
-
-// general settings (security)
-define('_SETTINGS_EXTAUTH',                    'Enable External Authentication');
-define('_WARNING_EXTAUTH',                     'Warning: Enable only if needed.');
-
-// member profile
-define('_MEMBERS_BYPASS',                      'Use External Authentication');
-
-// 'always include in search' blog setting (yes/no) [in v2.5beta, the 'always' part wasn't clear]
-define('_EBLOG_SEARCH',                                '<em>¾ï¤Ë</em>¸¡º÷Âоݤˤ¹¤ë');
-
-// END changed/added after v2.5beta
-
-// START introduced after v2.0 START
-
-// media library
-define('_MEDIA_VIEW',                          'ɽ¼¨');
-define('_MEDIA_VIEW_TT',                       '¥Õ¥¡¥¤¥ëɽ¼¨ (¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤¬³«¤­¤Þ¤¹)');
-define('_MEDIA_FILTER_APPLY',          '¥Õ¥£¥ë¥¿¡¼Å¬±þ');
-define('_MEDIA_FILTER_LABEL',          '¥Õ¥£¥ë¥¿¡¼: ');
-define('_MEDIA_UPLOAD_TO',                     '¥¢¥Ã¥×¥í¡¼¥ÉÀè...');
-define('_MEDIA_UPLOAD_NEW',                    '¿·µ¬¥¢¥Ã¥×¥í¡¼¥É...');
-define('_MEDIA_COLLECTION_SELECT',     'ÁªÂò');
-define('_MEDIA_COLLECTION_TT',         '¤³¤Î¥«¥Æ¥´¥ê¡¼¤ËÀÚ¤êÂؤ¨');
-define('_MEDIA_COLLECTION_LABEL',      '¸½ºß¤Î¥³¥ì¥¯¥·¥ç¥ó: ');
-
-// tooltips on toolbar
-define('_ADD_ALIGNLEFT_TT',                    'º¸´ó¤»');
-define('_ADD_ALIGNRIGHT_TT',           '±¦´ó¤»');
-define('_ADD_ALIGNCENTER_TT',          'Ãæ±û´ó¤»');
-
-// generic upload failure
-define('_ERROR_UPLOADFAILED',          '¥¢¥Ã¥×¥í¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿');
-
-// END introduced after v2.0 END
-
-// START introduced after v1.5 START
-
-// posting to the past/edit timestamps
-define('_EBLOG_ALLOWPASTPOSTING',      '²áµî¤ÎÆü»þ¤Ç¤ÎÅê¹Æ¤òµö²Ä¤¹¤ë');
-define('_ADD_CHANGEDATE',                      '¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¹¹¿·');
-define('_BMLET_CHANGEDATE',                    '¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¹¹¿·');
-
-// skin import/export
-define('_OVERVIEW_SKINIMPORT',         'Æɹþ/½ñ½Ð');
-
-// skin settings
-define('_PARSER_INCMODE_NORMAL',       '¥Î¡¼¥Þ¥ë');
-define('_PARSER_INCMODE_SKINDIR',      'skindir¤ò»È¤¦');
-define('_SKIN_INCLUDE_MODE',           'Include ¥â¡¼¥É');
-define('_SKIN_INCLUDE_PREFIX',         'Include ¥×¥ê¥Õ¥£¥Ã¥¯¥¹');
-
-// global settings
-define('_SETTINGS_BASESKIN',           '´ðËܤΥ¹¥­¥ó');
-define('_SETTINGS_SKINSURL',           '¥¹¥­¥óURL');
-define('_SETTINGS_ACTIONSURL',         'action.php ¤Ø¤Î¥Õ¥ëURL');
-
-// category moves (batch)
-define('_ERROR_MOVEDEFCATEGORY',       'default¥«¥Æ¥´¥ê¡¼¤Ï°ÜÆ°¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_MOVETOSELF',                    '¥«¥Æ¥´¥ê¡¼¤ò°ÜÆ°¤Ç¤­¤Þ¤»¤ó (°ÜÆ°Àè¤ÎBlog¤¬°ÜÆ°¸µ¤ÈƱ¤¸¤Ç¤¹)');
-define('_MOVECAT_TITLE',                       '¥«¥Æ¥´¥ê¡¼¤ò°ÜÆ°¤¹¤ëBlog¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤');
-define('_MOVECAT_BTN',                         '¥«¥Æ¥´¥ê¡¼¤ò°ÜÆ°');
-
-// URLMode setting
-define('_SETTINGS_URLMODE',                    'URL ¥â¡¼¥É');
-define('_SETTINGS_URLMODE_NORMAL',     'Normal');
-define('_SETTINGS_URLMODE_PATHINFO','Fancy');
-
-// Batch operations
-define('_BATCH_NOSELECTION',           'Âоݤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_BATCH_ITEMS',                         '¥¢¥¤¥Æ¥à¡¡¡¡¡¡¤ËÂФ·¤Æ¤Î¥Ð¥Ã¥ÁÁàºî');
-define('_BATCH_CATEGORIES',                    '¥«¥Æ¥´¥ê¡¼¡¡¡¡¤ËÂФ·¤Æ¤Î¥Ð¥Ã¥ÁÁàºî');
-define('_BATCH_MEMBERS',                       '¥á¥ó¥Ð¡¼¡¡¡¡¡¡¤ËÂФ·¤Æ¤Î¥Ð¥Ã¥ÁÁàºî');
-define('_BATCH_TEAM',                          '¥Á¡¼¥à¥á¥ó¥Ð¡¼¤ËÂФ·¤Æ¤Î¥Ð¥Ã¥ÁÁàºî');
-define('_BATCH_COMMENTS',                      '¥³¥á¥ó¥È¡¡¡¡¡¡¤ËÂФ·¤Æ¤Î¥Ð¥Ã¥ÁÁàºî');
-define('_BATCH_UNKNOWN',                       '̤ÃΤΥХåÁÁàºî: ');
-define('_BATCH_EXECUTING',                     '¼Â¹ÔÃæ');
-define('_BATCH_ONCATEGORY',                    '- Âоݥ«¥Æ¥´¥ê¡¼');
-define('_BATCH_ONITEM',                                '- Âоݥ¢¥¤¥Æ¥à');
-define('_BATCH_ONCOMMENT',                     '- Âоݥ³¥á¥ó¥È');
-define('_BATCH_ONMEMBER',                      '- Âоݥá¥ó¥Ð¡¼');
-define('_BATCH_ONTEAM',                                '- ÂоݥÁ¡¼¥à¥á¥ó¥Ð¡¼');
-define('_BATCH_SUCCESS',                       'À®¸ù!');
-define('_BATCH_DONE',                          '½ªÎ»!');
-define('_BATCH_DELETE_CONFIRM',                '¥Ð¥Ã¥Áºï½ü¤Î³Îǧ');
-define('_BATCH_DELETE_CONFIRM_BTN',    '¥Ð¥Ã¥Áºï½ü¤Î³Îǧ');
-define('_BATCH_SELECTALL',                     'Á´¤ÆÁªÂò');
-define('_BATCH_DESELECTALL',           'Á´¤Æ¤ÎÁªÂò¤ò²ò½ü');
-
-// batch operations: options in dropdowns
-define('_BATCH_ITEM_DELETE',           'ºï½ü');
-define('_BATCH_ITEM_MOVE',                     '°ÜÆ°');
-define('_BATCH_MEMBER_DELETE',         'ºï½ü');
-define('_BATCH_MEMBER_SET_ADM',                '´ÉÍý¼Ô¸¢¸Â¤òÍ¿¤¨¤ë');
-define('_BATCH_MEMBER_UNSET_ADM',      '´ÉÍý¼Ô¸¢¸Â¤ò³°¤¹');
-define('_BATCH_TEAM_DELETE',           '¥Á¡¼¥à¤«¤éºï½ü');
-define('_BATCH_TEAM_SET_ADM',          '´ÉÍý¼Ô¸¢¸Â¤òÍ¿¤¨¤ë');
-define('_BATCH_TEAM_UNSET_ADM',                '´ÉÍý¼Ô¸¢¸Â¤ò³°¤¹');
-define('_BATCH_CAT_DELETE',                    'ºï½ü');
-define('_BATCH_CAT_MOVE',                      '¾¤ÎBlog¤Ë°ÜÆ°');
-define('_BATCH_COMMENT_DELETE',                'ºï½ü');
-
-// itemlist: Add new item...
-define('_ITEMLIST_ADDNEW',                     '¿·¤·¤¤¥¢¥¤¥Æ¥à¤ÎÄɲÃ...');
-define('_ADD_PLUGIN_EXTRAS',           'Äɲåץ饰¥¤¥ó¥ª¥×¥·¥ç¥ó');
-
-// errors
-define('_ERROR_CATCREATEFAIL',         '¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤òºîÀ®¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_NUCLEUSVERSIONREQ',     '¤³¤Î¥×¥é¥°¥¤¥ó¤Ï¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Nucleus ¤¬É¬ÍפǤ¹: ');
-
-// backlinks
-define('_BACK_TO_BLOGSETTINGS',                'Blog¤ÎÀßÄê¤ËÌá¤ë');
-
-// skin import export
-define('_SKINIE_TITLE_IMPORT',         'Æɤ߹þ¤ß');
-define('_SKINIE_TITLE_EXPORT',         '½ñ¤­½Ð¤·');
-define('_SKINIE_BTN_IMPORT',           'Æɤ߹þ¤ß');
-define('_SKINIE_BTN_EXPORT',           'ÁªÂò¤µ¤ì¤¿¥¹¥­¥ó/¥Æ¥ó¥×¥ì¡¼¥È¤ò½ñ¤­½Ð¤·');
-define('_SKINIE_LOCAL',                                '¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤«¤éÆɤ߹þ¤ß:');
-define('_SKINIE_NOCANDIDATES',         'skins¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÆɤ߹þ¤á¤ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó');
-define('_SKINIE_FROMURL',                      'URL¤ò»ØÄꤷ¤ÆÆɤ߹þ¤ß:');
-define('_SKINIE_EXPORT_INTRO',         '½ñ¤­½Ð¤¹¥¹¥­¥ó/¥Æ¥ó¥×¥ì¡¼¥È¤ò°Ê²¼¤«¤éÁªÂò¤·¤Æ¤¯¤À¤µ¤¤');
-define('_SKINIE_EXPORT_SKINS',         '¥¹¥­¥ó');
-define('_SKINIE_EXPORT_TEMPLATES',     '¥Æ¥ó¥×¥ì¡¼¥È');
-define('_SKINIE_EXPORT_EXTRA',         'ÄɲþðÊó');
-define('_SKINIE_CONFIRM_OVERWRITE',    '´û¤Ë¸ºß¤¹¤ë¥¹¥­¥ó¤ò¾å½ñ¤­¤¹¤ë (¤Ö¤Ä¤«¤ë¥¹¥­¥ó̾¤ò»²¾È)');
-define('_SKINIE_CONFIRM_IMPORT',       '¤Ï¤¤¡¢¤³¤ì¤òÆɤ߹þ¤ß¤Þ¤¹');
-define('_SKINIE_CONFIRM_TITLE',                '¥¹¥­¥ó¤È¥Æ¥ó¥×¥ì¡¼¥È¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¤¤¤Þ¤¹');
-define('_SKINIE_INFO_SKINS',           '¥Õ¥¡¥¤¥ëÆâ¤Î¥¹¥­¥ó:');
-define('_SKINIE_INFO_TEMPLATES',       '¥Õ¥¡¥¤¥ëÆâ¤Î¥Æ¥ó¥×¥ì¡¼¥È:');
-define('_SKINIE_INFO_GENERAL',         '¾ðÊó:');
-define('_SKINIE_INFO_SKINCLASH',       '¼¡¤Î¥¹¥­¥ó̾¤¬¤Ö¤Ä¤«¤ê¤Þ¤¹:');
-define('_SKINIE_INFO_TEMPLCLASH',      '¼¡¤Î¥Æ¥ó¥×¥ì¡¼¥È̾¤¬¤Ö¤Ä¤«¤ê¤Þ¤¹:');
-define('_SKINIE_INFO_IMPORTEDSKINS','Æɤ߹þ¤Þ¤ì¤¿¥¹¥­¥ó:');
-define('_SKINIE_INFO_IMPORTEDTEMPLS','Æɤ߹þ¤Þ¤ì¤¿¥Æ¥ó¥×¥ì¡¼¥È:');
-define('_SKINIE_DONE',                         'Æɤ߹þ¤ß´°Î»');
-
-define('_AND',                                         'and');
-define('_OR',                                          'or');
-
-// empty fields on template edit
-define('_EDITTEMPLATE_EMPTY',          '̵¤·(¥¯¥ê¥Ã¥¯¤ÇÊÔ½¸)');
-
-// skin overview list
-define('_LIST_SKINS_INCMODE',          'Include¥â¡¼¥É:');
-define('_LIST_SKINS_INCPREFIX',                'Include Prefix:');
-define('_LIST_SKINS_DEFINED',          'ÄêµÁºÑ¤ß¥Ñ¡¼¥Ä:');
-
-// backup
-define('_BACKUPS_TITLE',                       '¥Ð¥Ã¥¯¥¢¥Ã¥× / ¥ê¥¹¥È¥¢');
-define('_BACKUP_TITLE',                                '¥Ð¥Ã¥¯¥¢¥Ã¥×');
-define('_BACKUP_INTRO',                                '²¼¤Î¥Ü¥¿¥ó¤ò²¡¤¹¤È¤¢¤Ê¤¿¤Î Nucleus ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤¹¡£¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï°ÂÁ´¤Ê¾ì½ê¤ËÊݸ¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£');
-define('_BACKUP_ZIP_YES',                      '°µ½Ì¤¹¤ë');
-define('_BACKUP_ZIP_NO',                       '°µ½Ì¤·¤Ê¤¤');
-define('_BACKUP_BTN',                          '¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤¹¤ë');
-define('_BACKUP_NOTE',                         '<b>Ãí°Õ:</b> ¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤ë¤Î¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍƤÀ¤±¤Ç¤¹¡£¥á¥Ç¥£¥¢¥Õ¥¡¥¤¥ë¤ä config.php Æâ¤ÎÀßÄê¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×<b>¤µ¤ì¤Þ¤»¤ó</b>¡£');
-define('_RESTORE_TITLE',                       '¥ê¥¹¥È¥¢');
-define('_RESTORE_NOTE',                                '<b>·Ù¹ð:</b> ¥Ð¥Ã¥¯¥¢¥Ã¥×¤«¤é¤Î¥ê¥¹¥È¥¢¤Ï¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î Nucleus ¥Ç¡¼¥¿¤òÁ´¤Æ<b>ºï½ü</b>¤·¤Þ¤¹¡ªÎɤ¯Ãí°Õ¤·¤Æ»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡ª  <br />  <b>Ãí°Õ:</b> ¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤·¤¿ Nucleus ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë Nucleus ¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈƱ¤¸¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡ª¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÀµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£');
-define('_RESTORE_INTRO',                       '°Ê²¼¤«¤é¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¡Ê¥µ¡¼¥Ð¤Ë¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Þ¤¹¡Ë¤òÁªÂò¤·¤Æ"¥ê¥¹¥È¥¢"¥Ü¥¿¥ó¤ò²¡¤¹¤È³«»Ï¤·¤Þ¤¹¡£');
-define('_RESTORE_IMSURE',                      '¤Ï¤¤¡¢³Î¤«¤Ë¤³¤ÎÁàºî¤Î¼Â¹Ô¤ò¾µÇ§¤·¤Þ¤¹¡ª');
-define('_RESTORE_BTN',                         '¥Õ¥¡¥¤¥ë¤«¤é¥ê¥¹¥È¥¢');
-define('_RESTORE_WARNING',                     '¡ÊÀµ¤·¤¤¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¥ê¥¹¥È¥¢¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤«³Îǧ¤·¡¢»Ï¤á¤ëÁ°¤Ë¸½ºß¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºî¤Ã¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡Ë');
-define('_ERROR_BACKUP_NOTSURE',                '"¾µÇ§"¥Æ¥¹¥È¥Ü¥Ã¥¯¥¹¤ò¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹');
-define('_RESTORE_COMPLETE',                    '¥ê¥¹¥È¥¢´°Î»');
-
-// new item notification
-define('_NOTIFY_NI_MSG',                       '¿·¤·¤¤¥¢¥¤¥Æ¥à¤¬Åê¹Æ¤µ¤ì¤Þ¤·¤¿:');
-define('_NOTIFY_NI_TITLE',                     '¿·¤·¤¤¥¢¥¤¥Æ¥à!');
-define('_NOTIFY_KV_MSG',                       '¥«¥ë¥Þ¤ÎÅêɼ¤¬¤¢¤ê¤Þ¤·¤¿:');
-define('_NOTIFY_KV_TITLE',                     'Nucleus¥«¥ë¥Þ:');
-define('_NOTIFY_NC_MSG',                       '¥¢¥¤¥Æ¥à¤Ë¥³¥á¥ó¥È¤¹¤ë:');
-define('_NOTIFY_NC_TITLE',                     'Nucleus¥³¥á¥ó¥È:');
-define('_NOTIFY_USERID',                       '¥æ¡¼¥¶¡¼ID:');
-define('_NOTIFY_USER',                         '¥æ¡¼¥¶¡¼:');
-define('_NOTIFY_COMMENT',                      '¥³¥á¥ó¥È:');
-define('_NOTIFY_VOTE',                         'Åêɼ:');
-define('_NOTIFY_HOST',                         '¥Û¥¹¥È:');
-define('_NOTIFY_IP',                           'IP:');
-define('_NOTIFY_MEMBER',                       '¥á¥ó¥Ð¡¼:');
-define('_NOTIFY_TITLE',                                '¥¿¥¤¥È¥ë:');
-define('_NOTIFY_CONTENTS',                     '¥³¥ó¥Æ¥ó¥Ä:');
-
-// member mail message
-define('_MMAIL_MSG',                           '¼¡¤ÎÊý¤«¤é¤¢¤Ê¤¿°¸¤Î¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤Æ¤­¤Þ¤·¤¿');
-define('_MMAIL_FROMANON',                      'ƿ̾¤Î¥Ó¥¸¥¿¡¼');
-define('_MMAIL_FROMNUC',                       'Á÷¿®¸µ¤ÎNucleus ¥¦¥§¥Ö¥í¥°');
-define('_MMAIL_TITLE',                         '¥á¥Ã¥»¡¼¥¸ from');
-define('_MMAIL_MAIL',                          '¥á¥Ã¥»¡¼¥¸:');
-
-// END introduced after v1.5 END
-
-
-// START introduced after v1.1 START
-
-// bookmarklet buttons
-define('_BMLET_ADD',                           '¥¢¥¤¥Æ¥à¤ÎÄɲÃ');
-define('_BMLET_EDIT',                          'Êݸ');
-define('_BMLET_DELETE',                                '¥¢¥¤¥Æ¥à¤Îºï½ü');
-define('_BMLET_BODY',                          'ËÜʸ');
-define('_BMLET_MORE',                          '³¤­');
-define('_BMLET_OPTIONS',                       '¥ª¥×¥·¥ç¥ó');
-define('_BMLET_PREVIEW',                       '¥×¥ì¥Ó¥å¡¼');
-
-// used in bookmarklet
-define('_ITEM_UPDATED',                                '¥¢¥¤¥Æ¥à¤¬¹¹¿·¤µ¤ì¤Þ¤·¤¿');
-define('_ITEM_DELETED',                                '¥¢¥¤¥Æ¥à¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-
-// plugins
-define('_CONFIRMTXT_PLUGIN',           '¤³¤Î¥×¥é¥°¥¤¥ó¤òºï½ü¤·¤Þ¤¹¤«?');
-define('_ERROR_NOSUCHPLUGIN',          '¤½¤Î¤è¤¦¤Ê¥×¥é¥°¥¤¥ó¤Ï¤¢¤ê¤Þ¤»¤ó');
-define('_ERROR_DUPPLUGIN',                     '¤½¤Î¥×¥é¥°¥¤¥ó¤Ï´û¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹');
-define('_ERROR_PLUGFILEERROR',         '¤½¤Î¤è¤¦¤Ê¥×¥é¥°¥¤¥ó¤Ï¸ºß¤·¤Ê¤¤¤«¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_PLUGS_NOCANDIDATES',          '¥×¥é¥°¥¤¥ó¸õÊ䤬¸«¤Ä¤«¤ê¤Þ¤»¤ó');
-
-define('_PLUGS_TITLE_MANAGE',          '¥×¥é¥°¥¤¥ó¤Î´ÉÍý');
-define('_PLUGS_TITLE_INSTALLED',       '¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß');
-define('_PLUGS_TITLE_UPDATE',          'ÅÐÏ¿¥ê¥¹¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥È');
-define('_PLUGS_TEXT_UPDATE',           'Nucleus¤Ï¥×¥é¥°¥¤¥ó¤Î¥¤¥Ù¥ó¥ÈÅÐÏ¿¤òÊÝ»ý¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Æ¥×¥é¥°¥¤¥ó¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò¤¹¤ë¾ì¹ç¡¢ÅÐÏ¿¤¬Àµ¤·¤¯¥­¥ã¥Ã¥·¥å¤µ¤ì¤ë¤¿¤á¤Ë¤³¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£');
-define('_PLUGS_TITLE_NEW',                     '¿·¤·¤¤¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë');
-define('_PLUGS_ADD_TEXT',                      '°Ê²¼¤Ïplugins¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¡¢Á´¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤Î¤¢¤ë¥×¥é¥°¥¤¥ó¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤Ç¤¹¡£Äɲ乤ëÁ°¤Ë¥×¥é¥°¥¤¥ó¤«¤É¤¦¤«¤ò<strong>¤·¤Ã¤«¤ê³Îǧ</strong>¤·¤Æ¤¯¤À¤µ¤¤¡£');
-define('_PLUGS_BTN_INSTALL',           '¥×¥é¥°¥¤¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë');
-define('_BACKTOOVERVIEW',                      '°ìÍ÷¤ËÌá¤ë');
-
-// editlink
-define('_TEMPLATE_EDITLINK',           '¥¢¥¤¥Æ¥à¤òÊÔ½¸¤¹¤ë¤¿¤á¤Î¥ê¥ó¥¯');
-
-// add left / add right tooltips
-define('_ADD_LEFT_TT',                         'left box¤òÄɲÃ');
-define('_ADD_RIGHT_TT',                                'right box¤òÄɲÃ');
-
-// add/edit item: new category (in dropdown box)
-define('_ADD_NEWCAT',                          '¿·¤·¤¤¥«¥Æ¥´¥ê¡¼...');
-
-// new settings
-define('_SETTINGS_PLUGINURL',          '¥×¥é¥°¥¤¥óURL');
-define('_SETTINGS_MAXUPLOADSIZE',      '¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë¤ÎºÇÂ祵¥¤¥º (bytes)');
-define('_SETTINGS_NONMEMBERMSGS',      '¥á¥ó¥Ð¡¼°Ê³°¤«¤é¤Î¥á¥Ã¥»¡¼¥¸Á÷ÉÕ¤òµö²Ä');
-define('_SETTINGS_PROTECTMEMNAMES',    '¥á¥ó¥Ð¡¼Ì¾¤ÎÊݸî');
-
-// overview screen
-define('_OVERVIEW_PLUGINS',                    '¥×¥é¥°¥¤¥ó´ÉÍý');
-
-// actionlog
-define('_ACTIONLOG_NEWMEMBER',         '¿·¤·¤¤¥á¥ó¥Ð¡¼¤ÎÅÐÏ¿:');
-
-// membermail (when not logged in)
-define('_MEMBERMAIL_MAIL',                     '¤¢¤Ê¤¿¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹:');
-
-// file upload
-define('_ERROR_DISALLOWEDUPLOAD2',     '¥Á¡¼¥à¥ê¥¹¥ÈÆâ¤ËÂоݥá¥ó¥Ð¡¼¤ò»ý¤Ä¤É¤Îblog¤Ø¤Î´ÉÍý¼Ô¸¢¸Â¤â»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¤Ë¡¢¤³¤Î¥á¥ó¥Ð¡¼¤Î¥á¥Ç¥£¥¢¡¦¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤òǧ¤á¤é¤ì¤Þ¤»¤ó¡£');
-
-// plugin list
-define('_LISTS_INFO',                          '¾ðÊó');
-define('_LIST_PLUGS_AUTHOR',           'By:');
-define('_LIST_PLUGS_VER',                      '¥Ð¡¼¥¸¥ç¥ó:');
-define('_LIST_PLUGS_SITE',                     '¥µ¥¤¥È');
-define('_LIST_PLUGS_DESC',                     'ÀâÌÀ:');
-define('_LIST_PLUGS_SUBS',                     '°Ê²¼¤Î¥¤¥Ù¥ó¥È¤ËÅÐÏ¿:');
-define('_LIST_PLUGS_UP',                       '¾å¤Ø');
-define('_LIST_PLUGS_DOWN',                     '²¼¤Ø');
-define('_LIST_PLUGS_UNINSTALL',                'ºï½ü');
-define('_LIST_PLUGS_ADMIN',                    '´ÉÍý');
-define('_LIST_PLUGS_OPTIONS',          'ÊÔ½¸');
-
-// plugin option list
-define('_LISTS_VALUE',                         'ÃÍ');
-
-// plugin options
-define('_ERROR_NOPLUGOPTIONS',         '¤³¤Î¥×¥é¥°¥¤¥ó¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¢¤ê¤Þ¤»¤ó');
-define('_PLUGS_BACK',                          '¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤ËÌá¤ë');
-define('_PLUGS_SAVE',                          '¥ª¥×¥·¥ç¥ó¤ÎÊݸ');
-define('_PLUGS_OPTIONS_UPDATED',       '¥×¥é¥°¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬¹¹¿·¤µ¤ì¤Þ¤·¤¿');
-
-define('_OVERVIEW_MANAGEMENT',         '´ÉÍý');
-define('_OVERVIEW_MANAGE',                     'Nucleus¤Î´ÉÍý');
-define('_MANAGE_GENERAL',                      '´ÉÍý');
-define('_MANAGE_SKINS',                                '¥¹¥­¥ó/¥Æ¥ó¥×¥ì¡¼¥È');
-define('_MANAGE_EXTRA',                                'Äɲõ¡Ç½');
-
-define('_BACKTOMANAGE',                                'Nucleus¤Î´ÉÍý¤ËÌá¤ë');
-
-
-// END introduced after v1.1 END
-
-
-
-
-// charset to use 
-define('_CHARSET',                                     'EUC-JP');
-
-// global stuff
-define('_LOGOUT',                                      '¥í¥°¥¢¥¦¥È');
-define('_LOGIN',                                       '¥í¥°¥¤¥ó');
-define('_YES',                                         '¤Ï¤¤');
-define('_NO',                                          '¤¤¤¤¤¨');
-define('_SUBMIT',                                      'Á÷¿®');
-define('_ERROR',                                       '¥¨¥é¡¼');
-define('_ERRORMSG',                                    '¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿!');
-define('_BACK',                                                'Ìá¤ë');
-define('_NOTLOGGEDIN',                         '¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó');
-define('_LOGGEDINAS',                          '¥í¥°¥¤¥ó:');
-define('_ADMINHOME',                           '´ÉÍý¥Û¡¼¥à');
-define('_NAME',                                                '̾Á°');
-define('_BACKHOME',                                    '´ÉÍý¥Û¡¼¥à¤ËÌá¤ë');
-define('_BADACTION',                           '¸ºß¤·¤Ê¤¤¥¢¥¯¥·¥ç¥ó¤¬Í׵ᤵ¤ì¤Þ¤·¤¿');
-define('_MESSAGE',                                     '¥á¥Ã¥»¡¼¥¸');
-define('_HELP_TT',                                     '¥Ø¥ë¥×!');
-define('_YOURSITE',                                    '¥µ¥¤¥È¤Î³Îǧ');
-
-
-define('_POPUP_CLOSE',                         '¥¦¥£¥ó¥É¥¦¤òÊĤ¸¤ë');
-
-define('_LOGIN_PLEASE',                                '¤Þ¤º¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤');
-
-// commentform
-define('_COMMENTFORM_YOUARE',          '¥æ¡¼¥¶¡¼Ì¾: ');
-define('_COMMENTFORM_SUBMIT',          '¥³¥á¥ó¥È¤òÄɲÃ');
-define('_COMMENTFORM_COMMENT',         '¥³¥á¥ó¥È:');
-define('_COMMENTFORM_NAME',                    '¤ªÌ¾Á°:');
-define('_COMMENTFORM_REMEMBER',                '¾ðÊó¤òµ­²±¤·¤Æ¤ª¤¯');
-
-// loginform
-define('_LOGINFORM_NAME',                      '¥æ¡¼¥¶¡¼Ì¾:');
-define('_LOGINFORM_PWD',                       '¥Ñ¥¹¥ï¡¼¥É:');
-define('_LOGINFORM_YOUARE',                    '¥í¥°¥¤¥óÃæ:');
-define('_LOGINFORM_SHARED',                    '¤³¤ÎPC¤ò¾¤Î¿Í¤È¶¦ÍѤ¹¤ë');
-
-// member mailform
-define('_MEMBERMAIL_SUBMIT',           '¥á¥Ã¥»¡¼¥¸Á÷¿®');
-
-// search form
-define('_SEARCHFORM_SUBMIT',           '¸¡º÷');
-
-// add item form
-define('_ADD_ADDTO',                           '¥¢¥¤¥Æ¥à¤ÎÄɲÃ:');
-define('_ADD_CREATENEW',                       '¿·¤·¤¤¥¢¥¤¥Æ¥à');
-define('_ADD_BODY',                                    'ËÜʸ');
-define('_ADD_TITLE',                           '¥¿¥¤¥È¥ë');
-define('_ADD_MORE',                                    '³¤­ (¶õÍó¤Ç¤â²Ä)');
-define('_ADD_CATEGORY',                                '¥«¥Æ¥´¥ê¡¼');
-define('_ADD_PREVIEW',                         '¥×¥ì¥Ó¥å¡¼');
-define('_ADD_DISABLE_COMMENTS',                '¥³¥á¥ó¥È¤ò̵¸ú¤Ë¤·¤Þ¤¹¤«?');
-define('_ADD_DRAFTNFUTURE',                    '¥É¥é¥Õ¥È¤È̤Íè¤Îµ­»ö');
-define('_ADD_ADDITEM',                         '¥¢¥¤¥Æ¥à¤òÄɲÃ');
-define('_ADD_ADDNOW',                          'º£¤¹¤°ÄɲÃ');
-define('_ADD_ADDLATER',                                '¸å¤ÇÄɲÃ');
-define('_ADD_PLACE_ON',                                'Æü»þ:');
-define('_ADD_ADDDRAFT',                                '¥É¥é¥Õ¥È¤ËÄɲÃ');
-define('_ADD_NOPASTDATES',                     '(²áµî¤ÎÆü»þ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¸½ºß¤ÎÆü»þ¤¬»ÈÍѤµ¤ì¤Þ¤¹)');
-define('_ADD_BOLD_TT',                         'ÂÀ»ú');
-define('_ADD_ITALIC_TT',                       '¼ÐÂÎ');
-define('_ADD_HREF_TT',                         '¥ê¥ó¥¯ºîÀ®');
-define('_ADD_MEDIA_TT',                                '¥á¥Ç¥£¥¢(²èÁü¡¦²»À¼)¤ÎÄɲÃ');
-define('_ADD_PREVIEW_TT',                      '¥×¥ì¥Ó¥å¡¼¤Îɽ¼¨/Èóɽ¼¨');
-define('_ADD_CUT_TT',                          '¥«¥Ã¥È');
-define('_ADD_COPY_TT',                         '¥³¥Ô¡¼');
-define('_ADD_PASTE_TT',                                '¥Ú¡¼¥¹¥È');
-
-
-// edit item form
-define('_EDIT_ITEM',                           '¥¢¥¤¥Æ¥à¤ÎÊÔ½¸');
-define('_EDIT_SUBMIT',                         'Êݸ');
-define('_EDIT_ORIG_AUTHOR',                    '¸¶ºî¼Ô');
-define('_EDIT_BACKTODRAFTS',           'ºÆÅ٥ɥé¥Õ¥È¤È¤·¤ÆÊݸ');
-define('_EDIT_COMMENTSNOTE',           '(Ãí°Õ: ¥³¥á¥ó¥È¤ÎÈóɽ¼¨¤Ï°ÊÁ°¤ËÄɲ䵤줿¥³¥á¥ó¥È¤ò±£¤·¤Ï¤·¤Þ¤»¤ó)');
-
-// used on delete screens
-define('_DELETE_CONFIRM',                      'ºï½ü¤Î³Îǧ¤ò¤·¤Æ¤¯¤À¤µ¤¤');
-define('_DELETE_CONFIRM_BTN',          'ºï½ü¤Î³Îǧ');
-define('_CONFIRMTXT_ITEM',                     '°Ê²¼¤Î¥¢¥¤¥Æ¥à¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹:');
-define('_CONFIRMTXT_COMMENT',          '°Ê²¼¤Î¥³¥á¥ó¥È¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹:');
-define('_CONFIRMTXT_TEAM1',                    '¤³¤Îblog¤Î¥Á¡¼¥à¥ê¥¹¥È¤«¤é');
-define('_CONFIRMTXT_TEAM2',                    'ºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹');
-define('_CONFIRMTXT_BLOG',                     'ºï½ü¤¹¤ëBlog: ');
-define('_WARNINGTXT_BLOGDEL',          '·Ù¹ð! Blog¤òºï½ü¤¹¤ë¤È¤½¤ì¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¡¢¥³¥á¥ó¥È¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£¤½¤ÎÅÀ¤ò³Îǧ¤·¤¿¾å¤Ç¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£<br />¤µ¤é¤Ë¡¢Blog¤Îºï½üÃæ¤ËNucleus¤òÃæÃǤµ¤»¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£');
-define('_CONFIRMTXT_MEMBER',           '°Ê²¼¤Î¥á¥ó¥Ð¡¼¥×¥í¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹: ');
-define('_CONFIRMTXT_TEMPLATE',         '¼¡¤Î¥Æ¥ó¥×¥ì¡¼¥È¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹: ');
-define('_CONFIRMTXT_SKIN',                     '¼¡¤Î¥¹¥­¥ó¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹: ');
-define('_CONFIRMTXT_BAN',                      '¼¡¤Î¶Ø»ßIPÈϰϤòºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹: ');
-define('_CONFIRMTXT_CATEGORY',         '¼¡¤Î¥«¥Æ¥´¥ê¡¼¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹: ');
-
-// some status messages
-define('_DELETED_ITEM',                                '¥¢¥¤¥Æ¥à¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_DELETED_MEMBER',                      '¥á¥ó¥Ð¡¼¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_DELETED_COMMENT',                     '¥³¥á¥ó¥È¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_DELETED_BLOG',                                'Blog¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_DELETED_CATEGORY',                    '¥«¥Æ¥´¥ê¡¼¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_ITEM_MOVED',                          '¥¢¥¤¥Æ¥à¤¬°ÜÆ°¤µ¤ì¤Þ¤·¤¿');
-define('_ITEM_ADDED',                          '¥¢¥¤¥Æ¥à¤¬Äɲ䵤ì¤Þ¤·¤¿');
-define('_COMMENT_UPDATED',                     '¥³¥á¥ó¥È¤¬¹¹¿·¤µ¤ì¤Þ¤·¤¿');
-define('_SKIN_UPDATED',                                '¥¹¥­¥ó¥Ç¡¼¥¿¤¬Êݸ¤µ¤ì¤Þ¤·¤¿');
-define('_TEMPLATE_UPDATED',                    '¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤¬Êݸ¤µ¤ì¤Þ¤·¤¿');
-
-// errors
-define('_ERROR_COMMENT_LONGWORD',      '¥³¥á¥ó¥È¤Ë¤ÏȾ³Ñ¤Ç90ʸ»ú°Ê¾å¤Î¸ì¤ò»È¤ï¤Ê¤¤¤Ç²¼¤µ¤¤');
-define('_ERROR_COMMENT_NOCOMMENT',     '¥³¥á¥ó¥È¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤');
-define('_ERROR_COMMENT_NOUSERNAME',    'Àµ¤·¤¯¤Ê¤¤¥æ¡¼¥¶Ì¾¤Ç¤¹');
-define('_ERROR_COMMENT_TOOLONG',       '¥³¥á¥ó¥È¤¬Ä¹¤¹¤®¤Þ¤¹(Ⱦ³Ñ¤Ç5000ʸ»ú¤Þ¤Ç)');
-define('_ERROR_COMMENTS_DISABLED',     '¤³¤ÎBlog¤Ø¤Î¥³¥á¥ó¥È¤Ï¸½ºß»ÈÍѤǤ­¤Þ¤»¤ó');
-define('_ERROR_COMMENTS_NONPUBLIC',    '¤³¤ÎBlog¤Ø¥³¥á¥ó¥È¤òÄɲ乤ë¤Ë¤Ï¥á¥ó¥Ð¡¼¤È¤·¤Æ¥í¥°¥¤¥ó¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó');
-define('_ERROR_COMMENTS_MEMBERNICK','¤¢¤Ê¤¿¤¬»È¤ª¤¦¤È¤·¤¿Ì¾Á°¤Ï´û¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£Â¾¤Î̾Á°¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£');
-define('_ERROR_SKIN',                          '¥¹¥­¥ó¡¡¥¨¥é¡¼');
-define('_ERROR_ITEMCLOSED',                    '¤³¤Î¥¢¥¤¥Æ¥à¤ÏÊĺ¿¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¥¢¥¤¥Æ¥à¤Ø¤Î¥³¥á¥ó¥È¤ÎÄɲá¢Åêɼ¤Ï¤Ç¤­¤Þ¤»¤ó¡£');
-define('_ERROR_NOSUCHITEM',                    '¤½¤Î¤è¤¦¤Ê¥¢¥¤¥Æ¥à¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOSUCHBLOG',                    '¤½¤Î¤è¤¦¤ÊBlog¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOSUCHSKIN',                    '¤½¤Î¤è¤¦¤Ê¥¹¥­¥ó¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOSUCHMEMBER',          '¤½¤Î¤è¤¦¤Ê¥á¥ó¥Ð¡¼¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOTONTEAM',                     '¤¢¤Ê¤¿¤Ï¤³¤ÎBlog¤Î¥Á¡¼¥à¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_ERROR_BADDESTBLOG',           'Á÷¤êÀè¤ÎBlog¤¬Â¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOTONDESTTEAM',         '¤¢¤Ê¤¿¤¬Á÷¤êÀè¤ÎBlog¤Î¥Á¡¼¥à¥ê¥¹¥È¤ËÆþ¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢¥¢¥¤¥Æ¥à¤ò°ÜÆ°¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_NOEMPTYITEMS',          '¶õ¤Î¥¢¥¤¥Æ¥à¤ÏÄɲäǤ­¤Þ¤»¤ó!');
-define('_ERROR_BADMAILADDRESS',                '¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬ÉÔÀµ¤Ç¤¹');
-define('_ERROR_BADNOTIFY',                     'ÄÌÃΥ᡼¥ë¥¢¥É¥ì¥¹¤ÎÃæ¤ËÉÔÀµ¤Ê¤â¤Î¤¬º®¤¸¤Ã¤Æ¤¤¤Þ¤¹');
-define('_ERROR_BADNAME',                       '̾Á°¤¬»ÈÍѤǤ­¤Þ¤»¤ó ( a-z ¡¢0-9 ¤Î±Ñ¿ô»ú¤·¤«»È¤¨¤Þ¤»¤ó)');
-define('_ERROR_NICKNAMEINUSE',         '¾¤Î¥á¥ó¥Ð¡¼¤¬¤½¤Î¥Ë¥Ã¥¯¥Í¡¼¥à¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹');
-define('_ERROR_PASSWORDMISMATCH',      '¥Ñ¥¹¥ï¡¼¥É¤¬¥Þ¥Ã¥Á¤·¤Þ¤»¤ó');
-define('_ERROR_PASSWORDTOOSHORT',      '¥Ñ¥¹¥ï¡¼¥É¤Ï6ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó');
-define('_ERROR_PASSWORDMISSING',       '¥Ñ¥¹¥ï¡¼¥É¤¬¶õ¤Ç¤¹');
-define('_ERROR_REALNAMEMISSING',       'ËÜ̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤');
-define('_ERROR_ATLEASTONEADMIN',       '´ÉÍý¼ÔÎΰè¤Ë¥í¥°¥¤¥ó¤Ç¤­¤ësuper-admin¤¬¾¯¤Ê¤¯¤È¤â1¿Í¤Ï¤¤¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£');
-define('_ERROR_ATLEASTONEBLOGADMIN','¤³¤Î¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¤¢¤Ê¤¿¤ÎBlog¤Ï¥á¥ó¥Æ¥Ê¥ó¥¹ÉÔǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¾¯¤Ê¤¯¤È¤â1¿Í¤Î´ÉÍý¼Ô¤¬¤¤¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£');
-define('_ERROR_ALREADYONTEAM',         '´û¤Ë¥Á¡¼¥à¤Ë¤¤¤ë¥á¥ó¥Ð¡¼¤ÏÄɲäǤ­¤Þ¤»¤ó');
-define('_ERROR_BADSHORTBLOGNAME',      'û¤¤Blog̾¤Ë¤Ï a-z ¡¢0-9¡¢¤Î±Ñ¿ô»ú¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£¥¹¥Ú¡¼¥¹¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£');
-define('_ERROR_DUPSHORTBLOGNAME',      '¾¤ÎBlog¤ÇƱ¤¸Ã»½Ì̾¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£');
-define('_ERROR_UPDATEFILE',                    '¹¹¿·¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó¡£¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬Àµ¤·¤¯¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤ (chmod 666 ¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤)¡£¤Þ¤¿¡¢¤½¤ì¤¬´ÉÍýÎΰè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂаÌÃ֤Ǥ¢¤ë¾ì¹ç¡¢(/your/path/to/nucleus/ ¤Î¤è¤¦¤Ë)ÀäÂХѥ¹¤Ç»ØÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤');
-define('_ERROR_DELDEFBLOG',                    '´ûÄê¤ÎBlog¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_DELETEMEMBER',          '¤ª¤½¤é¤¯¤³¤Î¥á¥ó¥Ð¡¼¤Ï£±¤Ä°Ê¾å¤Î¥¢¥¤¥Æ¥à¤ÎÃø¼Ô¤Ç¤¢¤ë¤¿¤á¡¢ºï½ü¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_BADTEMPLATENAME',       'ÉÔÀµ¤Ê¥Æ¥ó¥×¥ì¡¼¥È̾¤Ç¤¹ (a-z ¡¢0-9 ¤Î±Ñ¿ô»ú¤Î¤ß»ÈÍѲġ£¥¹¥Ú¡¼¥¹¤Ï»ÈÍÑÉÔ²Ä)');
-define('_ERROR_DUPTEMPLATENAME',       'Ʊ¤¸Ì¾Á°¤Î¥Æ¥ó¥×¥ì¡¼¥È¤¬´û¤Ë¸ºß¤·¤Þ¤¹');
-define('_ERROR_BADSKINNAME',           'ÉÔÀµ¤Ê¥¹¥­¥ó̾¤Ç¤¹ (a-z ¡¢0-9 ¤Î±Ñ¿ô»ú¤Î¤ß»ÈÍѲġ£¥¹¥Ú¡¼¥¹¤Ï»ÈÍÑÉÔ²Ä)');
-define('_ERROR_DUPSKINNAME',           'Ʊ¤¸Ì¾Á°¤Î¥¹¥­¥ó¤¬´û¤Ë¸ºß¤·¤Þ¤¹');
-define('_ERROR_DEFAULTSKIN',           '¾ï¤Ë "default" ¤È¤¤¤¦Ì¾Á°¤Î¥¹¥­¥ó¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó');
-define('_ERROR_SKINDEFDELETE',         '°Ê²¼¤ÎBlog¤Î´ûÄê¤Î¥¹¥­¥ó¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¥¹¥­¥ó¤òºï½ü¤Ç¤­¤Þ¤»¤ó: ');
-define('_ERROR_DISALLOWED',                    '¤³¤Î¥¢¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_ERROR_DELETEBAN',                     '¶Ø»ß¼Ô¤Îºï½üÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿ (¶Ø»ß¼Ô¤¬Â¸ºß¤·¤Þ¤»¤ó)');
-define('_ERROR_ADDBAN',                                '¶Ø»ß¼Ô¤ÎÄɲÃÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£Á´¤Æ¤Îblog¤ËÀµ¤·¤¯Äɲ䵤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£');
-define('_ERROR_BADACTION',                     'Í׵ᤵ¤ì¤¿¥¢¥¯¥·¥ç¥ó¤¬Â¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_MEMBERMAILDISABLED',    '¥á¥ó¥Ð¡¼´Ö¤Î¥á¡¼¥ë¥á¥Ã¥»¡¼¥¸¤¬»ÈÍÑÉԲĤˤʤäƤ¤¤Þ¤¹');
-define('_ERROR_MEMBERCREATEDISABLED','¥á¥ó¥Ð¡¼¤ÎºîÀ®¤¬»ÈÍÑÉԲĤˤʤäƤ¤¤Þ¤¹');
-define('_ERROR_INCORRECTEMAIL',                'Àµ¤·¤¯¤Ê¤¤¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ç¤¹');
-define('_ERROR_VOTEDBEFORE',           '¤³¤Î¥¢¥¤¥Æ¥à¤Ë´û¤ËÅêɼºÑ¤ß¤Ç¤¹');
-define('_ERROR_BANNED1',                       '¤¢¤Ê¤¿ (IPÈÏ°Ï ');
-define('_ERROR_BANNED2',                       ') ¤Ï¤³¤Î¥¢¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸: \'');
-define('_ERROR_BANNED3',                       '\'');
-define('_ERROR_LOGINNEEDED',           '¤³¤Î¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¥í¥°¥¤¥ó¤¬É¬ÍפǤ¹');
-define('_ERROR_CONNECT',                       'Àܳ¥¨¥é¡¼');
-define('_ERROR_FILE_TOO_BIG',          '¥Õ¥¡¥¤¥ë¤¬Â礭¤¹¤®¤Þ¤¹!');
-define('_ERROR_BADFILETYPE',           '¤³¤Î¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ïǧ¤á¤é¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_ERROR_BADREQUEST',                    'ÉÔÀµ¤Ê¥¢¥Ã¥×¥í¡¼¥ÉÍ×µá¤Ç¤¹');
-define('_ERROR_DISALLOWEDUPLOAD',      '¤¢¤Ê¤¿¤Ï¤É¤ÎBlog¥Á¡¼¥à¥ê¥¹¥È¤Ë¤âÆþ¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Þ¤»¤ó');
-define('_ERROR_BADPERMISSIONS',                '¥Õ¥¡¥¤¥ë/¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬Àµ¤·¤¯¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó');
-define('_ERROR_UPLOADMOVEP',           '¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë¤Î°ÜÆ°Ãæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿');
-define('_ERROR_UPLOADCOPY',                    '¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼Ãæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿');
-define('_ERROR_UPLOADDUPLICATE',       'Ʊ¤¸Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤Þ¤¹¡£¥¢¥Ã¥×¥í¡¼¥É¤¹¤ëÁ°¤Ë̾Á°¤òÊѹ¹¤·¤Æ¤·¤Æ¤¯¤À¤µ¤¤¡£');
-define('_ERROR_LOGINDISALLOWED',       '¤¢¤Ê¤¿¤Ï´ÉÍý¼ÔÎΰè¤Ø¤Î¥í¥°¥¤¥ó¤¬Ç§¤á¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤È¤·¤Æ¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤¹');
-define('_ERROR_DBCONNECT',                     'MySQL¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_DBSELECT',                      'nucleus¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁªÂò¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_NOSUCHLANGUAGE',                '¤½¤Î¤è¤¦¤Ê¥é¥ó¥²¡¼¥¸¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_NOSUCHCATEGORY',                '¤½¤Î¤è¤¦¤Ê¥«¥Æ¥´¥ê¡¼¤Ï¸ºß¤·¤Þ¤»¤ó');
-define('_ERROR_DELETELASTCATEGORY',    '¾¯¤Ê¤¯¤È¤â1¤Ä¤Î¥«¥Æ¥´¥ê¡¼¤¬É¬ÍפǤ¹');
-define('_ERROR_DELETEDEFCATEGORY',     '´ûÄê¤Î¥«¥Æ¥´¥ê¡¼¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó');
-define('_ERROR_BADCATEGORYNAME',       '¥«¥Æ¥´¥ê¡¼Ì¾¤È¤·¤Æ»È¤¨¤Þ¤»¤ó');
-define('_ERROR_DUPCATEGORYNAME',       'Ʊ¤¸Ì¾Á°¤Î¥«¥Æ¥´¥ê¡¼¤¬´û¤Ë¸ºß¤·¤Þ¤¹');
-
-// some warnings (used for mediadir setting)
-define('_WARNING_NOTADIR',                     '·Ù¹ð: ¸½ºß¤ÎÃͤϥǥ£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó!');
-define('_WARNING_NOTREADABLE',         '·Ù¹ð: ¸½ºß¤ÎÃͤÏÆɤ߼è¤êÉÔ²Äǽ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹!');
-define('_WARNING_NOTWRITABLE',         '·Ù¹ð: ¸½ºß¤ÎÃͤϽñ¤­¹þ¤ßÉÔ²Äǽ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹!');
-
-// media and upload
-define('_MEDIA_UPLOADLINK',                    '¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É');
-define('_MEDIA_MODIFIED',                      '¹¹¿·Æü');
-define('_MEDIA_FILENAME',                      '¥Õ¥¡¥¤¥ë̾');
-define('_MEDIA_DIMENSIONS',                    '¥µ¥¤¥º');
-define('_MEDIA_INLINE',                                'Ëä¤á¹þ¤ß');
-define('_MEDIA_POPUP',                         '¥Ý¥Ã¥×¥¢¥Ã¥×');
-define('_UPLOAD_TITLE',                                '¥Õ¥¡¥¤¥ëÁªÂò');
-define('_UPLOAD_MSG',                          '¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁªÂò¤·¤Æ¡¢\'¥¢¥Ã¥×¥í¡¼¥É\' ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤');
-define('_UPLOAD_BUTTON',                       '¥¢¥Ã¥×¥í¡¼¥É');
-
-// some status messages
-//define('_MSG_ACCOUNTCREATED',                '¥¢¥«¥¦¥ó¥È¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£¥Ñ¥¹¥ï¡¼¥É¤¬¥á¡¼¥ë¤ÇÁ÷¿®¤µ¤ì¤Þ¤¹');
-//define('_MSG_PASSWORDSENT',                  '¥Ñ¥¹¥ï¡¼¥É¤¬¥á¡¼¥ë¤ÇÁ÷¿®¤µ¤ì¤Þ¤·¤¿¡£');
-define('_MSG_LOGINAGAIN',                      '¤¢¤Ê¤¿¤Î¾ðÊó¤¬Êѹ¹¤µ¤ì¤¿°Ù¡¢¥í¥°¥¤¥ó¤·¤Ê¤ª¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹');
-define('_MSG_SETTINGSCHANGED',         'ÀßÄ꤬Êѹ¹¤µ¤ì¤Þ¤·¤¿');
-define('_MSG_ADMINCHANGED',                    '´ÉÍý¼Ô¸¢¸Â ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿');
-define('_MSG_NEWBLOG',                         '¿·¤·¤¤Blog¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿');
-define('_MSG_ACTIONLOGCLEARED',                '´ÉÍýÁàºîÍúÎò¤¬¾Ãµî¤µ¤ì¤Þ¤·¤¿');
-
-// actionlog in admin area
-define('_ACTIONLOG_DISALLOWED',                'µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥¯¥·¥ç¥ó: ');
-define('_ACTIONLOG_PWDREMINDERSENT','¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÁ÷¤êÀè: ');
-define('_ACTIONLOG_TITLE',                     '´ÉÍýÁàºîÍúÎò');
-define('_ACTIONLOG_CLEAR_TITLE',       '´ÉÍýÁàºîÍúÎò¤Î¾Ãµî');
-define('_ACTIONLOG_CLEAR_TEXT',                '´ÉÍýÁàºîÍúÎò¤òº£¤¹¤°¾Ãµî');
-
-// team management
-define('_TEAM_TITLE',                          'Blog¤Î¥Á¡¼¥à¤ò´ÉÍý¤¹¤ë ');
-define('_TEAM_CURRENT',                                '¸½ºß¤Î¥Á¡¼¥à');
-define('_TEAM_ADDNEW',                         '¥Á¡¼¥à¤Ë¿·¤·¤¤¥á¥ó¥Ð¡¼¤òÄɲ乤ë');
-define('_TEAM_CHOOSEMEMBER',           '¥á¥ó¥Ð¡¼¤òÁª¤Ö');
-define('_TEAM_ADMIN',                          '´ÉÍý¼Ô¸¢¸Â¤òÍ¿¤¨¤ë ');
-define('_TEAM_ADD',                                    '¥Á¡¼¥à¤ËÄɲÃ');
-define('_TEAM_ADD_BTN',                                '¥Á¡¼¥à¤ËÄɲÃ');
-
-// blogsettings
-define('_EBLOG_TITLE',                         'BlogÀßÄê¤ÎÊÔ½¸');
-define('_EBLOG_TEAM_TITLE',                    '¥Á¡¼¥à¤ÎÊÔ½¸');
-define('_EBLOG_TEAM_TEXT',                     '¥Á¡¼¥à¤ÎÊÔ½¸...');
-define('_EBLOG_SETTINGS_TITLE',                'BlogÀßÄê');
-define('_EBLOG_NAME',                          'Blog¤Î̾Á°');
-define('_EBLOG_SHORTNAME',                     'Blog¤Îû½Ì̾');
-define('_EBLOG_SHORTNAME_EXTRA',       '<br />(a-z¤Î±Ñʸ»ú¤Î¤ß¤¬»ÈÍѤǤ­¡¢¥¹¥Ú¡¼¥¹¤Ï»ÈÍѤǤ­¤Þ¤»¤ó)');
-define('_EBLOG_DESC',                          'Blog¤ÎÀâÌÀ');
-define('_EBLOG_URL',                           'URL');
-define('_EBLOG_DEFSKIN',                       'ɸ½à¤Î¥¹¥­¥ó');
-define('_EBLOG_DEFCAT',                                'ɸ½à¤Î¥«¥Æ¥´¥ê');
-define('_EBLOG_LINEBREAKS',                    '²þ¹Ô¤òÊÑ´¹¤¹¤ë');
-define('_EBLOG_DISABLECOMMENTS',       '¥³¥á¥ó¥È¤òµö²Ä¤·¤Þ¤¹¤«?<br /><small>(¥³¥á¥ó¥È¤ò¶Ø»ß¤¹¤ë¤È¥³¥á¥ó¥È¤ÎÄɲäϤǤ­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£)</small>');
-define('_EBLOG_ANONYMOUS',                     'Èó¥á¥ó¥Ð¡¼¤Î¥³¥á¥ó¥È¤òµö²Ä¤·¤Þ¤¹¤«?');
-define('_EBLOG_NOTIFY',                                'ÄÌÃΤ¹¤ë¥á¡¼¥ë¥¢¥É¥ì¥¹ ( ; ¤Ç¶èÀڤäƤ¯¤À¤µ¤¤)');
-define('_EBLOG_NOTIFY_ON',                     '°Ê²¼¤òÄÌÃΤ¹¤ë');
-define('_EBLOG_NOTIFY_COMMENT',                '¿·¤·¤¤¥³¥á¥ó¥È');
-define('_EBLOG_NOTIFY_KARMA',          '¿·¤·¤¤¥«¥ë¥ÞÅêɼ');
-define('_EBLOG_NOTIFY_ITEM',           '¿·¤·¤¤Blog¥¢¥¤¥Æ¥à');
-define('_EBLOG_PING',                          '¹¹¿·»þ¤Ë Weblogs.com ¤ØPing¤òÁ÷¤ê¤Þ¤¹¤«?');
-define('_EBLOG_MAXCOMMENTS',           '¥³¥á¥ó¥È¤ÎºÇÂçÎÌ');
-define('_EBLOG_UPDATE',                                '¼«Æ°¹¹¿·¤¹¤ë¥Õ¥¡¥¤¥ë');
-define('_EBLOG_OFFSET',                                '¥µ¡¼¥Ð»þ¹ï¤È¤Î»þº¹');
-define('_EBLOG_STIME',                         '¸½ºß¤Î¥µ¡¼¥Ð»þ¹ï: ');
-define('_EBLOG_BTIME',                         '¸½ºß¤ÎBlog»þ¹ï: ');
-define('_EBLOG_CHANGE',                                'ÀßÄê¤ÎÊѹ¹');
-define('_EBLOG_CHANGE_BTN',                    'ÀßÄê¤ÎÊѹ¹');
-define('_EBLOG_ADMIN',                         'Blog´ÉÍý¼Ô¸¢¸Â');
-define('_EBLOG_ADMIN_MSG',                     '¤¢¤Ê¤¿¤Ë¤Ï´ÉÍý¼Ô¸¢¸Â¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹');
-define('_EBLOG_CREATE_TITLE',          '¿·¤·¤¤Blog¤ÎºîÀ®');
-define('_EBLOG_CREATE_TEXT',           '¿·¤·¤¤Blog¤òºîÀ®¤¹¤ë°Ù¤Ë°Ê²¼¤Î¥Õ¥©¡¼¥à¤Ë½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£<br /><br /> <b>Ãí°Õ:</b> É¬Íפʥª¥×¥·¥ç¥ó¤Î¤ß¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ÄɲäΥª¥×¥·¥ç¥ó¤òÀßÄꤷ¤¿¤¤¾ì¹ç¤Ï¡¢Blog¤òºîÀ®¤·¤¿¸å¤ÇBlogÀßÄê¥Ú¡¼¥¸¤Ë¹Ô¤Ã¤ÆÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£');
-define('_EBLOG_CREATE',                                'ºîÀ®!');
-define('_EBLOG_CREATE_BTN',                    'Blog¤òºîÀ®');
-define('_EBLOG_CAT_TITLE',                     '¥«¥Æ¥´¥ê¡¼');
-define('_EBLOG_CAT_NAME',                      '¥«¥Æ¥´¥ê¡¼Ì¾');
-define('_EBLOG_CAT_DESC',                      '¥«¥Æ¥´¥ê¡¼¤ÎÀâÌÀ');
-define('_EBLOG_CAT_CREATE',                    '¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤òºî¤ë');
-define('_EBLOG_CAT_UPDATE',                    '¥«¥Æ¥´¥ê¡¼¤Î¹¹¿·');
-define('_EBLOG_CAT_UPDATE_BTN',                '¥«¥Æ¥´¥ê¡¼¤ò¹¹¿·');
-
-// templates
-define('_TEMPLATE_TITLE',                      '¥Æ¥ó¥×¥ì¡¼¥È¤ÎÊÔ½¸');
-define('_TEMPLATE_AVAILABLE_TITLE',    '»ÈÍѲÄǽ¤Ê¥Æ¥ó¥×¥ì¡¼¥È');
-define('_TEMPLATE_NEW_TITLE',          '¿·¤·¤¤¥Æ¥ó¥×¥ì¡¼¥È');
-define('_TEMPLATE_NAME',                       '¥Æ¥ó¥×¥ì¡¼¥È̾');
-define('_TEMPLATE_DESC',                       '¥Æ¥ó¥×¥ì¡¼¥È¤ÎÀâÌÀ');
-define('_TEMPLATE_CREATE',                     '¥Æ¥ó¥×¥ì¡¼¥È¤ÎºîÀ®');
-define('_TEMPLATE_CREATE_BTN',         '¥Æ¥ó¥×¥ì¡¼¥È¤òºîÀ®');
-define('_TEMPLATE_EDIT_TITLE',         '¥Æ¥ó¥×¥ì¡¼¥È¤ÎÊÔ½¸');
-define('_TEMPLATE_BACK',                       '¥Æ¥ó¥×¥ì¡¼¥È¤Î°ìÍ÷¤ËÌá¤ë');
-define('_TEMPLATE_EDIT_MSG',           'Á´¤Æ¤Î¥Æ¥ó¥×¥ì¡¼¥È¥Ñ¡¼¥Ä¤¬É¬ÍפÊÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£É¬Íפʤ¤¾ì¹ç¤Ï¶õÍó¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£');
-define('_TEMPLATE_SETTINGS',           '¥Æ¥ó¥×¥ì¡¼¥ÈÀßÄê');
-define('_TEMPLATE_ITEMS',                      '¥¢¥¤¥Æ¥à');
-define('_TEMPLATE_ITEMHEADER',         '¥¢¥¤¥Æ¥à¤Î¥Ø¥Ã¥À¡¼');
-define('_TEMPLATE_ITEMBODY',           '¥¢¥¤¥Æ¥à¤ÎËÜÂÎ');
-define('_TEMPLATE_ITEMFOOTER',         '¥¢¥¤¥Æ¥à¤Î¥Õ¥Ã¥¿¡¼');
-define('_TEMPLATE_MORELINK',           '³¤­¤Ø¤Î¥ê¥ó¥¯');
-define('_TEMPLATE_NEW',                                '¿·¤·¤¤¥¢¥¤¥Æ¥à¤ËÉÕ¤±¤ë¥Þ¡¼¥¯');
-define('_TEMPLATE_COMMENTS_ANY',       '¥³¥á¥ó¥È (¤¢¤ë¾ì¹ç)');
-define('_TEMPLATE_CHEADER',                    '¥³¥á¥ó¥È¤Î¥Ø¥Ã¥À¡¼');
-define('_TEMPLATE_CBODY',                      '¥³¥á¥ó¥È¤ÎËÜÂÎ');
-define('_TEMPLATE_CFOOTER',                    '¥³¥á¥ó¥È¤Î¥Õ¥Ã¥¿¡¼');
-define('_TEMPLATE_CONE',                       '¥³¥á¥ó¥È¤¬1¤Ä¤Î»þ');
-define('_TEMPLATE_CMANY',                      '¥³¥á¥ó¥È¤¬2¤Ä°Ê¾å¤Î»þ');
-define('_TEMPLATE_CMORE',                      '¥³¥á¥ó¥È¤Î³¤­¤òÆɤà');
-define('_TEMPLATE_CMEXTRA',                    'ÅÐÏ¿¥á¥ó¥Ð¡¼¤«¤é¤Î¥³¥á¥ó¥È¤Ø¤ÎÄɲÃɽ¼¨');
-define('_TEMPLATE_COMMENTS_NONE',      '¥³¥á¥ó¥È (̵¤¤¾ì¹ç)');
-define('_TEMPLATE_CNONE',                      '¥³¥á¥ó¥È¤¬Ìµ¤¤»þ');
-define('_TEMPLATE_COMMENTS_TOOMUCH','¥³¥á¥ó¥È (ºÇÂçɽ¼¨¿ô¤è¤ê¿¤¤¾ì¹ç)');
-define('_TEMPLATE_CTOOMUCH',           '¥³¥á¥ó¥È¤¬Â¿¤¹¤®¤ë»þ');
-define('_TEMPLATE_ARCHIVELIST',                '¥¢¡¼¥«¥¤¥Ö°ìÍ÷');
-define('_TEMPLATE_AHEADER',                    '¥¢¡¼¥«¥¤¥Ö°ìÍ÷¤Î¥Ø¥Ã¥À¡¼');
-define('_TEMPLATE_AITEM',                      '¥¢¡¼¥«¥¤¥Ö°ìÍ÷¤ÎËÜÂÎ');
-define('_TEMPLATE_AFOOTER',                    '¥¢¡¼¥«¥¤¥Ö°ìÍ÷¤Î¥Õ¥Ã¥¿¡¼');
-define('_TEMPLATE_DATETIME',           'ÆüÉդȻþ¹ï');
-define('_TEMPLATE_DHEADER',                    'ÆüÉդΥإåÀ¡¼');
-define('_TEMPLATE_DFOOTER',                    'ÆüÉդΥեå¿¡¼');
-define('_TEMPLATE_DFORMAT',                    'ÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È');
-define('_TEMPLATE_TFORMAT',                    '»þ¹ï¥Õ¥©¡¼¥Þ¥Ã¥È');
-define('_TEMPLATE_LOCALE',                     'Locale');
-define('_TEMPLATE_IMAGE',                      '²èÁü¤È¥á¥Ç¥£¥¢¤Î¥Ý¥Ã¥×¥¢¥Ã¥×');
-define('_TEMPLATE_PCODE',                      '¥Ý¥Ã¥×¥¢¥Ã¥×²èÁü¤Ø¤Î¥ê¥ó¥¯¥³¡¼¥É');
-define('_TEMPLATE_ICODE',                      '¥¤¥ó¥é¥¤¥ó²èÁü¤Î¥³¡¼¥É');
-define('_TEMPLATE_MCODE',                      '¥á¥Ç¥£¥¢¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥ê¥ó¥¯¥³¡¼¥É');
-define('_TEMPLATE_SEARCH',                     '¸¡º÷');
-define('_TEMPLATE_SHIGHLIGHT',         '¥Ï¥¤¥é¥¤¥Èɽ¼¨');
-define('_TEMPLATE_SNOTFOUND',          '¸¡º÷¤Ç²¿¤â¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç');
-define('_TEMPLATE_UPDATE',                     '¹¹¿·');
-define('_TEMPLATE_UPDATE_BTN',         '¥Æ¥ó¥×¥ì¡¼¥È¤Î¹¹¿·');
-define('_TEMPLATE_RESET_BTN',          '¥ê¥»¥Ã¥È');
-define('_TEMPLATE_BLOGLIST',            '¥Ö¥í¥°°ìÍ÷');
-define('_TEMPLATE_BLOGHEADER',          '¥Ö¥í¥°°ìÍ÷¤Î¥Ø¥Ã¥À¡¼');
-define('_TEMPLATE_BLOGITEM',            '¥Ö¥í¥°°ìÍ÷¤ÎËÜÂÎ');
-define('_TEMPLATE_BLOGFOOTER',          '¥Ö¥í¥°°ìÍ÷¤Î¥Õ¥Ã¥¿¡¼');
-define('_TEMPLATE_CATEGORYLIST',       '¥«¥Æ¥´¥ê¡¼°ìÍ÷');
-define('_TEMPLATE_CATHEADER',          '¥«¥Æ¥´¥ê¡¼°ìÍ÷¤Î¥Ø¥Ã¥À¡¼');
-define('_TEMPLATE_CATITEM',                    '¥«¥Æ¥´¥ê¡¼°ìÍ÷¤ÎËÜÂÎ');
-define('_TEMPLATE_CATFOOTER',          '¥«¥Æ¥´¥ê¡¼°ìÍ÷¤Î¥Õ¥Ã¥¿¡¼');
-
-// skins
-define('_SKIN_EDIT_TITLE',                     '¥¹¥­¥ó¤ÎÊÔ½¸');
-define('_SKIN_AVAILABLE_TITLE',                '»ÈÍѲÄǽ¤Ê¥¹¥­¥ó');
-define('_SKIN_NEW_TITLE',                      '¿·¤·¤¤¥¹¥­¥ó');
-define('_SKIN_NAME',                           '̾Á°');
-define('_SKIN_DESC',                           'ÀâÌÀ');
-define('_SKIN_TYPE',                           'Content Type');
-define('_SKIN_CREATE',                         'ºîÀ®');
-define('_SKIN_CREATE_BTN',                     '¥¹¥­¥ó¤ÎºîÀ®');
-define('_SKIN_EDITONE_TITLE',          '¥¹¥­¥ó¤ÎÊÔ½¸');
-define('_SKIN_BACK',                           '¥¹¥­¥ó¤Î°ìÍ÷¤ËÌá¤ë');
-define('_SKIN_PARTS_TITLE',                    '¥¹¥­¥ó¥Ñ¡¼¥Ä');
-define('_SKIN_PARTS_MSG',                      '¤½¤ì¤¾¤ì¤Î¥¹¥­¥ó¤ËÁ´¤Æ¤Î¥¿¥¤¥×¤¬É¬ÍפȤϸ¤ê¤Þ¤»¤ó¡£É¬Íפʤ¤¾ì¹ç¤Ï¶õÍó¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£°Ê²¼¤«¤éÊÔ½¸¤¹¤ë¥¹¥­¥ó¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤:');
-define('_SKIN_PART_MAIN',                      '¥á¥¤¥ó¤ÎÌܼ¡¥Ú¡¼¥¸');
-define('_SKIN_PART_ITEM',                      '¸ÄÊÌ¥¢¥¤¥Æ¥à¥Ú¡¼¥¸');
-define('_SKIN_PART_ALIST',                     '·îÊÌ¥¢¡¼¥«¥¤¥Ö°ìÍ÷¥Ú¡¼¥¸');
-define('_SKIN_PART_ARCHIVE',           '·îÊÌ¥¢¡¼¥«¥¤¥Ö¥Ú¡¼¥¸');
-define('_SKIN_PART_SEARCH',                    '¸¡º÷¥Ú¡¼¥¸');
-define('_SKIN_PART_ERROR',                     '¥¨¥é¡¼¥Ú¡¼¥¸');
-define('_SKIN_PART_MEMBER',                    '¥á¥ó¥Ð¡¼¾ÜºÙ¥Ú¡¼¥¸');
-define('_SKIN_PART_POPUP',                     '²èÁü¥Ý¥Ã¥×¥¢¥Ã¥×¥¦¥£¥ó¥É¥¦');
-define('_SKIN_GENSETTINGS_TITLE',      '°ìÈÌÀßÄê');
-define('_SKIN_CHANGE',                         'Êѹ¹');
-define('_SKIN_CHANGE_BTN',                     'ÀßÄê¤ÎÊѹ¹');
-define('_SKIN_UPDATE_BTN',                     '¥¹¥­¥ó¤Î¹¹¿·');
-define('_SKIN_RESET_BTN',                      '¥ê¥»¥Ã¥È');
-define('_SKIN_EDITPART_TITLE',         '¥¹¥­¥ó¤ÎÊÔ½¸');
-define('_SKIN_GOBACK',                         'Ìá¤ë');
-define('_SKIN_ALLOWEDVARS',                    '»ÈÍѲÄǽ¤ÊÊÑ¿ô (¥¯¥ê¥Ã¥¯¤ÇÀâÌÀɽ¼¨):');
-
-// global settings
-define('_SETTINGS_TITLE',                      '¥°¥í¡¼¥Ð¥ëÀßÄê');
-define('_SETTINGS_SUB_GENERAL',                '¥°¥í¡¼¥Ð¥ëÀßÄê');
-define('_SETTINGS_DEFBLOG',                    '´ûÄê¤ÎBlog');
-define('_SETTINGS_ADMINMAIL',          '´ÉÍý¼Ô¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹');
-define('_SETTINGS_SITENAME',           '¥µ¥¤¥È̾');
-define('_SETTINGS_SITEURL',                    '¥µ¥¤¥È¤ÎURL (ºÇ¸å¤Ë¥¹¥é¥Ã¥·¥å "/" ¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤)');
-define('_SETTINGS_ADMINURL',           '´ÉÍý¼ÔÎΰè¤ÎURL (ºÇ¸å¤Ë¥¹¥é¥Ã¥·¥å "/" ¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤)');
-define('_SETTINGS_DIRS',                       'Nucleus ¥Ç¥£¥ì¥¯¥È¥ê');
-define('_SETTINGS_MEDIADIR',           '¥á¥Ç¥£¥¢(²èÁü¡¦²»À¼)¥Ç¥£¥ì¥¯¥È¥ê');
-define('_SETTINGS_SEECONFIGPHP',       '(config.php ¤ò»²¾È)');
-define('_SETTINGS_MEDIAURL',           '¥á¥Ç¥£¥¢URL (ºÇ¸å¤Ë¥¹¥é¥Ã¥·¥å "/" ¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤)');
-define('_SETTINGS_ALLOWUPLOAD',                '¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤òµö²Ä¤·¤Þ¤¹¤«?');
-define('_SETTINGS_ALLOWUPLOADTYPES','¥¢¥Ã¥×¥í¡¼¥É¤òµö²Ä¤¹¤ë¥Õ¥¡¥¤¥ë¥¿¥¤¥×');
-define('_SETTINGS_CHANGELOGIN',                '¥á¥ó¥Ð¡¼¤Ë¤è¤ë¥í¥°¥¤¥ó̾/¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤òµö²Ä¤¹¤ë');
-define('_SETTINGS_COOKIES_TITLE',      'Cookie ÀßÄê');
-define('_SETTINGS_COOKIELIFE',         '¥í¥°¥¤¥ó Cookie ¤ÎÍ­¸ú´ü´Ö');
-define('_SETTINGS_COOKIESESSION',      '¥»¥Ã¥·¥ç¥ó¤´¤È');
-define('_SETTINGS_COOKIEMONTH',                '°ì¥ö·î');
-define('_SETTINGS_COOKIEPATH',         'Cookie ¥Ñ¥¹ (¾åµé¥ª¥×¥·¥ç¥ó)');
-define('_SETTINGS_COOKIEDOMAIN',       'Cookie ¥É¥á¥¤¥ó (¾åµé¥ª¥×¥·¥ç¥ó)');
-define('_SETTINGS_COOKIESECURE',       '¥»¥­¥å¥¢ Cookie (¾åµé¥ª¥×¥·¥ç¥ó)');
-define('_SETTINGS_LASTVISIT',          'ºÇ½ªË¬ÌäÆü»þ Cookie ¤ÎÊݸ');
-define('_SETTINGS_ALLOWCREATE',                '¥Ó¥¸¥¿¡¼¤Ë¥á¥ó¥Ð¡¼¥¢¥«¥¦¥ó¥ÈºîÀ®¤òµö²Ä¤¹¤ë');
-define('_SETTINGS_NEWLOGIN',           '¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¥¢¥«¥¦¥ó¥È¤Ë¤è¤ë¥í¥°¥¤¥ó¤òµö²Ä');
-define('_SETTINGS_NEWLOGIN2',          '(¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥¢¥«¥¦¥ó¥È¤Î¤ß)');
-define('_SETTINGS_MEMBERMSGS',         '¥á¥ó¥Ð¡¼´Ö¥µ¡¼¥Ó¥¹¤òµö²Ä');
-define('_SETTINGS_LANGUAGE',           '´ûÄê¤Î¸À¸ì');
-define('_SETTINGS_DISABLESITE',                '¾¤Î¥µ¥¤¥È¤Ø¤Î¥ê¥À¥¤¥ì¥¯¥È¡ÊÈó¾ï»þÍÑ¡Ë');
-define('_SETTINGS_DBLOGIN',                    'MySQL ¥í¥°¥¤¥ó &amp; ¥Ç¡¼¥¿¥Ù¡¼¥¹');
-define('_SETTINGS_UPDATE',                     'ÀßÄê¤Î¹¹¿·');
-define('_SETTINGS_UPDATE_BTN',         'ÀßÄê¤ò¹¹¿·');
-define('_SETTINGS_DISABLEJS',          'JavaScript¥Ä¡¼¥ë¥Ð¡¼¤ò̵¸ú¤Ë¤¹¤ë');
-define('_SETTINGS_MEDIA',                      '¥á¥Ç¥£¥¢/¥¢¥Ã¥×¥í¡¼¥ÉÀßÄê');
-define('_SETTINGS_MEDIAPREFIX',                '¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë̾¤ÎƬ¤ËÆüÉÕ¤òÉղ乤ë');
-define('_SETTINGS_MEMBERS',                    '¥á¥ó¥Ð¡¼ÀßÄê');
-
-// bans
-define('_BAN_TITLE',                           '¶Ø»ß¥ê¥¹¥È:');
-define('_BAN_NONE',                                    '¤³¤ÎBlog¤Î¶Ø»ß¼Ô¤Ï¤¤¤Þ¤»¤ó');
-define('_BAN_NEW_TITLE',                       '¶Ø»ß¼Ô¤òÄɲ乤ë');
-define('_BAN_NEW_TEXT',                                'º£¤¹¤°¶Ø»ß¼Ô¤òÄɲ乤ë');
-define('_BAN_REMOVE_TITLE',                    '¶Ø»ß¼Ô¤Îºï½ü');
-define('_BAN_IPRANGE',                         'IP¤ÎÈÏ°Ï');
-define('_BAN_BLOGS',                           '¶Ø»ß¤¹¤ëBlog: ');
-define('_BAN_DELETE_TITLE',                    '¶Ø»ß¼Ô¤Îºï½ü');
-define('_BAN_ALLBLOGS',                                '¤¢¤Ê¤¿¤¬´ÉÍý¼ÔÆø¢¤ò»ý¤ÄÁ´¤Æ¤ÎBlog');
-define('_BAN_REMOVED_TITLE',           '¶Ø»ß¼Ô¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿');
-define('_BAN_REMOVED_TEXT',                    '°Ê²¼¤ÎBlog¤Ø¤Î¶Ø»ß¼Ô¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿:');
-define('_BAN_ADD_TITLE',                       '¶Ø»ß¼Ô¤ÎÄɲÃ');
-define('_BAN_IPRANGE_TEXT',                    '°Ê²¼¤Ç¥Ö¥í¥Ã¥¯¤·¤¿¤¤IP¤ÎÈϰϤòÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£»ØÄꤹ¤ëÈϰϤ¬¾®¤µ¤¤Äø¿¤¯¤Î¥¢¥É¥ì¥¹¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£');
-define('_BAN_BLOGS_TEXT',                      '1¤Ä¤ÎBlog¤Î¤ß¤Ç¶Ø»ß¤¹¤ë¤«¡¢¤¢¤Ê¤¿¤¬´ÉÍý¼ÔÆø¢¤ò»ý¤ÄÁ´¤Æ¤ÎBlog¤Ç¶Ø»ß¤¹¤ë¤«¤òÁªÂò¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£°Ê²¼¤«¤éÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£');
-define('_BAN_REASON_TITLE',                    'Íýͳ');
-define('_BAN_REASON_TEXT',                     '³ºÅö¤¹¤ëIP¶Ø»ß¼Ô¤¬¥³¥á¥ó¥È¤òÄɲä·¤¿¤ê¥«¥ë¥ÞÅêɼ¤ò¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ëɽ¼¨¤µ¤ì¤ë¶Ø»ßÍýͳ¤ò½ñ¤¤¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹ (¾å¸Â256ʸ»ú)¡£');
-define('_BAN_ADD_BTN',                         '¶Ø»ß¼Ô¤ÎÄɲÃ');
-
-// LOGIN screen
-define('_LOGIN_MESSAGE',                       '¥á¥Ã¥»¡¼¥¸');
-define('_LOGIN_NAME',                          '¥æ¡¼¥¶¡¼Ì¾');
-define('_LOGIN_PASSWORD',                      '¥Ñ¥¹¥ï¡¼¥É');
-define('_LOGIN_SHARED',                                _LOGINFORM_SHARED);
-define('_LOGIN_FORGOT',                                '¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤¿¾ì¹ç');
-
-// membermanagement
-define('_MEMBERS_TITLE',                       '¥á¥ó¥Ð¡¼¤Î´ÉÍý');
-define('_MEMBERS_CURRENT',                     '¸½ºß¤Î¥á¥ó¥Ð¡¼');
-define('_MEMBERS_NEW',                         '¿·¤·¤¤¥á¥ó¥Ð¡¼¤ÎÄɲÃ');
-define('_MEMBERS_DISPLAY',                     'ɽ¼¨¤µ¤ì¤ë̾Á°');
-define('_MEMBERS_DISPLAY_INFO',                '(¤³¤Î̾Á°¤Ï¥í¥°¥¤¥ó»þ¤Ë»È¤ï¤ì¤Þ¤¹)');
-define('_MEMBERS_REALNAME',                    'ËÜ̾');
-define('_MEMBERS_PWD',                         '¥Ñ¥¹¥ï¡¼¥É');
-define('_MEMBERS_REPPWD',                      '¥Ñ¥¹¥ï¡¼¥É¡Ê³Îǧ¡Ë');
-define('_MEMBERS_EMAIL',                       '¥á¡¼¥ë¥¢¥É¥ì¥¹');
-define('_MEMBERS_EMAIL_EDIT',          '(¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÊѹ¹¤¹¤ë¤È¡¢¤½¤Î¥¢¥É¥ì¥¹¤Ø¼«Æ°Åª¤Ë¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤¬Á÷¿®¤µ¤ì¤Þ¤¹)');
-define('_MEMBERS_URL',                         'Web¥µ¥¤¥È¥¢¥É¥ì¥¹ (URL)');
-define('_MEMBERS_SUPERADMIN',          'Super-admin(ºÇ¹â´ÉÍý)¸¢¸Â¤òÍ¿¤¨¤ë');
-define('_MEMBERS_CANLOGIN',                    '´ÉÍý¼ÔÎΰè¤Ø¤Î¥í¥°¥¤¥ó');
-define('_MEMBERS_NOTES',                       'È÷¹Í');
-define('_MEMBERS_NEW_BTN',                     '¥á¥ó¥Ð¡¼¤ÎÄɲÃ');
-define('_MEMBERS_EDIT',                                '¥á¥ó¥Ð¡¼¤ÎÊÔ½¸');
-define('_MEMBERS_EDIT_BTN',                    'ÀßÄê¤ÎÊѹ¹');
-define('_MEMBERS_BACKTOOVERVIEW',      '¥á¥ó¥Ð¡¼¤Î°ìÍ÷¤ËÌá¤ë');
-define('_MEMBERS_DEFLANG',                     '¸À¸ì');
-define('_MEMBERS_USESITELANG',         '- ¥µ¥¤¥È¤ÎÀßÄê¤ò»È¤¦ -');
-
-// List of blogs (TT = tooltip)
-define('_BLOGLIST_TT_VISIT',           '¥µ¥¤¥È¤ò¸«¤ë');
-define('_BLOGLIST_ADD',                                '¥¢¥¤¥Æ¥à¤ÎÄɲÃ');
-define('_BLOGLIST_TT_ADD',                     '¤³¤ÎBlog¤Ë¿·¤·¤¤¥¢¥¤¥Æ¥à¤òÄɲä·¤Þ¤¹');
-define('_BLOGLIST_EDIT',                       '¥¢¥¤¥Æ¥à¤ÎÊÔ½¸/ºï½ü');
-define('_BLOGLIST_TT_EDIT',                    '');
-define('_BLOGLIST_BMLET',                      'Bookmarklet');
-define('_BLOGLIST_TT_BMLET',           '');
-define('_BLOGLIST_SETTINGS',           'ÀßÄê');
-define('_BLOGLIST_TT_SETTINGS',                'ÀßÄê¤ÎÊÔ½¸/¥Á¡¼¥à¤Î´ÉÍý');
-define('_BLOGLIST_BANS',                       '¶Ø»ß');
-define('_BLOGLIST_TT_BANS',                    '¶Ø»ßIP¤Î³Îǧ/ÄɲÃ/ºï½ü');
-define('_BLOGLIST_DELETE',                     'Á´¤Æºï½ü');
-define('_BLOGLIST_TT_DELETE',          '¤³¤ÎBlog¤òºï½ü');
-
-// OVERVIEW screen
-define('_OVERVIEW_YRBLOGS',                    '¤¢¤Ê¤¿¤ÎBlog');
-define('_OVERVIEW_YRDRAFTS',           '¥É¥é¥Õ¥È');
-define('_OVERVIEW_YRSETTINGS',         'ÀßÄê');
-define('_OVERVIEW_GSETTINGS',          '´ðËÜÀßÄê');
-define('_OVERVIEW_NOBLOGS',                    '¤¢¤Ê¤¿¤Ï¤É¤ÎBlog¥Á¡¼¥à¥ê¥¹¥È¤Ë¤âÆþ¤Ã¤Æ¤¤¤Þ¤»¤ó');
-define('_OVERVIEW_NODRAFTS',           '¥É¥é¥Õ¥È¡ÊÊÔ½¸Ãæ¡Ë¤Îµ­»ö¤Ï¤¢¤ê¤Þ¤»¤ó');
-define('_OVERVIEW_EDITSETTINGS',       '¤¢¤Ê¤¿¤ÎÀßÄê');
-define('_OVERVIEW_BROWSEITEMS',                '¤¢¤Ê¤¿¤Î¥¢¥¤¥Æ¥à');
-define('_OVERVIEW_BROWSECOMM',         '¤¢¤Ê¤¿¤Î¥³¥á¥ó¥È');
-define('_OVERVIEW_VIEWLOG',                    '´ÉÍýÁàºîÍúÎò');
-define('_OVERVIEW_MEMBERS',                    '¥á¥ó¥Ð¡¼´ÉÍý');
-define('_OVERVIEW_NEWLOG',                     '¿·µ¬BlogºîÀ®');
-define('_OVERVIEW_SETTINGS',           '¥°¥í¡¼¥Ð¥ëÀßÄê');
-define('_OVERVIEW_TEMPLATES',          '¥Æ¥ó¥×¥ì¡¼¥ÈÊÔ½¸');
-define('_OVERVIEW_SKINS',                      '¥¹¥­¥óÊÔ½¸');
-define('_OVERVIEW_BACKUP',                     'DBÊݸ/Éü¸µ');
-
-// ITEMLIST
-define('_ITEMLIST_BLOG',                       'Blog¥¢¥¤¥Æ¥à¤ÎÊÔ½¸: ');
-define('_ITEMLIST_YOUR',                       '¤¢¤Ê¤¿¤Î¥¢¥¤¥Æ¥à');
-
-// Comments
-define('_COMMENTS',                                    '¥³¥á¥ó¥È');
-define('_NOCOMMENTS',                          '¤³¤Î¥¢¥¤¥Æ¥à¤Ø¤Î¥³¥á¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó');
-define('_COMMENTS_YOUR',                       '¤¢¤Ê¤¿¤Î¥³¥á¥ó¥È');
-define('_NOCOMMENTS_YOUR',                     '¤¢¤Ê¤¿¤Î¥³¥á¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó');
-
-// LISTS (general)
-define('_LISTS_NOMORE',                                '²¿¤â¤¢¤ê¤Þ¤»¤ó');
-define('_LISTS_PREV',                          'Á°¤Ø');
-define('_LISTS_NEXT',                          '¼¡¤Ø');
-define('_LISTS_SEARCH',                                '¸¡º÷');
-define('_LISTS_CHANGE',                                'Êѹ¹');
-define('_LISTS_PERPAGE',                       '¥¢¥¤¥Æ¥à/¥Ú¡¼¥¸');
-define('_LISTS_ACTIONS',                       '¥¢¥¯¥·¥ç¥ó');
-define('_LISTS_DELETE',                                'ºï½ü');
-define('_LISTS_EDIT',                          'ÊÔ½¸');
-define('_LISTS_MOVE',                          '°ÜÆ°');
-define('_LISTS_CLONE',                         'Ê£À½');
-define('_LISTS_TITLE',                         '¥¿¥¤¥È¥ë');
-define('_LISTS_BLOG',                          'Blog');
-define('_LISTS_NAME',                          '̾Á°');
-define('_LISTS_DESC',                          'ÀâÌÀ');
-define('_LISTS_TIME',                          '»þ´Ö');
-define('_LISTS_COMMENTS',                      '¥³¥á¥ó¥È');
-define('_LISTS_TYPE',                          '¥¿¥¤¥×');
-
-
-// member list 
-define('_LIST_MEMBER_NAME',                    '̾Á°');
-define('_LIST_MEMBER_RNAME',           'ËÜ̾');
-define('_LIST_MEMBER_ADMIN',           'Super-admin¸¢¸Â ');
-define('_LIST_MEMBER_LOGIN',           '¥í¥°¥¤¥ó²Äǽ');
-define('_LIST_MEMBER_URL',                     'Web¥µ¥¤¥È');
-
-// banlist
-define('_LIST_BAN_IPRANGE',                    'IP¤ÎÈÏ°Ï');
-define('_LIST_BAN_REASON',                     'Íýͳ');
-
-// actionlist
-define('_LIST_ACTION_MSG',                     '¥á¥Ã¥»¡¼¥¸');
-
-// commentlist
-define('_LIST_COMMENT_BANIP',          '¶Ø»ßIP');
-define('_LIST_COMMENT_WHO',                    'ºî¼Ô');
-define('_LIST_COMMENT',                                '¥³¥á¥ó¥È');
-define('_LIST_COMMENT_HOST',           '¥Û¥¹¥È');
-
-// itemlist
-define('_LIST_ITEM_INFO',                      '¾ðÊó');
-define('_LIST_ITEM_CONTENT',           '¥¿¥¤¥È¥ë¤ÈËÜʸ');
-
-
-// teamlist
-define('_LIST_TEAM_ADMIN',                     '´ÉÍý¼Ô¸¢¸Â ');
-define('_LIST_TEAM_CHADMIN',           '´ÉÍý¼Ô¸¢¸Â¤ÎÊѹ¹');
-
-// edit comments
-define('_EDITC_TITLE',                         '¥³¥á¥ó¥È¤ÎÊÔ½¸');
-define('_EDITC_WHO',                           'ºî¼Ô');
-define('_EDITC_HOST',                          '¥Û¥¹¥È');
-define('_EDITC_WHEN',                          'Æü»þ');
-define('_EDITC_TEXT',                          'ËÜʸ');
-define('_EDITC_EDIT',                          '¥³¥á¥ó¥È¤ÎÊÔ½¸');
-define('_EDITC_MEMBER',                                '¥á¥ó¥Ð¡¼');
-define('_EDITC_NONMEMBER',                     'Èó¥á¥ó¥Ð¡¼');
-
-// move item
-define('_MOVE_TITLE',                          '¤É¤ÎBlog¤Ë°ÜÆ°¤·¤Þ¤¹¤«?');
-define('_MOVE_BTN',                                    '¥¢¥¤¥Æ¥à¤ò°ÜÆ°¤¹¤ë');
-
-?>
diff --git a/euc/nucleus/libs/ACTION.php b/euc/nucleus/libs/ACTION.php
deleted file mode 100755 (executable)
index f42cbdd..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Actions that can be called via action.php
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ACTION.php,v 1.6 2007-03-22 08:32:11 kimitake Exp $
- * $NucleusJP: ACTION.php,v 1.8 2007/03/13 05:19:04 shizuki Exp $
- */
-class ACTION
-{
-       /**
-        *  Constructor for an new ACTION object
-        */
-       function ACTION()
-       {
-               // do nothing
-       }
-
-       /**
-        *  Calls functions that handle an action called from action.php
-        */
-       function doAction($action)
-       {
-               switch($action) {
-                       case 'autodraft':
-                               return $this->autoDraft();
-                               break;
-                       case 'updateticket':
-                               return $this->updateTicket();
-                               break;
-                       case 'addcomment':
-                               return $this->addComment();
-                               break;
-                       case 'sendmessage':
-                               return $this->sendMessage();
-                               break;
-                       case 'createaccount':
-                               return $this->createAccount();
-                               break;
-                       case 'forgotpassword':
-                               return $this->forgotPassword();
-                               break;
-                       case 'votepositive':
-                               return $this->doKarma('pos');
-                               break;
-                       case 'votenegative':
-                               return $this->doKarma('neg');
-                               break;
-                       case 'plugin':
-                               return $this->callPlugin();
-                               break;
-                       default:
-                               doError(_ERROR_BADACTION);
-               }
-       }
-
-       /**
-        *  Adds a new comment to an item (if IP isn't banned)
-        */
-       function addComment() {
-               global $CONF, $errormessage, $manager;
-
-               $post['itemid'] =       intPostVar('itemid');
-               $post['user'] =         postVar('user');
-               $post['userid'] =       postVar('userid');
-               $post['email'] =   postVar('email');
-               $post['body'] =         postVar('body');
-
-               // set cookies when required
-               $remember = intPostVar('remember');
-               if ($remember == 1) {
-                       $lifetime = time()+2592000;
-                       setcookie($CONF['CookiePrefix'] . 'comment_user',$post['user'],$lifetime,'/','',0);
-                       setcookie($CONF['CookiePrefix'] . 'comment_userid', $post['userid'],$lifetime,'/','',0);
-                       setcookie($CONF['CookiePrefix'] . 'comment_email',  $post['email'], $lifetime,'/','',0);
-               }
-
-               $comments = new COMMENTS($post['itemid']);
-
-               $blogid = getBlogIDFromItemID($post['itemid']);
-               $this->checkban($blogid);
-               $blog =& $manager->getBlog($blogid);
-
-               // note: PreAddComment and PostAddComment gets called somewhere inside addComment
-               $errormessage = $comments->addComment($blog->getCorrectTime(),$post);
-
-               if ($errormessage == '1') {
-                       // redirect when adding comments succeeded
-                       if (postVar('url')) {
-                               redirect(postVar('url'));
-                       } else {
-                               $url = createItemLink($post['itemid']);
-                               redirect($url);
-                       }
-               } else {
-                       // else, show error message using default skin for blog
-                       return array(
-                               'message' => $errormessage,
-                               'skinid' => $blog->getDefaultSkin()
-                       );
-               }
-
-               exit;
-       }
-
-       /**
-        *  Sends a message from the current member to the member given as argument
-        */
-       function sendMessage() {
-               global $CONF, $member;
-
-               $error = $this->validateMessage();
-               if ($error != '')
-                       return array('message' => $error);
-
-               if (!$member->isLoggedIn()) {
-                       $fromMail = postVar('frommail');
-                       $fromName = _MMAIL_FROMANON;
-               } else {
-                       $fromMail = $member->getEmail();
-                       $fromName = $member->getDisplayName();
-               }
-
-               $tomem = new MEMBER();
-               $tomem->readFromId(postVar('memberid'));
-
-               $message  = _MMAIL_MSG . ' ' . $fromName . "\n"
-                         . '(' . _MMAIL_FROMNUC. ' ' . $CONF['IndexURL'] .") \n\n"
-                         . _MMAIL_MAIL . " \n\n"
-                         . postVar('message');
-               $message .= getMailFooter();
-
-               $title = _MMAIL_TITLE . ' ' . $fromName;
-               mb_language('ja');
-               mb_internal_encoding(_CHARSET);
-               @mb_send_mail($tomem->getEmail(), $title, $message, "From: ". $fromMail);
-
-               if (postVar('url')) {
-                       redirect(postVar('url'));
-               } else {
-                       $CONF['MemberURL'] = $CONF['IndexURL'];
-                       if ($CONF['URLMode'] == 'pathinfo')
-                       {
-                               $url = createLink('member', array('memberid' => $tomem->getID(), 'name' => $tomem->getDisplayName()));
-                       }
-                       else
-                       {
-                               $url = $CONF['IndexURL'] . createMemberLink($tomem->getID());
-                       }
-                       redirect($url);
-               }
-               exit;
-       }
-
-       /**
-        *  Checks if a mail to a member is allowed
-        *  Returns a string with the error message if the mail is disallowed
-        */
-       function validateMessage() {
-               global $CONF, $member, $manager;
-
-               if (!$CONF['AllowMemberMail'])
-                       return _ERROR_MEMBERMAILDISABLED;
-
-               if (!$member->isLoggedIn() && !$CONF['NonmemberMail'])
-                       return _ERROR_DISALLOWED;
-
-               if (!$member->isLoggedIn() && (!isValidMailAddress(postVar('frommail'))))
-                       return _ERROR_BADMAILADDRESS;
-
-               // let plugins do verification (any plugin which thinks the comment is invalid
-               // can change 'error' to something other than '')
-               $result = '';
-               $manager->notify('ValidateForm', array('type' => 'membermail', 'error' => &$result));
-
-               return $result;
-
-       }
-
-       /**
-        *  Creates a new user account
-        */
-       function createAccount() {
-               global $CONF, $manager;
-
-               if (!$CONF['AllowMemberCreate'])
-                       doError(_ERROR_MEMBERCREATEDISABLED);
-
-               // even though the member can not log in, set some random initial password. One never knows.
-               srand((double)microtime()*1000000);
-               $initialPwd = md5(uniqid(rand(), true));
-
-               // create member (non admin/can not login/no notes/random string as password)
-               $r = MEMBER::create(postVar('name'), postVar('realname'), $initialPwd, postVar('email'), postVar('url'), 0, 0, '');
-
-               if ($r != 1)
-                       doError($r);
-
-               // send message containing password.
-               $newmem = new MEMBER();
-               $newmem->readFromName(postVar('name'));
-               $newmem->sendActivationLink('register');
-
-               $manager->notify('PostRegister',array('member' => &$newmem));
-
-               if (postVar('desturl')) {
-                       redirect(postVar('desturl'));
-               } else {
-                       header ("Content-Type: text/html; charset="._CHARSET);
-                       echo _MSG_ACTIVATION_SENT;
-               }
-               exit;
-       }
-
-       /**
-        *  Sends a new password
-        */
-       function forgotPassword() {
-               $membername = trim(postVar('name'));
-
-               if (!MEMBER::exists($membername))
-                       doError(_ERROR_NOSUCHMEMBER);
-               $mem = MEMBER::createFromName($membername);
-
-               if (!$mem->canLogin())
-                       doError(_ERROR_NOLOGON_NOACTIVATE);
-
-               // check if e-mail address is correct
-               if (!($mem->getEmail() == postVar('email')))
-                       doError(_ERROR_INCORRECTEMAIL);
-
-               // send activation link
-               $mem->sendActivationLink('forgot');
-
-               if (postVar('url')) {
-                       redirect(postVar('url'));
-               } else {
-                       header ("Content-Type: text/html; charset="._CHARSET);
-                       echo _MSG_ACTIVATION_SENT;
-               }
-               exit;
-       }
-
-       /**
-        *  Handle karma votes
-        */
-       function doKarma($type) {
-               global $itemid, $member, $CONF, $manager;
-
-               // check if itemid exists
-               if (!$manager->existsItem($itemid,0,0))
-                       doError(_ERROR_NOSUCHITEM);
-
-               $blogid = getBlogIDFromItemID($itemid);
-               $this->checkban($blogid);
-
-               $karma =& $manager->getKarma($itemid);
-
-               // check if not already voted
-               if (!$karma->isVoteAllowed(serverVar('REMOTE_ADDR')))
-                       doError(_ERROR_VOTEDBEFORE);
-
-               // check if item does allow voting
-               $item =& $manager->getItem($itemid,0,0);
-               if ($item['closed'])
-                       doError(_ERROR_ITEMCLOSED);
-
-               switch($type) {
-                       case 'pos':
-                               $karma->votePositive();
-                               break;
-                       case 'neg':
-                               $karma->voteNegative();
-                               break;
-               }
-
-               $blogid = getBlogIDFromItemID($itemid);
-               $blog =& $manager->getBlog($blogid);
-
-               // send email to notification address, if any
-               if ($blog->getNotifyAddress() && $blog->notifyOnVote()) {
-
-                       $mailto_msg = _NOTIFY_KV_MSG . ' ' . $itemid . "\n";
-                       $mailto_msg .= $CONF['IndexURL'] . 'index.php?itemid=' . $itemid . "\n\n";
-                       if ($member->isLoggedIn()) {
-                               $mailto_msg .= _NOTIFY_MEMBER . ' ' . $member->getDisplayName() . ' (ID=' . $member->getID() . ")\n";
-                       }
-                       $mailto_msg .= _NOTIFY_IP . ' ' . serverVar('REMOTE_ADDR') . "\n";
-                       $mailto_msg .= _NOTIFY_HOST . ' ' .  gethostbyaddr(serverVar('REMOTE_ADDR'))  . "\n";
-                       $mailto_msg .= _NOTIFY_VOTE . "\n " . $type . "\n";
-                       $mailto_msg .= getMailFooter();
-
-                       $mailto_title = _NOTIFY_KV_TITLE . ' ' . strip_tags($item['title']) . ' (' . $itemid . ')';
-
-                       $frommail = $member->getNotifyFromMailAddress();
-
-                       $notify = new NOTIFICATION($blog->getNotifyAddress());
-                       $notify->notify($mailto_title, $mailto_msg , $frommail);
-               }
-
-
-               $refererUrl = serverVar('HTTP_REFERER');
-               if ($refererUrl)
-                       $url = $refererUrl;
-               else
-                       $url = $CONF['IndexURL'] . 'index.php?itemid=' . $itemid;
-
-               redirect($url);
-               exit;
-       }
-
-       /**
-         * Calls a plugin action
-         */
-       function callPlugin() {
-               global $manager;
-
-               $pluginName = 'NP_' . requestVar('name');
-               $actionType = requestVar('type');
-
-               // 1: check if plugin is installed
-               if (!$manager->pluginInstalled($pluginName))
-                       doError(_ERROR_NOSUCHPLUGIN);
-
-               // 2: call plugin
-               $pluginObject =& $manager->getPlugin($pluginName);
-               if ($pluginObject)
-                       $error = $pluginObject->doAction($actionType);
-               else
-                       $error = 'Could not load plugin (see actionlog)';
-
-               // doAction returns error when:
-               // - an error occurred (duh)
-               // - no actions are allowed (doAction is not implemented)
-               if ($error)
-                       doError($error);
-
-               exit;
-
-       }
-
-       /**
-         * Checks if an IP or IP range is banned
-         */
-       function checkban($blogid) {
-               // check if banned
-               $ban = BAN::isBanned($blogid, serverVar('REMOTE_ADDR'));
-               if ($ban != 0) {
-                       doError(_ERROR_BANNED1 . $ban->iprange . _ERROR_BANNED2 . $ban->message . _ERROR_BANNED3);
-               }
-
-       }
-
-       /**
-        * Gets a new ticket
-        */
-       function updateTicket() {
-               global $manager;
-               if ($manager->checkTicket()) {
-                       echo $manager->getNewTicket();
-               }
-               else {
-                       echo 'err:' . _ERROR_BADTICKET;
-               }
-               return false;
-       }
-
-       /**
-        * Handles AutoSaveDraft
-        */
-       function autoDraft() {
-               global $manager;
-               if ($manager->checkTicket()) {
-                       $manager->loadClass('ITEM');
-                       $info = ITEM::CreateDraftFromRequest();
-                       if ($info['status'] == 'error') {
-                               echo $info['message'];
-                       }
-                       else {
-                               echo $info['draftid'];
-                       }
-               }
-               else {
-                       echo 'err:' . _ERROR_BADTICKET;
-               }
-               return false;
-       }
-
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/ACTIONLOG.php b/euc/nucleus/libs/ACTIONLOG.php
deleted file mode 100755 (executable)
index 7a200a0..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Actionlog class for Nucleus
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ACTIONLOG.php,v 1.7 2007-04-20 08:27:13 kimitake Exp $
- * $NucleusJP: ACTIONLOG.php,v 1.8 2007/04/19 05:49:29 kimitake Exp $
- */
-define('ERROR',1);             // only errors
-define('WARNING',2);   // errors and warnings
-define('INFO',3);              // info, errors and warnings
-define('DEBUG',4);             // everything
-$CONF['LogLevel'] = INFO;
-
-class ACTIONLOG {
-
-       /**
-         * (Static) Method to add a message to the action log
-         */
-       function add($level, $message) {
-               global $member, $CONF;
-
-               if ($CONF['LogLevel'] < $level)
-                       return;
-
-               if ($member && $member->isLoggedIn())
-                       $message = "[" . $member->getDisplayName() . "] " . $message;
-
-               $message = addslashes($message);                // add slashes
-               $timestamp = date("Y-m-d H:i:s",time());        // format timestamp
-               $query = "INSERT INTO " . sql_table('actionlog') . " (timestamp, message) VALUES ('$timestamp', '$message')";
-
-               sql_query($query);
-
-               ACTIONLOG::trimLog();
-       }
-
-       /**
-         * (Static) Method to clear the whole action log
-         */
-       function clear() {
-               global $manager;
-
-               $query = 'DELETE FROM ' . sql_table('actionlog');
-
-               $manager->notify('ActionLogCleared',array());
-
-               return sql_query($query);
-       }
-
-       /**
-         * (Static) Method to trim the action log (from over 500 back to 250 entries)
-         */
-       function trimLog() {
-               static $checked = 0;
-
-               // only check once per run
-               if ($checked) return;
-
-               // trim
-               $checked = 1;
-
-               $iTotal = quickQuery('SELECT COUNT(*) AS result FROM ' . sql_table('actionlog'));
-
-               // if size > 500, drop back to about 250
-               $iMaxSize = 500;
-               $iDropSize = 250;
-               if ($iTotal > $iMaxSize) {
-                       $tsChop = quickQuery('SELECT timestamp as result FROM ' . sql_table('actionlog') . ' ORDER BY timestamp DESC LIMIT '.$iDropSize.',1');
-                       sql_query('DELETE FROM ' . sql_table('actionlog') . ' WHERE timestamp < \'' . $tsChop . '\'');
-               }
-
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/ACTIONS.php b/euc/nucleus/libs/ACTIONS.php
deleted file mode 100644 (file)
index 279b6e0..0000000
+++ /dev/null
@@ -1,1307 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This class contains the functions that get called by using
- * the special tags in the skins
- *
- * The allowed tags for a type of skinpart are defined by the
- * SKIN::getAllowedActionsForType($type) method
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ACTIONS.php,v 1.3 2007-04-20 08:27:13 kimitake Exp $
- * @version $NucleusJP: ACTIONS.php,v 1.2 2007/03/22 09:23:58 kimitake Exp $
- */
-
-class ACTIONS extends BaseActions {
-
-       // part of the skin currently being parsed ('index', 'item', 'archive',
-       // 'archivelist', 'member', 'search', 'error', 'imagepopup')
-       var $skintype;
-
-       // contains an assoc array with parameters that need to be included when
-       // generating links to items/archives/... (e.g. catid)
-       var $linkparams;
-
-       // reference to the skin object for which a part is being parsed
-       var $skin;
-
-       // used when including templated forms from the include/ dir. The $formdata var
-       // contains the values to fill out in there (assoc array name -> value)
-       var $formdata;
-
-       // filled out with the number of displayed items after calling one of the
-       // (other)blog/(other)searchresults skinvars.
-       var $amountfound;
-
-       /**
-        * Constructor for a new ACTIONS object
-        */
-       function ACTIONS($type) {
-               // call constructor of superclass first
-               $this->BaseActions();
-
-               $this->skintype = $type;
-
-               global $catid;
-               if ($catid)
-                       $this->linkparams = array('catid' => $catid);
-       }
-
-       /**
-        *  Set the skin
-        */
-       function setSkin(&$skin) {
-               $this->skin =& $skin;
-       }
-
-       /**
-        *  Set the parser
-        */
-       function setParser(&$parser) {
-               $this->parser =& $parser;
-       }
-
-       /**
-        *      Forms get parsedincluded now, using an extra <formdata> skinvar
-       */
-       function doForm($filename) {
-               global $DIR_NUCLEUS;
-               array_push($this->parser->actions,'formdata','text','callback','errordiv','ticket');
-               $oldIncludeMode = PARSER::getProperty('IncludeMode');
-               $oldIncludePrefix = PARSER::getProperty('IncludePrefix');
-               PARSER::setProperty('IncludeMode','normal');
-               PARSER::setProperty('IncludePrefix','');
-               $this->parse_parsedinclude($DIR_NUCLEUS . 'forms/' . $filename . '.template');
-               PARSER::setProperty('IncludeMode',$oldIncludeMode);
-               PARSER::setProperty('IncludePrefix',$oldIncludePrefix);
-               array_pop($this->parser->actions);              // errordiv
-               array_pop($this->parser->actions);              // callback
-               array_pop($this->parser->actions);              // text
-               array_pop($this->parser->actions);              // formdata
-               array_pop($this->parser->actions);              // ticket
-       }
-
-       /**
-        * Checks conditions for if statements
-        *
-        * @param string $field type of <%if%>
-        * @param string $name property of field
-        * @param string $value value of property
-        */
-       function checkCondition($field, $name='', $value = '') {
-               global $catid, $blog, $member, $itemidnext, $itemidprev, $manager, $archiveprevexists, $archivenextexists;
-
-               $condition = 0;
-               switch($field) {
-                       case 'category':
-                               $condition = ($blog && $this->_ifCategory($name,$value));
-                               break;
-                       case 'blogsetting':
-                               $condition = ($blog && ($blog->getSetting($name) == $value));
-                               break;
-                       case 'loggedin':
-                               $condition = $member->isLoggedIn();
-                               break;
-                       case 'onteam':
-                               $condition = $member->isLoggedIn() && $this->_ifOnTeam($name);
-                               break;
-                       case 'admin':
-                               $condition = $member->isLoggedIn() && $this->_ifAdmin($name);
-                               break;
-                       case 'nextitem':
-                               $condition = ($itemidnext != '');
-                               break;
-                       case 'previtem':
-                               $condition = ($itemidprev != '');
-                               break;
-                       case 'archiveprevexists':
-                               $condition = ($archiveprevexists == true);
-                               break;
-                       case 'archivenextexists':
-                               $condition = ($archivenextexists == true);
-                               break;
-                       case 'skintype':
-                               $condition = ($name == $this->skintype);
-                               break;
-                       case 'hasplugin':
-                               $condition = $this->_ifHasPlugin($name, $value);
-                               break;
-                       default:
-                               $condition = $manager->pluginInstalled('NP_' . $field) && $this->_ifPlugin($field, $name, $value);
-                               break;
-               }
-               return $condition;
-       }
-
-       /**
-        *      hasplugin,PlugName
-        *         -> checks if plugin exists
-        *      hasplugin,PlugName,OptionName
-        *         -> checks if the option OptionName from plugin PlugName is not set to 'no'
-        *      hasplugin,PlugName,OptionName=value
-        *         -> checks if the option OptionName from plugin PlugName is set to value
-        */
-       function _ifHasPlugin($name, $value) {
-               global $manager;
-               $condition = false;
-               // (pluginInstalled method won't write a message in the actionlog on failure)
-               if ($manager->pluginInstalled('NP_'.$name)) {
-                       $plugin =& $manager->getPlugin('NP_' . $name);
-                       if ($plugin != NULL) {
-                               if ($value == "") {
-                                       $condition = true;
-                               } else {
-                                       list($name2, $value2) = explode('=', $value, 2);
-                                       if ($value2 == "" && $plugin->getOption($name2) != 'no') {
-                                               $condition = true;
-                                       } else if ($plugin->getOption($name2) == $value2) {
-                                               $condition = true;
-                                       }
-                               }
-                       }
-               }
-               return $condition;
-       }
-
-       /**
-        * Checks if a plugin exists and call its doIf function
-        */
-       function _ifPlugin($name, $key = '', $value = '') {
-               global $manager;
-
-               $plugin =& $manager->getPlugin('NP_' . $name);
-               if (!$plugin) return;
-
-               $params = func_get_args();
-               array_shift($params);
-
-               return call_user_func_array(array(&$plugin, 'doIf'), $params);
-       }
-
-       /**
-        *  Different checks for a category
-        */
-       function _ifCategory($name = '', $value='') {
-               global $blog, $catid;
-
-               // when no parameter is defined, just check if a category is selected
-               if (($name != 'catname' && $name != 'catid') || ($value == ''))
-                       return $blog->isValidCategory($catid);
-
-               // check category name
-               if ($name == 'catname') {
-                       $value = $blog->getCategoryIdFromName($value);
-                       if ($value == $catid)
-                               return $blog->isValidCategory($catid);
-               }
-
-               // check category id
-               if (($name == 'catid') && ($value == $catid))
-                       return $blog->isValidCategory($catid);
-
-               return false;
-       }
-
-       /**
-        *  Checks if a member is on the team of a blog and return his rights
-        */
-       function _ifOnTeam($blogName = '') {
-               global $blog, $member, $manager;
-
-               // when no blog found
-               if (($blogName == '') && (!is_object($blog)))
-                       return 0;
-
-               // explicit blog selection
-               if ($blogName != '')
-                       $blogid = getBlogIDFromName($blogName);
-
-               if (($blogName == '') || !$manager->existsBlogID($blogid))
-                       // use current blog
-                       $blogid = $blog->getID();
-
-               return $member->teamRights($blogid);
-       }
-
-       /**
-        *  Checks if a member is admin of a blog
-        */
-       function _ifAdmin($blogName = '') {
-               global $blog, $member, $manager;
-
-               // when no blog found
-               if (($blogName == '') && (!is_object($blog)))
-                       return 0;
-
-               // explicit blog selection
-               if ($blogName != '')
-                       $blogid = getBlogIDFromName($blogName);
-
-               if (($blogName == '') || !$manager->existsBlogID($blogid))
-                       // use current blog
-                       $blogid = $blog->getID();
-
-               return $member->isBlogAdmin($blogid);
-       }
-       
-       /**
-        * returns either
-        *              - a raw link (html/xml encoded) when no linktext is provided
-        *              - a (x)html <a href... link when a text is present (text htmlencoded)
-        */
-       function _link($url, $linktext = '')
-       {
-               $u = htmlspecialchars($url);
-               $u = preg_replace("/&amp;amp;/",'&amp;',$u); // fix URLs that already had encoded ampersands
-               if ($linktext != '')
-                       $l = '<a href="' . $u .'">'.htmlspecialchars($linktext).'</a>';
-               else
-                       $l = $u;
-               return $l;
-       }
-       
-       /**
-        * Outputs a next/prev link
-        *
-        * @param $maxresults
-        *              The maximum amount of items shown per page (e.g. 10)
-        * @param $startpos
-        *              Current start position (requestVar('startpos'))
-        * @param $direction
-        *              either 'prev' or 'next'
-        * @param $linktext
-        *              When present, the output will be a full <a href...> link. When empty,
-        *              only a raw link will be outputted
-        */
-       function _searchlink($maxresults, $startpos, $direction, $linktext = '') {
-               global $CONF, $blog, $query, $amount;
-               // TODO: Move request uri to linkparams. this is ugly. sorry for that.
-               $startpos       = intval($startpos);            // will be 0 when empty.
-               $parsed         = parse_url(serverVar('REQUEST_URI'));
-               $parsed         = $parsed['query'];
-               $url            = '';
-
-               switch ($direction) {
-                       case 'prev':
-                               if ( intval($startpos) - intval($maxresults) >= 0) {
-                                       $startpos       = intval($startpos) - intval($maxresults);
-                                       $url            = $CONF['SearchURL'].'?'.alterQueryStr($parsed,'startpos',$startpos);
-                               }
-                               break;
-                       case 'next':
-                               $iAmountOnPage = $this->amountfound;
-                               if ($iAmountOnPage == 0)
-                               {
-                                       // [%nextlink%] or [%prevlink%] probably called before [%blog%] or [%searchresults%]
-                                       // try a count query
-                                       switch ($this->skintype)
-                                       {
-                                               case 'index':
-                                                       $sqlquery = $blog->getSqlBlog('', 'count');
-                                                       break;
-                                               case 'search':
-                                                       $sqlquery = $blog->getSqlSearch($query, $amount, $unused_highlight, 'count');
-                                                       break;
-                                       }
-                                       if ($sqlquery)
-                                               $iAmountOnPage = intval(quickQuery($sqlquery)) - intval($startpos);
-                               }
-                               if (intval($iAmountOnPage) >= intval($maxresults)) {
-                                       $startpos       = intval($startpos) + intval($maxresults);
-                                       $url            = $CONF['SearchURL'].'?'.alterQueryStr($parsed,'startpos',$startpos);
-                               }
-                               break;
-                       default:
-                               break;
-               } // switch($direction)
-
-               if ($url != '')
-                       echo $this->_link($url, $linktext);
-       }
-
-       /**
-        *  Creates an item link and if no id is given a todaylink 
-        */
-       function _itemlink($id, $linktext = '') {
-               global $CONF;
-               if ($id)
-                       echo $this->_link(createItemLink($id, $this->linkparams), $linktext);
-               else
-                       $this->parse_todaylink($linktext);
-       }
-       
-       /**
-        *  Creates an archive link and if no id is given a todaylink 
-        */
-       function _archivelink($id, $linktext = '') {
-               global $CONF, $blog;
-               if ($id)
-                       echo $this->_link(createArchiveLink($blog->getID(), $id, $this->linkparams), $linktext);
-               else
-                       $this->parse_todaylink($linktext);
-       }
-       
-       /**
-         * Helper function that sets the category that a blog will need to use
-         *
-         * @param $blog
-         *             An object of the blog class, passed by reference (we want to make changes to it)
-         * @param $catname
-         *             The name of the category to use
-         */
-       function _setBlogCategory(&$blog, $catname) {
-               global $catid;
-               if ($catname != '')
-                       $blog->setSelectedCategoryByName($catname);
-               else
-                       $blog->setSelectedCategory($catid);
-       }
-
-       /**
-        *  Notifies the Manager that a PreBlogContent event occurs
-        */
-       function _preBlogContent($type, &$blog) {
-               global $manager;
-               $manager->notify('PreBlogContent',array('blog' => &$blog, 'type' => $type));
-       }
-
-       /**
-        *  Notifies the Manager that a PostBlogContent event occurs
-        */
-       function _postBlogContent($type, &$blog) {
-               global $manager;
-               $manager->notify('PostBlogContent',array('blog' => &$blog, 'type' => $type));
-       }
-       
-       /**
-        * Parse skinvar additemform
-        */
-       function parse_additemform() {
-               global $blog, $CONF;
-               $this->formdata = array(
-                       'adminurl' => htmlspecialchars($CONF['AdminURL'],ENT_QUOTES),
-                       'catid' => $blog->getDefaultCategory()
-               );
-               $blog->InsertJavaScriptInfo();
-               $this->doForm('additemform');
-       }
-       
-       /**
-        * Parse skinvar adminurl
-        * (shortcut for admin url)      
-        */
-       function parse_adminurl() {
-               $this->parse_sitevar('adminurl');
-       }
-
-       /**
-        * Parse skinvar archive
-        */
-       function parse_archive($template, $category = '') {
-               global $blog, $archive;
-               // can be used with either yyyy-mm or yyyy-mm-dd
-               sscanf($archive,'%d-%d-%d',$y,$m,$d);
-               $this->_setBlogCategory($blog, $category);
-               $this->_preBlogContent('achive',$blog);
-               $blog->showArchive($template, $y, $m, $d);
-               $this->_postBlogContent('achive',$blog);
-
-       }
-
-       /**
-         * %archivedate(locale,date format)%
-         */
-       function parse_archivedate($locale = '-def-') {
-               global $archive;
-
-               if ($locale == '-def-')
-                       setlocale(LC_TIME,$template['LOCALE']);
-               else
-                       setlocale(LC_TIME,$locale);
-
-               // get archive date
-               sscanf($archive,'%d-%d-%d',$y,$m,$d);
-
-               // get format
-               $args = func_get_args();
-               // format can be spread over multiple parameters
-               if (sizeof($args) > 1) {
-                       // take away locale
-                       array_shift($args);
-                       // implode
-                       $format=implode(',',$args);
-               } elseif ($d == 0) {
-                       $format = '%B %Y';
-               } else {
-                       $format = '%d %B %Y';
-               }
-
-               echo strftime($format,mktime(0,0,0,$m,$d?$d:1,$y));
-       }
-
-       /**
-        *  Parse skinvar archivedaylist
-        */             
-       function parse_archivedaylist($template, $category = 'all', $limit = 0) {
-               global $blog;
-               if ($category == 'all') $category = '';
-               $this->_preBlogContent('archivelist',$blog);
-               $this->_setBlogCategory($blog, $category);
-               $blog->showArchiveList($template, 'day', $limit);
-               $this->_postBlogContent('archivelist',$blog);
-       }
-       
-       /**
-        *      A link to the archives for the current blog (or for default blog)
-        */
-       function parse_archivelink($linktext = '') {
-               global $blog, $CONF;
-               if ($blog)
-                       echo $this->_link(createArchiveListLink($blog->getID(),$this->linkparams), $linktext);
-               else
-                       echo $this->_link(createArchiveListLink(), $linktext);
-       }
-
-       function parse_archivelist($template, $category = 'all', $limit = 0) {
-               global $blog;
-               if ($category == 'all') $category = '';
-               $this->_preBlogContent('archivelist',$blog);
-               $this->_setBlogCategory($blog, $category);
-               $blog->showArchiveList($template, 'month', $limit);
-               $this->_postBlogContent('archivelist',$blog);
-       }
-
-       /**
-        * Parse skinvar archivetype
-        */
-       function parse_archivetype() {
-               global $archivetype;
-               echo $archivetype;
-       }
-
-       /**
-        * Parse skinvar blog
-        */
-       function parse_blog($template, $amount = 10, $category = '') {
-               global $blog, $startpos;
-
-               list($limit, $offset) = sscanf($amount, '%d(%d)');
-               $this->_setBlogCategory($blog, $category);
-               $this->_preBlogContent('blog',$blog);
-               $this->amountfound = $blog->readLog($template, $limit, $offset, $startpos);
-               $this->_postBlogContent('blog',$blog);
-       }
-       
-       /*
-       *       Parse skinvar bloglist
-       *       Shows a list of all blogs
-       *       bnametype: whether 'name' or 'shortname' is used for the link text        
-       */
-       function parse_bloglist($template, $bnametype = '') {
-               BLOG::showBlogList($template, $bnametype);
-       }
-       
-       /**
-        * Parse skinvar blogsetting
-        */
-       function parse_blogsetting($which) {
-               global $blog;
-               switch($which) {
-                       case 'id':
-                               echo htmlspecialchars($blog->getID(),ENT_QUOTES);
-                               break;
-                       case 'url':
-                               echo htmlspecialchars($blog->getURL(),ENT_QUOTES);
-                               break;
-                       case 'name':
-                               echo htmlspecialchars($blog->getName(),ENT_QUOTES);
-                               break;
-                       case 'desc':
-                               echo htmlspecialchars($blog->getDescription(),ENT_QUOTES);
-                               break;
-                       case 'short':
-                               echo htmlspecialchars($blog->getShortName(),ENT_QUOTES);
-                               break;
-               }
-       }
-       
-       /**
-        * Parse callback
-        */
-       function parse_callback($eventName, $type)
-       {
-               global $manager;
-               $manager->notify($eventName, array('type' => $type));
-       }
-       
-       /**
-        * Parse skinvar category
-        */
-       function parse_category($type = 'name') {
-               global $catid, $blog;
-               if (!$blog->isValidCategory($catid))
-                       return;
-
-               switch($type) {
-                       case 'name':
-                               echo $blog->getCategoryName($catid);
-                               break;
-                       case 'desc':
-                               echo $blog->getCategoryDesc($catid);
-                               break;
-                       case 'id':
-                               echo $catid;
-                               break;
-               }
-       }
-       
-       /**
-        * Parse categorylist
-        */
-       function parse_categorylist($template, $blogname = '') {
-               global $blog, $manager;
-
-               if ($blogname == '') {
-                       $this->_preBlogContent('categorylist',$blog);
-                       $blog->showCategoryList($template);
-                       $this->_postBlogContent('categorylist',$blog);
-               } else {
-                       $b =& $manager->getBlog(getBlogIDFromName($blogname));
-                       $this->_preBlogContent('categorylist',$b);
-                       $b->showCategoryList($template);
-                       $this->_postBlogContent('categorylist',$b);
-               }
-       }
-       
-       /**
-        * Parse skinvar charset
-        */
-       function parse_charset() {
-               echo _CHARSET;
-       }
-       
-       /**
-        * Parse skinvar commentform
-        */
-       function parse_commentform($destinationurl = '') {
-               global $blog, $itemid, $member, $CONF, $manager, $DIR_LIBS, $errormessage;
-
-               // warn when trying to provide a actionurl (used to be a parameter in Nucleus <2.0)
-               if (stristr($destinationurl, 'action.php')) {
-                       $args = func_get_args();
-                       $destinationurl = $args[1];
-                       ACTIONLOG::add(WARNING,'actionurl is not longer a parameter on commentform skinvars. Moved to be a global setting instead.');
-               }
-
-               $actionurl = $CONF['ActionURL'];
-
-               // if item is closed, show message and do nothing
-               $item =& $manager->getItem($itemid,0,0);
-               if ($item['closed'] || !$blog->commentsEnabled()) {
-                       $this->doForm('commentform-closed');
-                       return;
-               }
-
-               if (!$destinationurl)
-               {
-                       $destinationurl = createLink(
-                               'item',
-                               array(
-                                       'itemid' => $itemid,
-                                       'title' => $item['title'],
-                                       'timestamp' => $item['timestamp'],
-                                       'extra' => $this->linkparams
-                               )
-                       );
-
-                       // note: createLink returns an HTML encoded URL
-               } else {
-                       // HTML encode URL
-                       $destinationurl = htmlspecialchars($destinationurl,ENT_QUOTES);
-               }
-
-               // values to prefill
-               $user = cookieVar($CONF['CookiePrefix'] .'comment_user');
-               if (!$user) $user = postVar('user');
-               $userid = cookieVar($CONF['CookiePrefix'] .'comment_userid');
-               if (!$userid) $userid = postVar('userid');
-               $email = cookieVar($CONF['CookiePrefix'] .'comment_email');
-               if (!$email) {
-                       $email = postVar('email');
-               }
-               $body = postVar('body');
-
-               $this->formdata = array(
-                       'destinationurl' => $destinationurl,    // url is already HTML encoded
-                       'actionurl' => htmlspecialchars($actionurl,ENT_QUOTES),
-                       'itemid' => $itemid,
-                       'user' => htmlspecialchars($user,ENT_QUOTES),
-                       'userid' => htmlspecialchars($userid,ENT_QUOTES),
-                       'email' => htmlspecialchars($email,ENT_QUOTES),
-                       'body' => htmlspecialchars($body,ENT_QUOTES),
-                       'membername' => $member->getDisplayName(),
-                       'rememberchecked' => cookieVar($CONF['CookiePrefix'] .'comment_user')?'checked="checked"':''
-               );
-
-               if (!$member->isLoggedIn()) {
-                       $this->doForm('commentform-notloggedin');
-               } else {
-                       $this->doForm('commentform-loggedin');
-               }
-       }
-       
-       /**
-        * Parse skinvar comments
-        * include comments for one item         
-        */
-       function parse_comments($template) {
-               global $itemid, $manager, $blog, $highlight;
-               $template =& $manager->getTemplate($template);
-
-               // create parser object & action handler
-               $actions =& new ITEMACTIONS($blog);
-               $parser =& new PARSER($actions->getDefinedActions(),$actions);
-               $actions->setTemplate($template);
-               $actions->setParser($parser);
-               $item = ITEM::getitem($itemid, 0, 0);
-               $actions->setCurrentItem($item);
-
-               $comments =& new COMMENTS($itemid);
-               $comments->setItemActions($actions);
-               $comments->showComments($template, -1, 1, $highlight);  // shows ALL comments
-       }
-
-       /**
-        * Parse errordiv
-        */
-       function parse_errordiv() {
-               global $errormessage;
-               if ($errormessage)
-                       echo '<div class="error">', htmlspecialchars($errormessage),'</div>';
-       }
-       
-       /**
-        * Parse skinvar errormessage
-        */
-       function parse_errormessage() {
-               global $errormessage;
-               echo $errormessage;
-       }
-       
-       /**
-        * Parse formdata
-        */
-       function parse_formdata($what) {
-               echo $this->formdata[$what];
-       }
-       
-       /**
-        * Parse ifcat
-        */
-       function parse_ifcat($text = '') {
-               if ($text == '') {
-                       // new behaviour
-                       $this->parse_if('category');
-               } else {
-                       // old behaviour
-                       global $catid, $blog;
-                       if ($blog->isValidCategory($catid))
-                               echo $text;
-               }
-       }
-
-       /**
-        * Parse skinvar image
-        */
-       function parse_image($what = 'imgtag') {
-               global $CONF;
-
-               $imagetext      = htmlspecialchars(requestVar('imagetext'));
-               $imagepopup = requestVar('imagepopup');
-               $width          = intRequestVar('width');
-               $height         = intRequestVar('height');
-               $fullurl        = htmlspecialchars($CONF['MediaURL'] . $imagepopup);
-
-               switch($what)
-               {
-                       case 'url':
-                               echo $fullurl;
-                               break;
-                       case 'width':
-                               echo $width;
-                               break;
-                       case 'height':
-                               echo $height;
-                               break;
-                       case 'caption':
-                       case 'text':
-                               echo $imagetext;
-                               break;
-                       case 'imgtag':
-                       default:
-                               echo "<img src=\"$fullurl\" width=\"$width\" height=\"$height\" alt=\"$imagetext\" title=\"$imagetext\" />";
-                               break;
-               }
-       }
-       
-       /**
-        * Parse skinvar imagetext
-        */
-       function parse_imagetext() {
-               echo htmlspecialchars(requestVar('imagetext'),ENT_QUOTES);
-       }
-
-       /**
-        * Parse skinvar item
-        * include one item (no comments)        
-        */
-       function parse_item($template) {
-               global $blog, $itemid, $highlight;
-               $this->_setBlogCategory($blog, '');     // need this to select default category
-               $this->_preBlogContent('item',$blog);
-               $r = $blog->showOneitem($itemid, $template, $highlight);
-               if ($r == 0)
-                       echo _ERROR_NOSUCHITEM;
-               $this->_postBlogContent('item',$blog);
-       }
-
-       /**
-        * Parse skinvar itemid
-        */
-       function parse_itemid() {
-               global $itemid;
-               echo $itemid;
-       }
-       
-       /**
-        * Parse skinvar itemlink
-        */
-       function parse_itemlink($linktext = '') {
-               global $itemid;
-               $this->_itemlink($itemid, $linktext);
-       }
-
-       /**
-        * Parse itemtitle
-        */
-       function parse_itemtitle($format = '') {
-               global $manager, $itemid;
-               $item =& $manager->getItem($itemid,0,0);
-
-               switch ($format) {
-                       case 'xml':
-                               echo stringToXML ($item['title']);
-                               break;
-                       case 'attribute':
-                               echo stringToAttribute ($item['title']);
-                               break;
-                       case 'raw':
-                               echo $item['title'];
-                               break;
-                       default:
-                               echo htmlspecialchars(strip_tags($item['title']),ENT_QUOTES);
-                               break;
-               }
-       }
-
-       /**
-        * Parse skinvar loginform
-        */
-       function parse_loginform() {
-               global $member, $CONF;
-               if (!$member->isLoggedIn()) {
-                       $filename = 'loginform-notloggedin';
-                       $this->formdata = array();
-               } else {
-                       $filename = 'loginform-loggedin';
-                       $this->formdata = array(
-                               'membername' => $member->getDisplayName(),
-                       );
-               }
-               $this->doForm($filename);
-       }
-
-       /**
-        * Parse skinvar member
-        * (includes a member info thingie)      
-        */
-       function parse_member($what) {
-               global $memberinfo, $member;
-
-               // 1. only allow the member-details-page specific variables on member pages
-               if ($this->skintype == 'member') {
-
-                       switch($what) {
-                               case 'name':
-                                       echo htmlspecialchars($memberinfo->getDisplayName(),ENT_QUOTES);
-                                       break;
-                               case 'realname':
-                                       echo htmlspecialchars($memberinfo->getRealName(),ENT_QUOTES);
-                                       break;
-                               case 'notes':
-                                       echo htmlspecialchars($memberinfo->getNotes(),ENT_QUOTES);
-                                       break;
-                               case 'url':
-                                       echo htmlspecialchars($memberinfo->getURL(),ENT_QUOTES);
-                                       break;
-                               case 'email':
-                                       echo htmlspecialchars($memberinfo->getEmail(),ENT_QUOTES);
-                                       break;
-                               case 'id':
-                                       echo htmlspecialchars($memberinfo->getID(),ENT_QUOTES);
-                                       break;
-                       }
-               }
-
-               // 2. the next bunch of options is available everywhere, as long as the user is logged in
-               if ($member->isLoggedIn())
-               {
-                       switch($what) {
-                               case 'yourname':
-                                       echo $member->getDisplayName();
-                                       break;
-                               case 'yourrealname':
-                                       echo $member->getRealName();
-                                       break;
-                               case 'yournotes':
-                                       echo $member->getNotes();
-                                       break;
-                               case 'yoururl':
-                                       echo $member->getURL();
-                                       break;
-                               case 'youremail':
-                                       echo $member->getEmail();
-                                       break;
-                               case 'yourid':
-                                       echo $member->getID();
-                                       break;
-                       }
-               }
-
-       }
-
-       /**
-        * Parse skinvar membermailform
-        */
-       function parse_membermailform($rows = 10, $cols = 40, $desturl = '') {
-               global $member, $CONF, $memberid;
-
-               if ($desturl == '') {
-                       if ($CONF['URLMode'] == 'pathinfo')
-                               $desturl = createMemberLink($memberid);
-                       else
-                               $desturl = $CONF['IndexURL'] . createMemberLink($memberid);
-               }
-
-               $message = postVar('message');
-               $frommail = postVar('frommail');
-
-               $this->formdata = array(
-                       'url' => htmlspecialchars($desturl),
-                       'actionurl' => htmlspecialchars($CONF['ActionURL'],ENT_QUOTES),
-                       'memberid' => $memberid,
-                       'rows' => $rows,
-                       'cols' => $cols,
-                       'message' => htmlspecialchars($message,ENT_QUOTES),
-                       'frommail' => htmlspecialchars($frommail,ENT_QUOTES)
-               );
-               if ($member->isLoggedIn()) {
-                       $this->doForm('membermailform-loggedin');
-               } else if ($CONF['NonmemberMail']) {
-                       $this->doForm('membermailform-notloggedin');
-               } else {
-                       $this->doForm('membermailform-disallowed');
-               }
-
-       }
-       
-       /**
-        * Parse skinvar nextarchive
-        */
-       function parse_nextarchive() {
-               global $archivenext;
-               echo $archivenext;
-       }
-
-       /**
-        * Parse skinvar nextitem
-        * (include itemid of next item)
-        */
-       function parse_nextitem() {
-               global $itemidnext;
-               if (isset($itemidnext)) echo (int)$itemidnext;
-       }
-
-       /**
-        * Parse skinvar nextitemtitle
-        * (include itemtitle of next item)
-        */
-       function parse_nextitemtitle($format = '') {
-               global $itemtitlenext;
-
-               switch ($format) {
-                       case 'xml':
-                               echo stringToXML ($itemtitlenext);
-                               break;
-                       case 'attribute':
-                               echo stringToAttribute ($itemtitlenext);
-                               break;
-                       case 'raw':
-                               echo $itemtitlenext;
-                               break;
-                       default:
-                               echo htmlspecialchars($itemtitlenext,ENT_QUOTES);
-                               break;
-               }
-       }
-
-       /**
-        * Parse skinvar nextlink
-        */
-       function parse_nextlink($linktext = '', $amount = 10) {
-               global $itemidnext, $archivenext, $startpos;
-               if ($this->skintype == 'item')
-                       $this->_itemlink($itemidnext, $linktext);
-               else if ($this->skintype == 'search' || $this->skintype == 'index')
-                       $this->_searchlink($amount, $startpos, 'next', $linktext);
-               else
-                       $this->_archivelink($archivenext, $linktext);
-       }
-
-       /**
-        * Parse skinvar nucleusbutton
-        */
-       function parse_nucleusbutton($imgurl = '',
-                                                                $imgwidth = '85',
-                                                                $imgheight = '31') {
-               global $CONF;
-               if ($imgurl == '') {
-                       $imgurl = $CONF['AdminURL'] . 'nucleus.gif';
-               } else if (PARSER::getProperty('IncludeMode') == 'skindir'){
-                       // when skindit IncludeMode is used: start from skindir
-                       $imgurl = $CONF['SkinsURL'] . PARSER::getProperty('IncludePrefix') . $imgurl;
-               }
-
-               $this->formdata = array(
-                       'imgurl' => $imgurl,
-                       'imgwidth' => $imgwidth,
-                       'imgheight' => $imgheight,
-               );
-               $this->doForm('nucleusbutton');
-       }
-       
-       /**
-        * Parse skinvar otherarchive
-        */     
-       function parse_otherarchive($blogname, $template, $category = '') {
-               global $archive, $manager;
-               sscanf($archive,'%d-%d-%d',$y,$m,$d);
-               $b =& $manager->getBlog(getBlogIDFromName($blogname));
-               $this->_setBlogCategory($b, $category);
-               $this->_preBlogContent('otherachive',$b);
-               $b->showArchive($template, $y, $m, $d);
-               $this->_postBlogContent('otherachive',$b);
-       }
-       
-       /**
-        * Parse skinvar otherarchivedaylist
-        */
-       function parse_otherarchivedaylist($blogname, $template, $category = 'all', $limit = 0) {
-               global $manager;
-               if ($category == 'all') $category = '';
-               $b =& $manager->getBlog(getBlogIDFromName($blogname));
-               $this->_setBlogCategory($b, $category);
-               $this->_preBlogContent('otherarchivelist',$b);
-               $b->showArchiveList($template, 'day', $limit);
-               $this->_postBlogContent('otherarchivelist',$b);
-       }
-       
-       /**
-        * Parse skinvar otherarchivelist
-        */
-       function parse_otherarchivelist($blogname, $template, $category = 'all', $limit = 0) {
-               global $manager;
-               if ($category == 'all') $category = '';
-               $b =& $manager->getBlog(getBlogIDFromName($blogname));
-               $this->_setBlogCategory($b, $category);
-               $this->_preBlogContent('otherarchivelist',$b);
-               $b->showArchiveList($template, 'month', $limit);
-               $this->_postBlogContent('otherarchivelist',$b);
-       }
-       
-       /**
-        * Parse skinvar otherblog
-        */
-       function parse_otherblog($blogname, $template, $amount = 10, $category = '') {
-               global $manager;
-
-               list($limit, $offset) = sscanf($amount, '%d(%d)');
-
-               $b =& $manager->getBlog(getBlogIDFromName($blogname));
-               $this->_setBlogCategory($b, $category);
-               $this->_preBlogContent('otherblog',$b);
-               $this->amountfound = $b->readLog($template, $limit, $offset);
-               $this->_postBlogContent('otherblog',$b);
-       }
-
-       /**
-        * Parse skinvar othersearchresults
-        */
-       function parse_othersearchresults($blogname, $template, $maxresults = 50) {
-               global $query, $amount, $manager, $startpos;
-               $b =& $manager->getBlog(getBlogIDFromName($blogname));
-               $this->_setBlogCategory($b, '');        // need this to select default category
-               $this->_preBlogContent('othersearchresults',$b);
-               $b->search($query, $template, $amount, $maxresults, $startpos);
-               $this->_postBlogContent('othersearchresults',$b);
-       }
-
-       /**
-         * Executes a plugin skinvar
-         *
-         * @param pluginName name of plugin (without the NP_)
-         *
-         * extra parameters can be added
-         */
-       function parse_plugin($pluginName) {
-               global $manager;
-
-               // only continue when the plugin is really installed
-               if (!$manager->pluginInstalled('NP_' . $pluginName))
-                       return;
-
-               $plugin =& $manager->getPlugin('NP_' . $pluginName);
-               if (!$plugin) return;
-
-               // get arguments
-               $params = func_get_args();
-
-               // remove plugin name
-               array_shift($params);
-
-               // add skin type on front
-               array_unshift($params, $this->skintype);
-
-               call_user_func_array(array(&$plugin,'doSkinVar'), $params);
-       }
-       
-       /**
-        * Parse skinvar prevarchive
-        */
-       function parse_prevarchive() {
-               global $archiveprev;
-               echo $archiveprev;
-       }
-
-       /**
-        * Parse skinvar preview
-        */
-       function parse_preview($template) {
-               global $blog, $CONF, $manager;
-
-               $template =& $manager->getTemplate($template);
-               $row['body'] = '<span id="prevbody"></span>';
-               $row['title'] = '<span id="prevtitle"></span>';
-               $row['more'] = '<span id="prevmore"></span>';
-               $row['itemlink'] = '';
-               $row['itemid'] = 0; $row['blogid'] = $blog->getID();
-               echo TEMPLATE::fill($template['ITEM_HEADER'],$row);
-               echo TEMPLATE::fill($template['ITEM'],$row);
-               echo TEMPLATE::fill($template['ITEM_FOOTER'],$row);
-       }
-
-       /*
-        * Parse skinvar previtem
-        * (include itemid of prev item)                 
-        */
-       function parse_previtem() {
-               global $itemidprev;
-               if (isset($itemidprev)) echo (int)$itemidprev;
-       }
-
-       /**
-        * Parse skinvar previtemtitle
-        * (include itemtitle of prev item)
-        */
-       function parse_previtemtitle($format = '') {
-               global $itemtitleprev;
-
-               switch ($format) {
-                       case 'xml':
-                               echo stringToXML ($itemtitleprev);
-                               break;
-                       case 'attribute':
-                               echo stringToAttribute ($itemtitleprev);
-                               break;
-                       case 'raw':
-                               echo $itemtitleprev;
-                               break;
-                       default:
-                               echo htmlspecialchars($itemtitleprev,ENT_QUOTES);
-                               break;
-               }
-       }
-
-       /**
-        * Parse skinvar prevlink
-        */
-       function parse_prevlink($linktext = '', $amount = 10) {
-               global $itemidprev, $archiveprev, $startpos;
-
-               if ($this->skintype == 'item')
-                       $this->_itemlink($itemidprev, $linktext);
-               else if ($this->skintype == 'search' || $this->skintype == 'index')
-                       $this->_searchlink($amount, $startpos, 'prev', $linktext);
-               else
-                       $this->_archivelink($archiveprev, $linktext);
-       }
-
-       /**
-        * Parse skinvar query
-        * (includes the search query)   
-        */
-       function parse_query() {
-               global $query;
-               echo htmlspecialchars($query,ENT_QUOTES);
-       }
-       
-       /**
-        * Parse skinvar referer
-        */
-       function parse_referer() {
-               echo htmlspecialchars(serverVar('HTTP_REFERER'),ENT_QUOTES);
-       }
-
-       /**
-        * Parse skinvar searchform
-        */
-       function parse_searchform($blogname = '') {
-               global $CONF, $manager, $maxresults;
-               if ($blogname) {
-                       $blog =& $manager->getBlog(getBlogIDFromName($blogname));
-               } else {
-                       global $blog;
-               }
-               // use default blog when no blog is selected
-               $this->formdata = array(
-                       'id' => $blog?$blog->getID():$CONF['DefaultBlog'],
-                       'query' => htmlspecialchars(getVar('query'),ENT_QUOTES),
-               );
-               $this->doForm('searchform');
-       }
-
-       /**
-        * Parse skinvar searchresults
-        */
-       function parse_searchresults($template, $maxresults = 50 ) {
-               global $blog, $query, $amount, $startpos;
-
-               $this->_setBlogCategory($blog, '');     // need this to select default category
-               $this->_preBlogContent('searchresults',$blog);
-               $this->amountfound = $blog->search($query, $template, $amount, $maxresults, $startpos);
-               $this->_postBlogContent('searchresults',$blog);
-       }
-
-       /**
-        * Parse skinvar self
-        */
-       function parse_self() {
-               global $CONF;
-               echo $CONF['Self'];
-       }
-
-       /**
-        * Parse skinvar sitevar
-        * (include a sitevar)   
-        */
-       function parse_sitevar($which) {
-               global $CONF;
-               switch($which) {
-                       case 'url':
-                               echo $CONF['IndexURL'];
-                               break;
-                       case 'name':
-                               echo $CONF['SiteName'];
-                               break;
-                       case 'admin':
-                               echo $CONF['AdminEmail'];
-                               break;
-                       case 'adminurl':
-                               echo $CONF['AdminURL'];
-               }
-       }
-
-       /**
-        * Parse skinname
-        */
-       function parse_skinname() {
-               echo $this->skin->getName();
-       }
-       
-       /**
-        * Parse skintype (experimental)
-        */
-       function parse_skintype() {
-               echo $this->skintype;
-       }
-
-       /**
-        * Parse text
-        */
-       function parse_text($which) {
-               // constant($which) only available from 4.0.4 :(
-               if (defined($which)) {
-                       eval("echo $which;");
-               }
-       }
-       
-       /**
-        * Parse ticket
-        */
-       function parse_ticket() {
-               global $manager;
-               $manager->addTicketHidden();
-       }
-
-       /**
-        *      Parse skinvar todaylink
-        *      A link to the today page (depending on selected blog, etc...)
-        */
-       function parse_todaylink($linktext = '') {
-               global $blog, $CONF;
-               if ($blog)
-                       echo $this->_link(createBlogidLink($blog->getID(),$this->linkparams), $linktext);
-               else
-                       echo $this->_link($CONF['SiteUrl'], $linktext);
-       }
-
-       /**
-        * Parse vars
-        * When commentform is not used, to include a hidden field with itemid   
-        */
-       function parse_vars() {
-               global $itemid;
-               echo '<input type="hidden" name="itemid" value="'.$itemid.'" />';
-       }
-
-       /**
-        * Parse skinvar version
-        * (include nucleus versionnumber)       
-        */
-       function parse_version() {
-               global $nucleus;
-               echo 'Nucleus CMS ' . $nucleus['version'];
-       }
-
-}
-?>
diff --git a/euc/nucleus/libs/ADMIN.php b/euc/nucleus/libs/ADMIN.php
deleted file mode 100755 (executable)
index 89b3c7c..0000000
+++ /dev/null
@@ -1,6225 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * The code for the Nucleus admin area
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ADMIN.php,v 1.11 2007-04-27 19:07:04 kimitake Exp $
- * @version $NucleusJP: ADMIN.php,v 1.10 2007/04/04 07:52:08 kimitake Exp $
- */
-
-if ( !function_exists('requestVar') ) exit;
-require_once dirname(__FILE__) . '/showlist.php';
-
-/**
- * Builds the admin area and executes admin actions
- */
-class ADMIN {
-
-       /**
-        * @var string $action action currently being executed ($action=xxxx -> action_xxxx method)
-        */
-       var $action;
-
-       /**
-        * Class constructor
-        */
-       function ADMIN() {
-
-       }
-
-       /**
-        * Executes an action
-        *
-        * @param string $action action to be performed
-        */
-       function action($action) {
-               global $CONF, $manager;
-
-               // list of action aliases
-               $alias = array(
-                       'login' => 'overview',
-                       '' => 'overview'
-               );
-
-               if (isset($alias[$action]))
-                       $action = $alias[$action];
-
-               $methodName = 'action_' . $action;
-
-               $this->action = strtolower($action);
-
-               // check ticket. All actions need a ticket, unless they are considered to be safe (a safe action
-               // is an action that requires user interaction before something is actually done)
-               // all safe actions are in this array:
-               $aActionsNotToCheck = array('showlogin', 'login', 'overview', 'itemlist', 'blogcommentlist', 'bookmarklet', 'blogsettings', 'banlist', 'deleteblog', 'editmembersettings', 'browseownitems', 'browseowncomments', 'createitem', 'itemedit', 'itemmove', 'categoryedit', 'categorydelete', 'manage', 'actionlog', 'settingsedit', 'backupoverview', 'pluginlist', 'createnewlog', 'usermanagement', 'skinoverview', 'templateoverview', 'skinieoverview', 'itemcommentlist', 'commentedit', 'commentdelete', 'banlistnewfromitem', 'banlistdelete', 'itemdelete', 'manageteam', 'teamdelete', 'banlistnew', 'memberedit', 'memberdelete', 'pluginhelp', 'pluginoptions', 'plugindelete', 'skinedittype', 'skinremovetype', 'skindelete', 'skinedit', 'templateedit', 'templatedelete', 'activate');
-/*
-               // the rest of the actions needs to be checked
-               $aActionsToCheck = array('additem', 'itemupdate', 'itemmoveto', 'categoryupdate', 'categorydeleteconfirm', 'itemdeleteconfirm', 'commentdeleteconfirm', 'teamdeleteconfirm', 'memberdeleteconfirm', 'templatedeleteconfirm', 'skindeleteconfirm', 'banlistdeleteconfirm', 'plugindeleteconfirm', 'batchitem', 'batchcomment', 'batchmember', 'batchcategory', 'batchteam', 'regfile', 'commentupdate', 'banlistadd', 'changemembersettings', 'clearactionlog', 'settingsupdate', 'blogsettingsupdate', 'categorynew', 'teamchangeadmin', 'teamaddmember', 'memberadd', 'addnewlog', 'addnewlog2', 'backupcreate', 'backuprestore', 'pluginup', 'plugindown', 'pluginupdate', 'pluginadd', 'pluginoptionsupdate', 'skinupdate', 'skinclone', 'skineditgeneral', 'templateclone', 'templatenew', 'templateupdate', 'skinieimport', 'skinieexport', 'skiniedoimport', 'skinnew', 'deleteblogconfirm', 'sendping', 'rawping', 'activatesetpwd');
-*/
-               if (!in_array($this->action, $aActionsNotToCheck))
-               {
-                       if (!$manager->checkTicket())
-                               $this->error(_ERROR_BADTICKET);
-               }
-
-               if (method_exists($this, $methodName))
-                       call_user_func(array(&$this, $methodName));
-               else
-                       $this->error(_BADACTION . htmlspecialchars(" ($action)"));
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_showlogin() {
-               global $error;
-               $this->action_login($error);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_login($msg = '', $passvars = 1) {
-               global $member;
-
-               // skip to overview when allowed
-               if ($member->isLoggedIn() && $member->canLogin()) {
-                       $this->action_overview();
-                       exit;
-               }
-
-               $this->pagehead();
-
-               echo '<h2>', _LOGIN ,'</h2>';
-               if ($msg) echo _MESSAGE , ': ', htmlspecialchars($msg);
-               ?>
-
-               <form action="index.php" method="post"><p>
-               <?php echo _LOGIN_NAME?>: <br /><input name="login"  tabindex="10" />
-               <br />
-               <?php echo _LOGIN_PASSWORD?>: <br /><input name="password"  tabindex="20" type="password" />
-               <br />
-               <input name="action" value="login" type="hidden" />
-               <br />
-               <input type="submit" value="<?php echo _LOGIN?>" tabindex="30" />
-               <br />
-               <small>
-                       <input type="checkbox" value="1" name="shared" tabindex="40" id="shared" /><label for="shared"><?php echo _LOGIN_SHARED?></label>
-                       <br /><a href="forgotpassword.html"><?php echo _LOGIN_FORGOT?></a>
-               </small>
-               <?php                   // pass through vars
-
-                       $oldaction = postVar('oldaction');
-                       if (  ($oldaction != 'logout')  && ($oldaction != 'login')  && $passvars ) {
-                               passRequestVars();
-                       }
-
-
-               ?>
-               </p></form>
-               <?php           $this->pagefoot();
-       }
-
-
-       /**
-        * provides a screen with the overview of the actions available
-        * @todo document parameter
-        */
-       function action_overview($msg = '') {
-               global $member;
-
-               $this->pagehead();
-
-               if ($msg)
-                       echo _MESSAGE , ': ', $msg;
-
-               /* ---- add items ---- */
-               echo '<h2>' . _OVERVIEW_YRBLOGS . '</h2>';
-
-               $showAll = requestVar('showall');
-
-               if (($member->isAdmin()) && ($showAll == 'yes')) {
-                       // Super-Admins have access to all blogs! (no add item support though)
-                       $query =  'SELECT bnumber, bname, 1 as tadmin, burl, bshortname'
-                                  . ' FROM ' . sql_table('blog')
-                                  . ' ORDER BY bname';
-               } else {
-                       $query =  'SELECT bnumber, bname, tadmin, burl, bshortname'
-                                  . ' FROM ' . sql_table('blog') . ', ' . sql_table('team')
-                                  . ' WHERE tblog=bnumber and tmember=' . $member->getID()
-                                  . ' ORDER BY bname';
-               }
-               $template['content'] = 'bloglist';
-               $template['superadmin'] = $member->isAdmin();
-               $amount = showlist($query,'table',$template);
-
-               if (($showAll != 'yes') && ($member->isAdmin())) {
-                       $total = quickQuery('SELECT COUNT(*) as result FROM ' . sql_table('blog'));
-                       if ($total > $amount)
-                               echo '<p><a href="index.php?action=overview&amp;showall=yes">Show all blogs</a></p>';
-               }
-
-               if ($amount == 0)
-                       echo _OVERVIEW_NOBLOGS;
-
-               if ($amount != 0) {
-                       echo '<h2>' . _OVERVIEW_YRDRAFTS . '</h2>';
-                       $query =  'SELECT ititle, inumber, bshortname'
-                                  . ' FROM ' . sql_table('item'). ', ' . sql_table('blog')
-                                  . ' WHERE iauthor='.$member->getID().' and iblog=bnumber and idraft=1';
-                       $template['content'] = 'draftlist';
-                       $amountdrafts = showlist($query, 'table', $template);
-                       if ($amountdrafts == 0)
-                               echo _OVERVIEW_NODRAFTS;
-               }
-
-               /* ---- user settings ---- */
-               echo '<h2>' . _OVERVIEW_YRSETTINGS . '</h2>';
-               echo '<ul>';
-               echo '<li><a href="index.php?action=editmembersettings">' . _OVERVIEW_EDITSETTINGS. '</a></li>';
-               echo '<li><a href="index.php?action=browseownitems">' . _OVERVIEW_BROWSEITEMS.'</a></li>';
-               echo '<li><a href="index.php?action=browseowncomments">'._OVERVIEW_BROWSECOMM.'</a></li>';
-               echo '</ul>';
-
-               /* ---- general settings ---- */
-               if ($member->isAdmin()) {
-                       echo '<h2>' . _OVERVIEW_MANAGEMENT. '</h2>';
-                       echo '<ul>';
-                       echo '<li><a href="index.php?action=manage">',_OVERVIEW_MANAGE,'</a></li>';
-                       echo '</ul>';
-               }
-
-
-               $this->pagefoot();
-       }
-
-       /**
-        * Returns a link to a weblog
-        * @param object BLOG
-        */
-       function bloglink(&$blog) {
-               return '<a href="'.htmlspecialchars($blog->getURL()).'" title="'._BLOGLIST_TT_VISIT.'">'. htmlspecialchars( $blog->getName() ) .'</a>';
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_manage($msg = '') {
-               global $member;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-
-               if ($msg)
-                       echo '<p>' , _MESSAGE , ': ', $msg , '</p>';
-
-
-               echo '<h2>' . _MANAGE_GENERAL. '</h2>';
-
-               echo '<ul>';
-               echo '<li><a href="index.php?action=createnewlog">'._OVERVIEW_NEWLOG.'</a></li>';
-               echo '<li><a href="index.php?action=settingsedit">'._OVERVIEW_SETTINGS.'</a></li>';
-               echo '<li><a href="index.php?action=usermanagement">'._OVERVIEW_MEMBERS.'</a></li>';
-               echo '<li><a href="index.php?action=actionlog">'._OVERVIEW_VIEWLOG.'</a></li>';
-               echo '</ul>';
-
-               echo '<h2>' . _MANAGE_SKINS . '</h2>';
-               echo '<ul>';
-               echo '<li><a href="index.php?action=skinoverview">'._OVERVIEW_SKINS.'</a></li>';
-               echo '<li><a href="index.php?action=templateoverview">'._OVERVIEW_TEMPLATES.'</a></li>';
-               echo '<li><a href="index.php?action=skinieoverview">'._OVERVIEW_SKINIMPORT.'</a></li>';
-               echo '</ul>';
-
-               echo '<h2>' . _MANAGE_EXTRA . '</h2>';
-               echo '<ul>';
-               echo '<li><a href="index.php?action=backupoverview">'._OVERVIEW_BACKUP.'</a></li>';
-               echo '<li><a href="index.php?action=pluginlist">'._OVERVIEW_PLUGINS.'</a></li>';
-               echo '</ul>';
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemlist($blogid = '') {
-               global $member, $manager;
-
-               if ($blogid == '')
-                       $blogid = intRequestVar('blogid');
-
-               $member->teamRights($blogid) or $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-               $blog =& $manager->getBlog($blogid);
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-               echo '<h2>' . _ITEMLIST_BLOG . ' ' . $this->bloglink($blog) . '</h2>';
-
-               // start index
-               if (postVar('start'))
-                       $start = intPostVar('start');
-               else
-                       $start = 0;
-
-               if ($start == 0)
-                       echo '<p><a href="index.php?action=createitem&amp;blogid='.$blogid.'">',_ITEMLIST_ADDNEW,'</a></p>';
-
-               // amount of items to show
-               if (postVar('amount'))
-                       $amount = intPostVar('amount');
-               else
-                       $amount = 10;
-
-               $search = postVar('search');    // search through items
-
-               $query =  'SELECT bshortname, cname, mname, ititle, ibody, inumber, idraft, itime'
-                          . ' FROM ' . sql_table('item') . ', ' . sql_table('blog') . ', ' . sql_table('member') . ', ' . sql_table('category')
-                          . ' WHERE iblog=bnumber and iauthor=mnumber and icat=catid and iblog=' . $blogid;
-
-               if ($search)
-                       $query .= ' and ((ititle LIKE "%' . addslashes($search) . '%") or (ibody LIKE "%' . addslashes($search) . '%") or (imore LIKE "%' . addslashes($search) . '%"))';
-
-               // non-blog-admins can only edit/delete their own items
-               if (!$member->blogAdminRights($blogid))
-                       $query .= ' and iauthor=' . $member->getID();
-
-
-               $query .= ' ORDER BY itime DESC'
-                               . " LIMIT $start,$amount";
-
-               $template['content'] = 'itemlist';
-               $template['now'] = $blog->getCorrectTime(time());
-
-               $manager->loadClass("ENCAPSULATE");
-               $navList =& new NAVLIST('itemlist', $start, $amount, 0, 1000, $blogid, $search, 0);
-               $navList->showBatchList('item',$query,'table',$template);
-
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_batchitem() {
-               global $member, $manager;
-
-               // check if logged in
-               $member->isLoggedIn() or $this->disallow();
-
-               // more precise check will be done for each performed operation
-
-               // get array of itemids from request
-               $selected = requestIntArray('batch');
-               $action = requestVar('batchaction');
-
-               // Show error when no items were selected
-               if (!is_array($selected) || sizeof($selected) == 0)
-                       $this->error(_BATCH_NOSELECTION);
-
-               // On move: when no destination blog/category chosen, show choice now
-               $destCatid = intRequestVar('destcatid');
-               if (($action == 'move') && (!$manager->existsCategory($destCatid)))
-                       $this->batchMoveSelectDestination('item',$selected);
-
-               // On delete: check if confirmation has been given
-               if (($action == 'delete') && (requestVar('confirmation') != 'yes'))
-                       $this->batchAskDeleteConfirmation('item',$selected);
-
-               $this->pagehead();
-
-               echo '<a href="index.php?action=overview">(',_BACKHOME,')</a>';
-               echo '<h2>',_BATCH_ITEMS,'</h2>';
-               echo '<p>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b></p>';
-               echo '<ul>';
-
-
-               // walk over all itemids and perform action
-               foreach ($selected as $itemid) {
-                       $itemid = intval($itemid);
-                       echo '<li>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b> ',_BATCH_ONITEM,' <b>', $itemid, '</b>...';
-
-                       // perform action, display errors if needed
-                       switch($action) {
-                               case 'delete':
-                                       $error = $this->deleteOneItem($itemid);
-                                       break;
-                               case 'move':
-                                       $error = $this->moveOneItem($itemid, $destCatid);
-                                       break;
-                               default:
-                                       $error = _BATCH_UNKNOWN . htmlspecialchars($action);
-                       }
-
-                       echo '<b>',($error ? $error : _BATCH_SUCCESS),'</b>';
-                       echo '</li>';
-               }
-
-               echo '</ul>';
-               echo '<b>',_BATCH_DONE,'</b>';
-
-               $this->pagefoot();
-
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_batchcomment() {
-               global $member;
-
-               // check if logged in
-               $member->isLoggedIn() or $this->disallow();
-
-               // more precise check will be done for each performed operation
-
-               // get array of itemids from request
-               $selected = requestIntArray('batch');
-               $action = requestVar('batchaction');
-
-               // Show error when no items were selected
-               if (!is_array($selected) || sizeof($selected) == 0)
-                       $this->error(_BATCH_NOSELECTION);
-
-               // On delete: check if confirmation has been given
-               if (($action == 'delete') && (requestVar('confirmation') != 'yes'))
-                       $this->batchAskDeleteConfirmation('comment',$selected);
-
-               $this->pagehead();
-
-               echo '<a href="index.php?action=overview">(',_BACKHOME,')</a>';
-               echo '<h2>',_BATCH_COMMENTS,'</h2>';
-               echo '<p>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b></p>';
-               echo '<ul>';
-
-               // walk over all itemids and perform action
-               foreach ($selected as $commentid) {
-                       $commentid = intval($commentid);
-                       echo '<li>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b> ',_BATCH_ONCOMMENT,' <b>', $commentid, '</b>...';
-
-                       // perform action, display errors if needed
-                       switch($action) {
-                               case 'delete':
-                                       $error = $this->deleteOneComment($commentid);
-                                       break;
-                               default:
-                                       $error = _BATCH_UNKNOWN . htmlspecialchars($action);
-                       }
-
-                       echo '<b>',($error ? $error : _BATCH_SUCCESS),'</b>';
-                       echo '</li>';
-               }
-
-               echo '</ul>';
-               echo '<b>',_BATCH_DONE,'</b>';
-
-               $this->pagefoot();
-
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_batchmember() {
-               global $member;
-
-               // check if logged in and admin
-               ($member->isLoggedIn() && $member->isAdmin()) or $this->disallow();
-
-               // get array of itemids from request
-               $selected = requestIntArray('batch');
-               $action = requestVar('batchaction');
-
-               // Show error when no members selected
-               if (!is_array($selected) || sizeof($selected) == 0)
-                       $this->error(_BATCH_NOSELECTION);
-
-               // On delete: check if confirmation has been given
-               if (($action == 'delete') && (requestVar('confirmation') != 'yes'))
-                       $this->batchAskDeleteConfirmation('member',$selected);
-
-               $this->pagehead();
-
-               echo '<a href="index.php?action=usermanagement">(',_MEMBERS_BACKTOOVERVIEW,')</a>';
-               echo '<h2>',_BATCH_MEMBERS,'</h2>';
-               echo '<p>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b></p>';
-               echo '<ul>';
-
-               // walk over all itemids and perform action
-               foreach ($selected as $memberid) {
-                       $memberid = intval($memberid);
-                       echo '<li>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b> ',_BATCH_ONMEMBER,' <b>', $memberid, '</b>...';
-
-                       // perform action, display errors if needed
-                       switch($action) {
-                               case 'delete':
-                                       $error = $this->deleteOneMember($memberid);
-                                       break;
-                               case 'setadmin':
-                                       // always succeeds
-                                       sql_query('UPDATE ' . sql_table('member') . ' SET madmin=1 WHERE mnumber='.$memberid);
-                                       $error = '';
-                                       break;
-                               case 'unsetadmin':
-                                       // there should always remain at least one super-admin
-                                       $r = sql_query('SELECT * FROM '.sql_table('member'). ' WHERE madmin=1 and mcanlogin=1');
-                                       if (mysql_num_rows($r) < 2)
-                                               $error = _ERROR_ATLEASTONEADMIN;
-                                       else
-                                               sql_query('UPDATE ' . sql_table('member') .' SET madmin=0 WHERE mnumber='.$memberid);
-                                       break;
-                               default:
-                                       $error = _BATCH_UNKNOWN . htmlspecialchars($action);
-                       }
-
-                       echo '<b>',($error ? $error : _BATCH_SUCCESS),'</b>';
-                       echo '</li>';
-               }
-
-               echo '</ul>';
-               echo '<b>',_BATCH_DONE,'</b>';
-
-               $this->pagefoot();
-
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_batchteam() {
-               global $member;
-
-               $blogid = intRequestVar('blogid');
-
-               // check if logged in and admin
-               ($member->isLoggedIn() && $member->blogAdminRights($blogid)) or $this->disallow();
-
-               // get array of itemids from request
-               $selected = requestIntArray('batch');
-               $action = requestVar('batchaction');
-
-               // Show error when no members selected
-               if (!is_array($selected) || sizeof($selected) == 0)
-                       $this->error(_BATCH_NOSELECTION);
-
-               // On delete: check if confirmation has been given
-               if (($action == 'delete') && (requestVar('confirmation') != 'yes'))
-                       $this->batchAskDeleteConfirmation('team',$selected);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manageteam&amp;blogid=',$blogid,'">(',_BACK,')</a></p>';
-
-               echo '<h2>',_BATCH_TEAM,'</h2>';
-               echo '<p>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b></p>';
-               echo '<ul>';
-
-               // walk over all itemids and perform action
-               foreach ($selected as $memberid) {
-                       $memberid = intval($memberid);
-                       echo '<li>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b> ',_BATCH_ONTEAM,' <b>', $memberid, '</b>...';
-
-                       // perform action, display errors if needed
-                       switch($action) {
-                               case 'delete':
-                                       $error = $this->deleteOneTeamMember($blogid, $memberid);
-                                       break;
-                               case 'setadmin':
-                                       // always succeeds
-                                       sql_query('UPDATE '.sql_table('team').' SET tadmin=1 WHERE tblog='.$blogid.' and tmember='.$memberid);
-                                       $error = '';
-                                       break;
-                               case 'unsetadmin':
-                                       // there should always remain at least one admin
-                                       $r = sql_query('SELECT * FROM '.sql_table('team').' WHERE tadmin=1 and tblog='.$blogid);
-                                       if (mysql_num_rows($r) < 2)
-                                               $error = _ERROR_ATLEASTONEBLOGADMIN;
-                                       else
-                                               sql_query('UPDATE '.sql_table('team').' SET tadmin=0 WHERE tblog='.$blogid.' and tmember='.$memberid);
-                                       break;
-                               default:
-                                       $error = _BATCH_UNKNOWN . htmlspecialchars($action);
-                       }
-
-                       echo '<b>',($error ? $error : _BATCH_SUCCESS),'</b>';
-                       echo '</li>';
-               }
-
-               echo '</ul>';
-               echo '<b>',_BATCH_DONE,'</b>';
-
-               $this->pagefoot();
-
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_batchcategory() {
-               global $member, $manager;
-
-               // check if logged in
-               $member->isLoggedIn() or $this->disallow();
-
-               // more precise check will be done for each performed operation
-
-               // get array of itemids from request
-               $selected = requestIntArray('batch');
-               $action = requestVar('batchaction');
-
-               // Show error when no items were selected
-               if (!is_array($selected) || sizeof($selected) == 0)
-                       $this->error(_BATCH_NOSELECTION);
-
-               // On move: when no destination blog chosen, show choice now
-               $destBlogId = intRequestVar('destblogid');
-               if (($action == 'move') && (!$manager->existsBlogID($destBlogId)))
-                       $this->batchMoveCategorySelectDestination('category',$selected);
-
-               // On delete: check if confirmation has been given
-               if (($action == 'delete') && (requestVar('confirmation') != 'yes'))
-                       $this->batchAskDeleteConfirmation('category',$selected);
-
-               $this->pagehead();
-
-               echo '<a href="index.php?action=overview">(',_BACKHOME,')</a>';
-               echo '<h2>',BATCH_CATEGORIES,'</h2>';
-               echo '<p>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b></p>';
-               echo '<ul>';
-
-               // walk over all itemids and perform action
-               foreach ($selected as $catid) {
-                       $catid = intval($catid);
-                       echo '<li>',_BATCH_EXECUTING,' <b>',htmlspecialchars($action),'</b> ',_BATCH_ONCATEGORY,' <b>', $catid, '</b>...';
-
-                       // perform action, display errors if needed
-                       switch($action) {
-                               case 'delete':
-                                       $error = $this->deleteOneCategory($catid);
-                                       break;
-                               case 'move':
-                                       $error = $this->moveOneCategory($catid, $destBlogId);
-                                       break;
-                               default:
-                                       $error = _BATCH_UNKNOWN . htmlspecialchars($action);
-                       }
-
-                       echo '<b>',($error ? 'Error: '.$error : _BATCH_SUCCESS),'</b>';
-                       echo '</li>';
-               }
-
-               echo '</ul>';
-               echo '<b>',_BATCH_DONE,'</b>';
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function batchMoveSelectDestination($type, $ids) {
-               global $manager;
-               $this->pagehead();
-               ?>
-               <h2><?php echo _MOVE_TITLE?></h2>
-               <form method="post" action="index.php"><div>
-
-                       <input type="hidden" name="action" value="batch<?php echo $type?>" />
-                       <input type="hidden" name="batchaction" value="move" />
-                       <?php
-                               $manager->addTicketHidden();
-
-                               // insert selected item numbers
-                               $idx = 0;
-                               foreach ($ids as $id)
-                                       echo '<input type="hidden" name="batch[',($idx++),']" value="',intval($id),'" />';
-
-                               // show blog/category selection list
-                               $this->selectBlogCategory('destcatid');
-
-                       ?>
-
-
-                       <input type="submit" value="<?php echo _MOVE_BTN?>" onclick="return checkSubmit();" />
-
-               </div></form>
-               <?php           $this->pagefoot();
-               exit;
-       }
-
-       /**
-        * @todo document this
-        */
-       function batchMoveCategorySelectDestination($type, $ids) {
-               global $manager;
-               $this->pagehead();
-               ?>
-               <h2><?php echo _MOVECAT_TITLE?></h2>
-               <form method="post" action="index.php"><div>
-
-                       <input type="hidden" name="action" value="batch<?php echo $type?>" />
-                       <input type="hidden" name="batchaction" value="move" />
-                       <?php
-                               $manager->addTicketHidden();
-
-                               // insert selected item numbers
-                               $idx = 0;
-                               foreach ($ids as $id)
-                                       echo '<input type="hidden" name="batch[',($idx++),']" value="',intval($id),'" />';
-
-                               // show blog/category selection list
-                               $this->selectBlog('destblogid');
-
-                       ?>
-
-
-                       <input type="submit" value="<?php echo _MOVECAT_BTN?>" onclick="return checkSubmit();" />
-
-               </div></form>
-               <?php           $this->pagefoot();
-               exit;
-       }
-
-       /**
-        * @todo document this
-        */
-       function batchAskDeleteConfirmation($type, $ids) {
-               global $manager;
-
-               $this->pagehead();
-               ?>
-               <h2><?php echo _BATCH_DELETE_CONFIRM?></h2>
-               <form method="post" action="index.php"><div>
-
-                       <input type="hidden" name="action" value="batch<?php echo $type?>" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="batchaction" value="delete" />
-                       <input type="hidden" name="confirmation" value="yes" />
-                       <?php                           // insert selected item numbers
-                               $idx = 0;
-                               foreach ($ids as $id)
-                                       echo '<input type="hidden" name="batch[',($idx++),']" value="',intval($id),'" />';
-
-                               // add hidden vars for team & comment
-                               if ($type == 'team')
-                               {
-                                       echo '<input type="hidden" name="blogid" value="',intRequestVar('blogid'),'" />';
-                               }
-                               if ($type == 'comment')
-                               {
-                                       echo '<input type="hidden" name="itemid" value="',intRequestVar('itemid'),'" />';
-                               }
-
-                       ?>
-
-                       <input type="submit" value="<?php echo _BATCH_DELETE_CONFIRM_BTN?>" onclick="return checkSubmit();" />
-
-               </div></form>
-               <?php           $this->pagefoot();
-               exit;
-       }
-
-
-       /**
-        * Inserts a HTML select element with choices for all categories to which the current
-        * member has access
-        * @see function selectBlog
-        */
-       function selectBlogCategory($name, $selected = 0, $tabindex = 0, $showNewCat = 0, $iForcedBlogInclude = -1) {
-               ADMIN::selectBlog($name, 'category', $selected, $tabindex, $showNewCat, $iForcedBlogInclude);
-       }
-
-       /**
-        * Inserts a HTML select element with choices for all blogs to which the user has access
-        *              mode = 'blog' => shows blognames and values are blogids
-        *              mode = 'category' => show category names and values are catids
-        *
-        * @param $iForcedBlogInclude
-        *              ID of a blog that always needs to be included, without checking if the
-        *              member is on the blog team (-1 = none)
-        * @todo document parameters
-        */
-       function selectBlog($name, $mode='blog', $selected = 0, $tabindex = 0, $showNewCat = 0, $iForcedBlogInclude = -1) {
-               global $member, $CONF;
-
-               // 0. get IDs of blogs to which member can post items (+ forced blog)
-               $aBlogIds = array();
-               if ($iForcedBlogInclude != -1)
-                       $aBlogIds[] = intval($iForcedBlogInclude);
-
-               if (($member->isAdmin()) && ($CONF['ShowAllBlogs']))
-                       $queryBlogs =  'SELECT bnumber FROM '.sql_table('blog').' ORDER BY bname';
-               else
-                       $queryBlogs =  'SELECT bnumber FROM '.sql_table('blog').', '.sql_table('team').' WHERE tblog=bnumber and tmember=' . $member->getID();
-               $rblogids = sql_query($queryBlogs);
-               while ($o = mysql_fetch_object($rblogids))
-                       if ($o->bnumber != $iForcedBlogInclude)
-                               $aBlogIds[] = intval($o->bnumber);
-
-               if (count($aBlogIds) == 0)
-                       return;
-
-               echo '<select name="',$name,'" tabindex="',$tabindex,'">';
-
-               // 1. select blogs (we'll create optiongroups)
-               // (only select those blogs that have the user on the team)
-               $queryBlogs =  'SELECT bnumber, bname FROM '.sql_table('blog').' WHERE bnumber in ('.implode(',',$aBlogIds).') ORDER BY bname';
-               $blogs = sql_query($queryBlogs);
-               if ($mode == 'category') {
-                       if (mysql_num_rows($blogs) > 1)
-                               $multipleBlogs = 1;
-
-                       while ($oBlog = mysql_fetch_object($blogs)) {
-                               if ($multipleBlogs)
-                                       echo '<optgroup label="',htmlspecialchars($oBlog->bname),'">';
-
-                               // show selection to create new category when allowed/wanted
-                               if ($showNewCat) {
-                                       // check if allowed to do so
-                                       if ($member->blogAdminRights($oBlog->bnumber))
-                                               echo '<option value="newcat-',$oBlog->bnumber,'">',_ADD_NEWCAT,'</option>';
-                               }
-
-                               // 2. for each category in that blog
-                               $categories = sql_query('SELECT cname, catid FROM '.sql_table('category').' WHERE cblog=' . $oBlog->bnumber . ' ORDER BY cname ASC');
-                               while ($oCat = mysql_fetch_object($categories)) {
-                                       if ($oCat->catid == $selected)
-                                               $selectText = ' selected="selected" ';
-                                       else
-                                               $selectText = '';
-                                       echo '<option value="',$oCat->catid,'" ', $selectText,'>',htmlspecialchars($oCat->cname),'</option>';
-                               }
-
-                               if ($multipleBlogs)
-                                       echo '</optgroup>';
-                       }
-               } else {
-                       // blog mode
-                       while ($oBlog = mysql_fetch_object($blogs)) {
-                               echo '<option value="',$oBlog->bnumber,'"';
-                               if ($oBlog->bnumber == $selected)
-                                       echo ' selected="selected"';
-                               echo'>',htmlspecialchars($oBlog->bname),'</option>';
-                       }
-               }
-               echo '</select>';
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_browseownitems() {
-               global $member, $manager;
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-               echo '<h2>' . _ITEMLIST_YOUR. '</h2>';
-
-               // start index
-               if (postVar('start'))
-                       $start = intPostVar('start');
-               else
-                       $start = 0;
-
-               // amount of items to show
-               if (postVar('amount'))
-                       $amount = intPostVar('amount');
-               else
-                       $amount = 10;
-
-               $search = postVar('search');    // search through items
-
-               $query =  'SELECT bshortname, cname, mname, ititle, ibody, idraft, inumber, itime'
-                          . ' FROM '.sql_table('item').', '.sql_table('blog') . ', '.sql_table('member') . ', '.sql_table('category')
-                          . ' WHERE iauthor='. $member->getID() .' and iauthor=mnumber and iblog=bnumber and icat=catid';
-
-               if ($search)
-                       $query .= ' and ((ititle LIKE "%' . addslashes($search) . '%") or (ibody LIKE "%' . addslashes($search) . '%") or (imore LIKE "%' . addslashes($search) . '%"))';
-
-               $query .= ' ORDER BY itime DESC'
-                               . " LIMIT $start,$amount";
-
-               $template['content'] = 'itemlist';
-               $template['now'] = time();
-
-               $manager->loadClass("ENCAPSULATE");
-               $navList =& new NAVLIST('browseownitems', $start, $amount, 0, 1000, /*$blogid*/ 0, $search, 0);
-               $navList->showBatchList('item',$query,'table',$template);
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * Show all the comments for a given item
-        * @param int $itemid
-        */
-       function action_itemcommentlist($itemid = '') {
-               global $member, $manager;
-
-               if ($itemid == '')
-                       $itemid = intRequestVar('itemid');
-
-               // only allow if user is allowed to alter item
-               $member->canAlterItem($itemid) or $this->disallow();
-
-               $blogid = getBlogIdFromItemId($itemid);
-
-               $this->pagehead();
-
-               // start index
-               if (postVar('start'))
-                       $start = intPostVar('start');
-               else
-                       $start = 0;
-
-               // amount of items to show
-               if (postVar('amount'))
-                       $amount = intPostVar('amount');
-               else
-                       $amount = 10;
-
-               $search = postVar('search');
-
-               echo '<p>(<a href="index.php?action=itemlist&amp;blogid=',$blogid,'">',_BACKTOOVERVIEW,'</a>)</p>';
-               echo '<h2>',_COMMENTS,'</h2>';
-
-               $query =  'SELECT cbody, cuser, cmail, mname, ctime, chost, cnumber, cip, citem FROM '.sql_table('comment').' LEFT OUTER JOIN '.sql_table('member').' ON mnumber=cmember WHERE citem=' . $itemid;
-
-               if ($search)
-                       $query .= ' and cbody LIKE "%' . addslashes($search) . '%"';
-
-               $query .= ' ORDER BY ctime ASC'
-                               . " LIMIT $start,$amount";
-
-               $template['content'] = 'commentlist';
-               $template['canAddBan'] = $member->blogAdminRights(getBlogIDFromItemID($itemid));
-
-               $manager->loadClass("ENCAPSULATE");
-               $navList =& new NAVLIST('itemcommentlist', $start, $amount, 0, 1000, 0, $search, $itemid);
-               $navList->showBatchList('comment',$query,'table',$template,_NOCOMMENTS);
-
-               $this->pagefoot();
-       }
-
-       /**
-        * Browse own comments
-        */
-       function action_browseowncomments() {
-               global $member, $manager;
-
-               // start index
-               if (postVar('start'))
-                       $start = intPostVar('start');
-               else
-                       $start = 0;
-
-               // amount of items to show
-               if (postVar('amount'))
-                       $amount = intPostVar('amount');
-               else
-                       $amount = 10;
-
-               $search = postVar('search');
-
-
-               $query =  'SELECT cbody, cuser, cmail, mname, ctime, chost, cnumber, cip, citem FROM '.sql_table('comment').' LEFT OUTER JOIN '.sql_table('member').' ON mnumber=cmember WHERE cmember=' . $member->getID();
-
-               if ($search)
-                       $query .= ' and cbody LIKE "%' . addslashes($search) . '%"';
-
-               $query .= ' ORDER BY ctime DESC'
-                               . " LIMIT $start,$amount";
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-               echo '<h2>', _COMMENTS_YOUR ,'</h2>';
-
-               $template['content'] = 'commentlist';
-               $template['canAddBan'] = 0;     // doesn't make sense to allow banning yourself
-
-               $manager->loadClass("ENCAPSULATE");
-               $navList =& new NAVLIST('browseowncomments', $start, $amount, 0, 1000, 0, $search, 0);
-               $navList->showBatchList('comment',$query,'table',$template,_NOCOMMENTS_YOUR);
-
-               $this->pagefoot();
-       }
-
-       /**
-        * Browse all comments for a weblog
-        * @param int $blogid
-        */
-       function action_blogcommentlist($blogid = '')
-       {
-               global $member, $manager;
-
-               if ($blogid == '')
-                       $blogid = intRequestVar('blogid');
-               else
-                       $blogid = intval($blogid);
-
-               $member->teamRights($blogid) or $member->isAdmin() or $this->disallow();
-
-               // start index
-               if (postVar('start'))
-                       $start = intPostVar('start');
-               else
-                       $start = 0;
-
-               // amount of items to show
-               if (postVar('amount'))
-                       $amount = intPostVar('amount');
-               else
-                       $amount = 10;
-
-               $search = postVar('search');            // search through comments
-
-
-               $query =  'SELECT cbody, cuser, cemail, cmail, mname, ctime, chost, cnumber, cip, citem FROM '.sql_table('comment').' LEFT OUTER JOIN '.sql_table('member').' ON mnumber=cmember WHERE cblog=' . intval($blogid);
-
-               if ($search != '')
-                       $query .= ' and cbody LIKE "%' . addslashes($search) . '%"';
-
-
-               $query .= ' ORDER BY ctime DESC'
-                               . " LIMIT $start,$amount";
-
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-               echo '<h2>', _COMMENTS_BLOG , ' ' , $this->bloglink($blog), '</h2>';
-
-               $template['content'] = 'commentlist';
-               $template['canAddBan'] = $member->blogAdminRights($blogid);
-
-               $manager->loadClass("ENCAPSULATE");
-               $navList =& new NAVLIST('blogcommentlist', $start, $amount, 0, 1000, $blogid, $search, 0);
-               $navList->showBatchList('comment',$query,'table',$template, _NOCOMMENTS_BLOG);
-
-               $this->pagefoot();
-       }
-
-       /**
-        * Provide a page to item a new item to the given blog
-        */
-       function action_createitem() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               // check if allowed
-               $member->teamRights($blogid) or $this->disallow();
-
-               $memberid = $member->getID();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-
-               // generate the add-item form
-               $formfactory =& new PAGEFACTORY($blogid);
-               $formfactory->createAddForm('admin');
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemedit() {
-               global $member, $manager;
-
-               $itemid = intRequestVar('itemid');
-
-               // only allow if user is allowed to alter item
-               $member->canAlterItem($itemid) or $this->disallow();
-
-               $item =& $manager->getItem($itemid,1,1);
-               $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
-
-               $manager->notify('PrepareItemForEdit', array('item' => &$item));
-
-               if ($blog->convertBreaks()) {
-                       $item['body'] = removeBreaks($item['body']);
-                       $item['more'] = removeBreaks($item['more']);
-               }
-
-               // form to edit blog items
-               $this->pagehead();
-               $formfactory =& new PAGEFACTORY($blog->getID());
-               $formfactory->createEditForm('admin',$item);
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemupdate() {
-               global $member, $manager, $CONF;
-
-               $itemid = intRequestVar('itemid');
-               $catid = postVar('catid');
-
-               // only allow if user is allowed to alter item
-               $member->canUpdateItem($itemid, $catid) or $this->disallow();
-
-               $actiontype = postVar('actiontype');
-
-               // delete actions are handled by itemdelete (which has confirmation)
-               if ($actiontype == 'delete') {
-                       $this->action_itemdelete();
-                       return;
-               }
-
-               $body   = postVar('body');
-               $title  = postVar('title');
-               $more   = postVar('more');
-               $closed = intPostVar('closed');
-               $draftid = intPostVar('draftid');
-
-               // default action = add now
-               if (!$actiontype)
-                       $actiontype='addnow';
-
-               // create new category if needed
-               if (strstr($catid,'newcat')) {
-                       // get blogid
-                       list($blogid) = sscanf($catid,"newcat-%d");
-
-                       // create
-                       $blog =& $manager->getBlog($blogid);
-                       $catid = $blog->createNewCategory();
-
-                       // show error when sth goes wrong
-                       if (!$catid)
-                               $this->doError(_ERROR_CATCREATEFAIL);
-               }
-
-               /*
-                       set some variables based on actiontype
-
-                       actiontypes:
-                               draft items -> addnow, addfuture, adddraft, delete
-                               non-draft items -> edit, changedate, delete
-
-                       variables set:
-                               $timestamp: set to a nonzero value for future dates or date changes
-                               $wasdraft: set to 1 when the item used to be a draft item
-                               $publish: set to 1 when the edited item is not a draft
-               */
-               switch ($actiontype) {
-                       case 'adddraft':
-                               $publish = 0;
-                               $wasdraft = 1;
-                               $timestamp = 0;
-                               break;
-                       case 'addfuture':
-                               $wasdraft = 1;
-                               $publish = 1;
-                               $timestamp = mktime(postVar('hour'), postVar('minutes'), 0, postVar('month'), postVar('day'), postVar('year'));
-                               break;
-                       case 'addnow':
-                               $wasdraft = 1;
-                               $publish = 1;
-                               $timestamp = 0;
-                               break;
-                       case 'changedate':
-                               $timestamp = mktime(postVar('hour'), postVar('minutes'), 0, postVar('month'), postVar('day'), postVar('year'));
-                               $publish = 1;
-                               $wasdraft = 0;
-                               break;
-                       case 'edit':
-                       default:
-                               $publish = 1;
-                               $wasdraft = 0;
-                               $timestamp = 0;
-               }
-
-               // edit the item for real
-               ITEM::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, $timestamp);
-
-               if ($draftid > 0) {
-                       ITEM::delete($draftid);
-               }
-
-               $blogid = getBlogIDFromItemID($itemid);
-               $blog =& $manager->getBlog($blogid);
-               if (!$closed && $publish && $wasdraft && $blog->pingUserland()) {
-                       $this->action_sendping($blogid);
-                       return;
-               }
-
-               // show category edit window when we created a new category
-               // ($catid will then be a new category ID, while postVar('catid') will be 'newcat-x')
-               if ($catid != intPostVar('catid')) {
-                       $this->action_categoryedit(
-                               $catid,
-                               $blog->getID(),
-                               $CONF['AdminURL'] . 'index.php?action=itemlist&blogid=' . getBlogIDFromItemID($itemid)
-                       );
-               } else {
-                       // TODO: set start item correctly for itemlist
-                       $this->action_itemlist(getBlogIDFromItemID($itemid));
-               }
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemdelete() {
-               global $member, $manager;
-
-               $itemid = intRequestVar('itemid');
-
-               // only allow if user is allowed to alter item
-               $member->canAlterItem($itemid) or $this->disallow();
-
-               if (!$manager->existsItem($itemid,1,1))
-                       $this->error(_ERROR_NOSUCHITEM);
-
-               $item =& $manager->getItem($itemid,1,1);
-               $title = htmlspecialchars(strip_tags($item['title']));
-               $body = strip_tags($item['body']);
-               $body = htmlspecialchars(shorten($body,300,'...'));
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _CONFIRMTXT_ITEM?></p>
-
-                       <div class="note">
-                               <b>"<?php echo  $title ?>"</b>
-                               <br />
-                               <?php echo $body?>
-                       </div>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="itemdeleteconfirm" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-                               <input type="submit" value="<?php echo _DELETE_CONFIRM_BTN?>"  tabindex="10" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemdeleteconfirm() {
-               global $member;
-
-               $itemid = intRequestVar('itemid');
-
-               // only allow if user is allowed to alter item
-               $member->canAlterItem($itemid) or $this->disallow();
-
-               // get blogid first
-               $blogid = getBlogIdFromItemId($itemid);
-
-               // delete item (note: some checks will be performed twice)
-               $this->deleteOneItem($itemid);
-
-               $this->action_itemlist($blogid);
-       }
-
-       /**
-        * Deletes one item and returns error if something goes wrong
-        * @param int $itemid
-        */
-       function deleteOneItem($itemid) {
-               global $member, $manager;
-
-               // only allow if user is allowed to alter item (also checks if itemid exists)
-               if (!$member->canAlterItem($itemid))
-                       return _ERROR_DISALLOWED;
-
-               $manager->loadClass('ITEM');
-               ITEM::delete($itemid);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemmove() {
-               global $member, $manager;
-
-               $itemid = intRequestVar('itemid');
-
-               // only allow if user is allowed to alter item
-               $member->canAlterItem($itemid) or $this->disallow();
-
-               $item =& $manager->getItem($itemid,1,1);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _MOVE_TITLE?></h2>
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="itemmoveto" />
-                               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-
-                               <?php
-
-                                       $manager->addTicketHidden();
-                                       $this->selectBlogCategory('catid',$item['catid'],10,1);
-                               ?>
-
-                               <input type="submit" value="<?php echo _MOVE_BTN?>" tabindex="10000" onclick="return checkSubmit();" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_itemmoveto() {
-               global $member, $manager;
-
-               $itemid = intRequestVar('itemid');
-               $catid = requestVar('catid');
-
-               // create new category if needed
-               if (strstr($catid,'newcat')) {
-                       // get blogid
-                       list($blogid) = sscanf($catid,'newcat-%d');
-
-                       // create
-                       $blog =& $manager->getBlog($blogid);
-                       $catid = $blog->createNewCategory();
-
-                       // show error when sth goes wrong
-                       if (!$catid)
-                               $this->doError(_ERROR_CATCREATEFAIL);
-               }
-
-               // only allow if user is allowed to alter item
-               $member->canUpdateItem($itemid, $catid) or $this->disallow();
-
-               ITEM::move($itemid, $catid);
-
-               if ($catid != intRequestVar('catid'))
-                       $this->action_categoryedit($catid, $blog->getID());
-               else
-                       $this->action_itemlist(getBlogIDFromCatID($catid));
-       }
-
-       /**
-        * Moves one item to a given category (category existance should be checked by caller)
-        * errors are returned
-        * @param int $itemid
-        * @param int $destCatid category ID to which the item will be moved
-        */
-       function moveOneItem($itemid, $destCatid) {
-               global $member;
-
-               // only allow if user is allowed to move item
-               if (!$member->canUpdateItem($itemid, $destCatid))
-                       return _ERROR_DISALLOWED;
-
-               ITEM::move($itemid, $destCatid);
-       }
-
-       /**
-        * Adds a item to the chosen blog
-        */
-       function action_additem() {
-               global $member, $manager, $CONF;
-
-               $manager->loadClass('ITEM');
-
-               $result = ITEM::createFromRequest();
-
-               if ($result['status'] == 'error')
-                       $this->error($result['message']);
-
-               $blogid = getBlogIDFromItemID($result['itemid']);
-               $blog =& $manager->getBlog($blogid);
-
-               $pingUrl = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=sendping&blogid=' . intval($blogid));
-
-               if ($result['status'] == 'newcategory')
-                       $this->action_categoryedit(
-                               $result['catid'],
-                               $blogid,
-                               $blog->pingUserland() ? $pingUrl : ''
-                       );
-               elseif ((postVar('actiontype') == 'addnow') && $blog->pingUserland())
-                       $this->action_sendping($blogid);
-               else
-                       $this->action_itemlist($blogid);
-       }
-
-       /**
-        * Shows a window that says we're about to ping weblogs.com.
-        * immediately refresh to the real pinging page, which will
-        * show an error, or redirect to the blog.
-        *
-        * @param int $blogid ID of blog for which ping needs to be sent out
-        */
-       function action_sendping($blogid = -1) {
-               global $member, $manager;
-
-               if ($blogid == -1)
-                       $blogid = intRequestVar('blogid');
-
-               $member->isLoggedIn() or $this->disallow();
-
-               $rawPingUrl = $manager->addTicketToUrl('index.php?action=rawping&blogid=' . intval($blogid));
-
-               $this->pagehead('<meta http-equiv="refresh" content="1; url='.htmlspecialchars($rawPingUrl).'" />');
-               ?>
-               <h2>Site Updated, Now pinging weblogs.com</h2>
-
-               <p>
-                       Pinging weblogs.com! This can a while...
-                       <br />
-                       When the ping is complete (and successfull), your weblog will show up in the weblogs.com updates list.
-               </p>
-
-               <p>
-                       If you aren't automatically passed through, <a href="index.php?action=rawping&amp;blogid=<?php echo $blogid?>">try again</a>
-               </p>
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * Ping to Weblogs.com
-        * Sends the real ping (can take up to 10 seconds!)
-        */
-       function action_rawping() {
-               global $manager;
-               // TODO: checks?
-
-               $blogid = intRequestVar('blogid');
-               $blog =& $manager->getBlog($blogid);
-
-               $result = $blog->sendUserlandPing();
-
-               $this->pagehead();
-
-               ?>
-
-               <h2>Ping Results</h2>
-
-               <p>The following message was returned by weblogs.com:</p>
-
-               <div class='note'><?php echo  $result ?></div>
-
-               <ul>
-                       <li><a href="index.php?action=itemlist&amp;blogid=<?php echo $blog->getID()?>">View list of recent items for <?php echo htmlspecialchars($blog->getName())?></a></li>
-                       <li><a href="<?php echo $blog->getURL()?>">Visit your own site</a></li>
-               </ul>
-
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * Allows to edit previously made comments
-        */
-       function action_commentedit() {
-               global $member, $manager;
-
-               $commentid = intRequestVar('commentid');
-
-               $member->canAlterComment($commentid) or $this->disallow();
-
-               $comment = COMMENT::getComment($commentid);
-
-               $manager->notify('PrepareCommentForEdit',array('comment' => &$comment));
-
-               // change <br /> to \n
-               $comment['body'] = str_replace('<br />','',$comment['body']);
-
-               $comment['body'] = eregi_replace("<a href=['\"]([^'\"]+)['\"]( rel=\"nofollow\")?>[^<]*</a>","\\1",$comment['body']);
-
-               $this->pagehead();
-
-               ?>
-               <h2><?php echo _EDITC_TITLE?></h2>
-
-               <form action="index.php" method="post"><div>
-
-               <input type="hidden" name="action" value="commentupdate" />
-               <?php $manager->addTicketHidden(); ?>
-               <input type="hidden" name="commentid" value="<?php echo  $commentid; ?>" />
-               <table><tr>
-                       <th colspan="2"><?php echo _EDITC_TITLE?></th>
-               </tr><tr>
-                       <td><?php echo _EDITC_WHO?></td>
-                       <td>
-                       <?php                           if ($comment['member'])
-                                       echo $comment['member'] . " (" . _EDITC_MEMBER . ")";
-                               else
-                                       echo $comment['user'] . " (" . _EDITC_NONMEMBER . ")";
-                       ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EDITC_WHEN?></td>
-                       <td><?php echo  date("Y-m-d @ H:i",$comment['timestamp']); ?></td>
-               </tr><tr>
-                       <td><?php echo _EDITC_HOST?></td>
-                       <td><?php echo  $comment['host']; ?></td>
-               </tr><tr>
-                       <td><?php echo _EDITC_TEXT?></td>
-                       <td>
-                               <textarea name="body" tabindex="10" rows="10" cols="50"><?php                                   // htmlspecialchars not needed (things should be escaped already)
-                                       echo $comment['body'];
-                               ?></textarea>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EDITC_EDIT?></td>
-                       <td><input type="submit"  tabindex="20" value="<?php echo _EDITC_EDIT?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_commentupdate() {
-               global $member, $manager;
-
-               $commentid = intRequestVar('commentid');
-
-               $member->canAlterComment($commentid) or $this->disallow();
-
-               $body = postVar('body');
-
-               // intercept words that are too long
-               if (eregi("[a-zA-Z0-9|\.,;:!\?=\/\\]{90,90}",$body) != false)
-                       $this->error(_ERROR_COMMENT_LONGWORD);
-
-               // check length
-               if (strlen($body)<3)
-                       $this->error(_ERROR_COMMENT_NOCOMMENT);
-               if (strlen($body)>5000)
-                       $this->error(_ERROR_COMMENT_TOOLONG);
-
-
-               // prepare body
-               $body = COMMENT::prepareBody($body);
-
-               // call plugins
-               $manager->notify('PreUpdateComment',array('body' => &$body));
-
-               $query =  'UPDATE '.sql_table('comment')
-                          . " SET cbody='" .addslashes($body). "'"
-                          . " WHERE cnumber=" . $commentid;
-               sql_query($query);
-
-               // get itemid
-               $res = sql_query('SELECT citem FROM '.sql_table('comment').' WHERE cnumber=' . $commentid);
-               $o = mysql_fetch_object($res);
-               $itemid = $o->citem;
-
-               if ($member->canAlterItem($itemid))
-                       $this->action_itemcommentlist($itemid);
-               else
-                       $this->action_browseowncomments();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_commentdelete() {
-               global $member, $manager;
-
-               $commentid = intRequestVar('commentid');
-
-               $member->canAlterComment($commentid) or $this->disallow();
-
-               $comment = COMMENT::getComment($commentid);
-
-               $body = strip_tags($comment['body']);
-               $body = htmlspecialchars(shorten($body, 300, '...'));
-
-               if ($comment['member'])
-                       $author = $comment['member'];
-               else
-                       $author = $comment['user'];
-
-               $this->pagehead();
-               ?>
-
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _CONFIRMTXT_COMMENT?></p>
-
-                       <div class="note">
-                       <b><?php echo _EDITC_WHO?>:</b> <?php echo  $author ?>
-                       <br />
-                       <b><?php echo _EDITC_TEXT?>:</b> <?php echo  $body ?>
-                       </div>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="commentdeleteconfirm" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="commentid" value="<?php echo  $commentid; ?>" />
-                               <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_commentdeleteconfirm() {
-               global $member;
-
-               $commentid = intRequestVar('commentid');
-
-               // get item id first
-               $res = sql_query('SELECT citem FROM '.sql_table('comment') .' WHERE cnumber=' . $commentid);
-               $o = mysql_fetch_object($res);
-               $itemid = $o->citem;
-
-               $error = $this->deleteOneComment($commentid);
-               if ($error)
-                       $this->doError($error);
-
-               if ($member->canAlterItem($itemid))
-                       $this->action_itemcommentlist($itemid);
-               else
-                       $this->action_browseowncomments();
-       }
-
-       /**
-        * @todo document this
-        */
-       function deleteOneComment($commentid) {
-               global $member, $manager;
-
-               $commentid = intval($commentid);
-
-               if (!$member->canAlterComment($commentid))
-                       return _ERROR_DISALLOWED;
-
-               $manager->notify('PreDeleteComment', array('commentid' => $commentid));
-
-               // delete the comments associated with the item
-               $query = 'DELETE FROM '.sql_table('comment').' WHERE cnumber=' . $commentid;
-               sql_query($query);
-
-               $manager->notify('PostDeleteComment', array('commentid' => $commentid));
-
-               return '';
-       }
-
-       /**
-        * Usermanagement main
-        */
-       function action_usermanagement() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-               echo '<h2>' . _MEMBERS_TITLE .'</h2>';
-
-               echo '<h3>' . _MEMBERS_CURRENT .'</h3>';
-
-               // show list of members with actions
-               $query =  'SELECT *'
-                          . ' FROM '.sql_table('member');
-               $template['content'] = 'memberlist';
-               $template['tabindex'] = 10;
-
-               $manager->loadClass("ENCAPSULATE");
-               $batch =& new BATCH('member');
-               $batch->showlist($query,'table',$template);
-
-               echo '<h3>' . _MEMBERS_NEW .'</h3>';
-               ?>
-                       <form method="post" action="index.php" name="memberedit"><div>
-
-                       <input type="hidden" name="action" value="memberadd" />
-                       <?php $manager->addTicketHidden() ?>
-
-                       <table>
-                       <tr>
-                               <th colspan="2"><?php echo _MEMBERS_NEW?></th>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_DISPLAY?> <?php help('shortnames');?>
-                               <br /><small><?php echo _MEMBERS_DISPLAY_INFO?></small>
-                               </td>
-                               <td><input tabindex="10010" name="name" size="16" maxlength="16" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_REALNAME?></td>
-                               <td><input name="realname" tabindex="10020" size="40" maxlength="60" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_PWD?></td>
-                               <td><input name="password" tabindex="10030" size="16" maxlength="40" type="password" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_REPPWD?></td>
-                               <td><input name="repeatpassword" tabindex="10035" size="16" maxlength="40" type="password" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_EMAIL?></td>
-                               <td><input name="email" tabindex="10040" size="40" maxlength="60" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_URL?></td>
-                               <td><input name="url" tabindex="10050" size="40" maxlength="100" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_SUPERADMIN?> <?php help('superadmin'); ?></td>
-                               <td><?php $this->input_yesno('admin',0,10060); ?> </td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_CANLOGIN?> <?php help('canlogin'); ?></td>
-                               <td><?php $this->input_yesno('canlogin',1,10070); ?></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_NOTES?></td>
-                               <td><input name="notes" maxlength="100" size="40" tabindex="10080" /></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_NEW?></td>
-                               <td><input type="submit" value="<?php echo _MEMBERS_NEW_BTN?>" tabindex="10090" onclick="return checkSubmit();" /></td>
-                       </tr></table>
-
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * Edit member settings
-        */
-       function action_memberedit() {
-               $this->action_editmembersettings(intRequestVar('memberid'));
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_editmembersettings($memberid = '') {
-               global $member, $manager, $CONF;
-
-               if ($memberid == '')
-                       $memberid = $member->getID();
-
-               // check if allowed
-               ($member->getID() == $memberid) or $member->isAdmin() or $this->disallow();
-
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';
-               $this->pagehead($extrahead);
-
-               // show message to go back to member overview (only for admins)
-               if ($member->isAdmin())
-                       echo '<a href="index.php?action=usermanagement">(' ._MEMBERS_BACKTOOVERVIEW. ')</a>';
-               else
-                       echo '<a href="index.php?action=overview">(' ._BACKHOME. ')</a>';
-
-               echo '<h2>' . _MEMBERS_EDIT . '</h2>';
-
-               $mem = MEMBER::createFromID($memberid);
-
-               ?>
-               <form method="post" action="index.php" name="memberedit"><div>
-
-               <input type="hidden" name="action" value="changemembersettings" />
-               <input type="hidden" name="memberid" value="<?php echo  $memberid; ?>" />
-               <?php $manager->addTicketHidden() ?>
-
-               <table><tr>
-                       <th colspan="2"><?php echo _MEMBERS_EDIT?></th>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_DISPLAY?> <?php help('shortnames');?>
-                               <br /><small><?php echo _MEMBERS_DISPLAY_INFO?></small>
-                       </td>
-                       <td>
-                       <?php if ($CONF['AllowLoginEdit'] || $member->isAdmin()) { ?>
-                               <input name="name" tabindex="10" maxlength="16" size="16" value="<?php echo  htmlspecialchars($mem->getDisplayName()); ?>" />
-                       <?php } else {
-                               echo htmlspecialchars($member->getDisplayName());
-                          }
-                       ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_REALNAME?></td>
-                       <td><input name="realname" tabindex="20" maxlength="60" size="40" value="<?php echo  htmlspecialchars($mem->getRealName()); ?>" /></td>
-               </tr><tr>
-               <?php if ($CONF['AllowLoginEdit'] || $member->isAdmin()) { ?>
-                       <td><?php echo _MEMBERS_PWD?></td>
-                       <td><input type="password" tabindex="30" maxlength="40" size="16" name="password" /></td>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_REPPWD?></td>
-                       <td><input type="password" tabindex="35" maxlength="40" size="16" name="repeatpassword" /></td>
-               <?php } ?>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_EMAIL?>
-                               <br /><small><?php echo _MEMBERS_EMAIL_EDIT?></small>
-                       </td>
-                       <td><input name="email" tabindex="40" size="40" maxlength="60" value="<?php echo  htmlspecialchars($mem->getEmail()); ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_URL?></td>
-                       <td><input name="url" tabindex="50" size="40" maxlength="100" value="<?php echo  htmlspecialchars($mem->getURL()); ?>" /></td>
-               <?php // only allow to change this by super-admins
-                  // we don't want normal users to 'upgrade' themselves to super-admins, do we? ;-)
-                  if ($member->isAdmin()) {
-               ?>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_SUPERADMIN?> <?php help('superadmin'); ?></td>
-                               <td><?php $this->input_yesno('admin',$mem->isAdmin(),60); ?></td>
-                       </tr><tr>
-                               <td><?php echo _MEMBERS_CANLOGIN?> <?php help('canlogin'); ?></td>
-                               <td><?php $this->input_yesno('canlogin',$mem->canLogin(),70,1,0,_YES,_NO,$mem->isAdmin()); ?></td>
-               <?php } ?>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_NOTES?></td>
-                       <td><input name="notes" tabindex="80" size="40" maxlength="100" value="<?php echo  htmlspecialchars($mem->getNotes()); ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_DEFLANG?> <?php help('language'); ?>
-                       </td>
-                       <td>
-
-                               <select name="deflang" tabindex="85">
-                                       <option value=""><?php echo _MEMBERS_USESITELANG?></option>
-                               <?php                           // show a dropdown list of all available languages
-                               global $DIR_LANG;
-                               $dirhandle = opendir($DIR_LANG);
-                               while ($filename = readdir($dirhandle)) {
-                                       if (ereg("^(.*)\.php$",$filename,$matches)) {
-                                               $name = $matches[1];
-                                               echo "<option value='$name'";
-                                               if ($name == $mem->getLanguage())
-                                                       echo " selected='selected'";
-                                               echo ">$name</option>";
-                                       }
-                               }
-                               closedir($dirhandle);
-
-                               ?>
-                               </select>
-
-                       </td>
-               </tr>
-               <?php
-                       // plugin options
-                       $this->_insertPluginOptions('member',$memberid);
-               ?>
-               <tr>
-                       <th colspan="2"><?php echo _MEMBERS_EDIT ?></th>
-               </tr><tr>
-                       <td><?php echo _MEMBERS_EDIT?></td>
-                       <td><input type="submit" tabindex="90" value="<?php echo _MEMBERS_EDIT_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div></form>
-
-               <?php
-                       echo '<h3>',_PLUGINS_EXTRA,'</h3>';
-
-                       $manager->notify(
-                               'MemberSettingsFormExtras',
-                               array(
-                                       'member' => &$mem
-                               )
-                       );
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_changemembersettings() {
-               global $member, $CONF, $manager;
-
-               $memberid = intRequestVar('memberid');
-
-               // check if allowed
-               ($member->getID() == $memberid) or $member->isAdmin() or $this->disallow();
-
-               $name                   = trim(strip_tags(postVar('name')));
-               $realname               = trim(strip_tags(postVar('realname')));
-               $password               = postVar('password');
-               $repeatpassword = postVar('repeatpassword');
-               $email                  = strip_tags(postVar('email'));
-               $url                    = strip_tags(postVar('url'));
-
-               // Sometimes user didn't prefix the URL with http://, this cause a malformed URL. Let's fix it.
-               if (!eregi("^https?://", $url))
-                       $url = "http://".$url;
-
-               $admin                  = postVar('admin');
-               $canlogin               = postVar('canlogin');
-               $notes                  = strip_tags(postVar('notes'));
-               $deflang                = postVar('deflang');
-
-               $mem = MEMBER::createFromID($memberid);
-
-               if ($CONF['AllowLoginEdit'] || $member->isAdmin()) {
-
-                       if (!isValidDisplayName($name))
-                               $this->error(_ERROR_BADNAME);
-
-                       if (($name != $mem->getDisplayName()) && MEMBER::exists($name))
-                               $this->error(_ERROR_NICKNAMEINUSE);
-
-                       if ($password != $repeatpassword)
-                               $this->error(_ERROR_PASSWORDMISMATCH);
-
-                       if ($password && (strlen($password) < 6))
-                               $this->error(_ERROR_PASSWORDTOOSHORT);
-               }
-
-               if (!isValidMailAddress($email))
-                       $this->error(_ERROR_BADMAILADDRESS);
-
-
-               if (!$realname)
-                       $this->error(_ERROR_REALNAMEMISSING);
-
-               if (($deflang != '') && (!checkLanguage($deflang)))
-                       $this->error(_ERROR_NOSUCHLANGUAGE);
-
-               // check if there will remain at least one site member with both the logon and admin rights
-               // (check occurs when taking away one of these rights from such a member)
-               if (    (!$admin && $mem->isAdmin() && $mem->canLogin())
-                        || (!$canlogin && $mem->isAdmin() && $mem->canLogin())
-                  )
-               {
-                       $r = sql_query('SELECT * FROM '.sql_table('member').' WHERE madmin=1 and mcanlogin=1');
-                       if (mysql_num_rows($r) < 2)
-                               $this->error(_ERROR_ATLEASTONEADMIN);
-               }
-
-               if ($CONF['AllowLoginEdit'] || $member->isAdmin()) {
-                       $mem->setDisplayName($name);
-                       if ($password)
-                               $mem->setPassword($password);
-               }
-
-               $oldEmail = $mem->getEmail();
-
-               $mem->setRealName($realname);
-               $mem->setEmail($email);
-               $mem->setURL($url);
-               $mem->setNotes($notes);
-               $mem->setLanguage($deflang);
-
-
-               // only allow super-admins to make changes to the admin status
-               if ($member->isAdmin()) {
-                       $mem->setAdmin($admin);
-                       $mem->setCanLogin($canlogin);
-               }
-
-
-               $mem->write();
-
-               // store plugin options
-               $aOptions = requestArray('plugoption');
-               NucleusPlugin::_applyPluginOptions($aOptions);
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'member', 'memberid' => $memberid, 'member' => &$mem));
-
-               // if email changed, generate new password
-               if ($oldEmail != $mem->getEmail())
-               {
-                       $mem->sendActivationLink('addresschange', $oldEmail);
-                       // logout member
-                       $mem->newCookieKey();
-
-                       // only log out if the member being edited is the current member.
-                       if ($member->getID() == $memberid)
-                               $member->logout();
-                       $this->action_login(_MSG_ACTIVATION_SENT, 0);
-                       return;
-               }
-
-
-               if (  ( $mem->getID() == $member->getID() )
-                  && ( $mem->getDisplayName() != $member->getDisplayName() )
-                  ) {
-                       $mem->newCookieKey();
-                       $member->logout();
-                       $this->action_login(_MSG_LOGINAGAIN, 0);
-               } else {
-                       $this->action_overview(_MSG_SETTINGSCHANGED);
-               }
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_memberadd() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               if (postVar('password') != postVar('repeatpassword'))
-                       $this->error(_ERROR_PASSWORDMISMATCH);
-               if (strlen(postVar('password')) < 6)
-                       $this->error(_ERROR_PASSWORDTOOSHORT);
-
-               $res = MEMBER::create(postVar('name'), postVar('realname'), postVar('password'), postVar('email'), postVar('url'), postVar('admin'), postVar('canlogin'), postVar('notes'));
-               if ($res != 1)
-                       $this->error($res);
-
-               // fire PostRegister event
-               $newmem = new MEMBER();
-               $newmem->readFromName(postVar('name'));
-               $manager->notify('PostRegister',array('member' => &$newmem));
-
-               $this->action_usermanagement();
-       }
-
-       /**
-        * Account activation
-        *
-        * @author dekarma
-        */
-       function action_activate() {
-
-               $key = getVar('key');
-               $this->_showActivationPage($key);
-       }
-
-       /**
-        * @todo document this
-        */
-       function _showActivationPage($key, $message = '')
-       {
-               global $manager;
-
-               // clean up old activation keys
-               MEMBER::cleanupActivationTable();
-
-               // get activation info
-               $info = MEMBER::getActivationInfo($key);
-
-               if (!$info)
-                       $this->error(_ERROR_ACTIVATE);
-
-               $mem = MEMBER::createFromId($info->vmember);
-
-               if (!$mem)
-                       $this->error(_ERROR_ACTIVATE);
-
-               $text = '';
-               $title = '';
-               $bNeedsPasswordChange = true;
-
-               switch ($info->vtype)
-               {
-                       case 'forgot':
-                               $title = _ACTIVATE_FORGOT_TITLE;
-                               $text = _ACTIVATE_FORGOT_TEXT;
-                               break;
-                       case 'register':
-                               $title = _ACTIVATE_REGISTER_TITLE;
-                               $text = _ACTIVATE_REGISTER_TEXT;
-                               break;
-                       case 'addresschange':
-                               $title = _ACTIVATE_CHANGE_TITLE;
-                               $text = _ACTIVATE_CHANGE_TEXT;
-                               $bNeedsPasswordChange = false;
-                               MEMBER::activate($key);
-                               break;
-               }
-
-               $aVars = array(
-                       'memberName' => htmlspecialchars($mem->getDisplayName())
-               );
-               $title = TEMPLATE::fill($title, $aVars);
-               $text = TEMPLATE::fill($text, $aVars);
-
-               $this->pagehead();
-
-                       echo '<h2>' , $title, '</h2>';
-                       echo '<p>' , $text, '</p>';
-
-                       if ($message != '')
-                       {
-                               echo '<p class="error">',$message,'</p>';
-                       }
-
-                       if ($bNeedsPasswordChange)
-                       {
-                               ?>
-                                       <div><form action="index.php" method="post">
-
-                                               <input type="hidden" name="action" value="activatesetpwd" />
-                                               <?php $manager->addTicketHidden() ?>
-                                               <input type="hidden" name="key" value="<?php echo htmlspecialchars($key) ?>" />
-
-                                               <table><tr>
-                                                       <td><?php echo _MEMBERS_PWD?></td>
-                                                       <td><input type="password" maxlength="40" size="16" name="password" /></td>
-                                               </tr><tr>
-                                                       <td><?php echo _MEMBERS_REPPWD?></td>
-                                                       <td><input type="password" maxlength="40" size="16" name="repeatpassword" /></td>
-                                               <?php
-
-                                                       global $manager;
-                                                       $manager->notify('FormExtra', array('type' => 'activation', 'member' => $mem));
-
-                                               ?>
-                                               </tr><tr>
-                                                       <td><?php echo _MEMBERS_SETPWD ?></td>
-                                                       <td><input type='submit' value='<?php echo _MEMBERS_SETPWD_BTN ?>' /></td>
-                                               </tr></table>
-
-
-                                       </form></div>
-
-                               <?php
-
-                       }
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * Account activation - set password part
-        *
-        * @author dekarma
-        */
-       function action_activatesetpwd() {
-
-               $key = postVar('key');
-
-               // clean up old activation keys
-               MEMBER::cleanupActivationTable();
-
-               // get activation info
-               $info = MEMBER::getActivationInfo($key);
-
-               if (!$info || ($info->type == 'addresschange'))
-                       return $this->_showActivationPage($key, _ERROR_ACTIVATE);
-
-               $mem = MEMBER::createFromId($info->vmember);
-
-               if (!$mem)
-                       return $this->_showActivationPage($key, _ERROR_ACTIVATE);
-
-               $password               = postVar('password');
-               $repeatpassword = postVar('repeatpassword');
-
-               if ($password != $repeatpassword)
-                       return $this->_showActivationPage($key, _ERROR_PASSWORDMISMATCH);
-
-               if ($password && (strlen($password) < 6))
-                       return $this->_showActivationPage($key, _ERROR_PASSWORDTOOSHORT);
-
-               $error = '';
-               global $manager;
-               $manager->notify('ValidateForm', array('type' => 'activation', 'member' => $mem, 'error' => &$error));
-               if ($error != '')
-                       return $this->_showActivationPage($key, $error);
-
-
-               // set password
-               $mem->setPassword($password);
-               $mem->write();
-
-               // do the activation
-               MEMBER::activate($key);
-
-               $this->pagehead();
-                       echo '<h2>',_ACTIVATE_SUCCESS_TITLE,'</h2>';
-                       echo '<p>',_ACTIVATE_SUCCESS_TEXT,'</p>';
-               $this->pagefoot();
-       }
-
-       /**
-        * Manage team
-        */
-       function action_manageteam() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               // check if allowed
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $this->pagehead();
-
-               echo "<p><a href='index.php?action=blogsettings&amp;blogid=$blogid'>(",_BACK_TO_BLOGSETTINGS,")</a></p>";
-
-               echo '<h2>' . _TEAM_TITLE . getBlogNameFromID($blogid) . '</h2>';
-
-               echo '<h3>' . _TEAM_CURRENT . '</h3>';
-
-
-
-               $query =  'SELECT tblog, tmember, mname, mrealname, memail, tadmin'
-                          . ' FROM '.sql_table('member').', '.sql_table('team')
-                          . ' WHERE tmember=mnumber and tblog=' . $blogid;
-
-               $template['content'] = 'teamlist';
-               $template['tabindex'] = 10;
-
-               $manager->loadClass("ENCAPSULATE");
-               $batch =& new BATCH('team');
-               $batch->showlist($query, 'table', $template);
-
-               ?>
-                       <h3><?php echo _TEAM_ADDNEW?></h3>
-
-                       <form method='post' action='index.php'><div>
-
-                       <input type='hidden' name='action' value='teamaddmember' />
-                       <input type='hidden' name='blogid' value='<?php echo  $blogid; ?>' />
-                       <?php $manager->addTicketHidden() ?>
-
-                       <table><tr>
-                               <td><?php echo _TEAM_CHOOSEMEMBER?></td>
-                               <td><?php                                       // TODO: try to make it so only non-team-members are listed
-                                       $query =  'SELECT mname as text, mnumber as value'
-                                                  . ' FROM '.sql_table('member');
-
-                                       $template['name'] = 'memberid';
-                                       $template['tabindex'] = 10000;
-                                       showlist($query,'select',$template);
-                               ?></td>
-                       </tr><tr>
-                               <td><?php echo _TEAM_ADMIN?><?php help('teamadmin'); ?></td>
-                               <td><?php $this->input_yesno('admin',0,10020); ?></td>
-                       </tr><tr>
-                               <td><?php echo _TEAM_ADD?></td>
-                               <td><input type='submit' value='<?php echo _TEAM_ADD_BTN?>' tabindex="10030" /></td>
-                       </tr></table>
-
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * Add member to team
-        */
-       function action_teamaddmember() {
-               global $member, $manager;
-
-               $memberid = intPostVar('memberid');
-               $blogid = intPostVar('blogid');
-               $admin = intPostVar('admin');
-
-               // check if allowed
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-               if (!$blog->addTeamMember($memberid, $admin))
-                       $this->error(_ERROR_ALREADYONTEAM);
-
-               $this->action_manageteam();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_teamdelete() {
-               global $member, $manager;
-
-               $memberid = intRequestVar('memberid');
-               $blogid = intRequestVar('blogid');
-
-               // check if allowed
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $teammem = MEMBER::createFromID($memberid);
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _CONFIRMTXT_TEAM1?><b><?php echo  htmlspecialchars($teammem->getDisplayName()) ?></b><?php echo _CONFIRMTXT_TEAM2?><b><?php echo  htmlspecialchars(strip_tags($blog->getName())) ?></b>
-                       </p>
-
-
-                       <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="teamdeleteconfirm" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="memberid" value="<?php echo  $memberid; ?>" />
-                       <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-                       <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_teamdeleteconfirm() {
-               global $member;
-
-               $memberid = intRequestVar('memberid');
-               $blogid = intRequestVar('blogid');
-
-               $error = $this->deleteOneTeamMember($blogid, $memberid);
-               if ($error)
-                       $this->error($error);
-
-
-               $this->action_manageteam();
-       }
-
-       /**
-        * @todo document this
-        */
-       function deleteOneTeamMember($blogid, $memberid) {
-               global $member, $manager;
-
-               $blogid = intval($blogid);
-               $memberid = intval($memberid);
-
-               // check if allowed
-               if (!$member->blogAdminRights($blogid))
-                       return _ERROR_DISALLOWED;
-
-               // check if: - there remains at least one blog admin
-               //           - (there remains at least one team member)
-               $tmem = MEMBER::createFromID($memberid);
-
-               $manager->notify('PreDeleteTeamMember', array('member' => &$mem, 'blogid' => $blogid));
-
-               if ($tmem->isBlogAdmin($blogid)) {
-                       // check if there are more blog members left and at least one admin
-                       // (check for at least two admins before deletion)
-                       $query = 'SELECT * FROM '.sql_table('team') . ' WHERE tblog='.$blogid.' and tadmin=1';
-                       $r = sql_query($query);
-                       if (mysql_num_rows($r) < 2)
-                               return _ERROR_ATLEASTONEBLOGADMIN;
-               }
-
-               $query = 'DELETE FROM '.sql_table('team')." WHERE tblog=$blogid and tmember=$memberid";
-               sql_query($query);
-
-               $manager->notify('PostDeleteTeamMember', array('member' => &$mem, 'blogid' => $blogid));
-
-               return '';
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_teamchangeadmin() {
-               global $member;
-
-               $blogid = intRequestVar('blogid');
-               $memberid = intRequestVar('memberid');
-
-               // check if allowed
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $mem = MEMBER::createFromID($memberid);
-
-               // don't allow when there is only one admin at this moment
-               if ($mem->isBlogAdmin($blogid)) {
-                       $r = sql_query('SELECT * FROM '.sql_table('team') . " WHERE tblog=$blogid and tadmin=1");
-                       if (mysql_num_rows($r) == 1)
-                               $this->error(_ERROR_ATLEASTONEBLOGADMIN);
-               }
-
-               if ($mem->isBlogAdmin($blogid))
-                       $newval = 0;
-               else
-                       $newval = 1;
-
-               $query = 'UPDATE '.sql_table('team') ." SET tadmin=$newval WHERE tblog=$blogid and tmember=$memberid";
-               sql_query($query);
-
-               // only show manageteam if member did not change its own admin privileges
-               if ($member->isBlogAdmin($blogid))
-                       $this->action_manageteam();
-               else
-                       $this->action_overview(_MSG_ADMINCHANGED);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_blogsettings() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               // check if allowed
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';
-               $this->pagehead($extrahead);
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-               ?>
-               <h2><?php echo _EBLOG_TITLE?>: '<?php echo $this->bloglink($blog)?>'</h2>
-
-               <h3><?php echo _EBLOG_TEAM_TITLE?></h3>
-
-               <p>Members currently on your team:
-               <?php
-                       $res = sql_query('SELECT mname, mrealname FROM ' . sql_table('member') . ',' . sql_table('team') . ' WHERE mnumber=tmember AND tblog=' . intval($blogid));
-                       $aMemberNames = array();
-                       while ($o = mysql_fetch_object($res))
-                               array_push($aMemberNames, htmlspecialchars($o->mname) . ' (' . htmlspecialchars($o->mrealname). ')');
-                       echo implode(',', $aMemberNames);
-               ?>
-               </p>
-
-
-
-               <p>
-               <a href="index.php?action=manageteam&amp;blogid=<?php echo $blogid?>"><?php echo _EBLOG_TEAM_TEXT?></a>
-               </p>
-
-               <h3><?php echo _EBLOG_SETTINGS_TITLE?></h3>
-
-               <form method="post" action="index.php"><div>
-
-               <input type="hidden" name="action" value="blogsettingsupdate" />
-               <?php $manager->addTicketHidden() ?>
-               <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-               <table><tr>
-                       <td><?php echo _EBLOG_NAME?></td>
-                       <td><input name="name" tabindex="10" size="40" maxlength="60" value="<?php echo  htmlspecialchars($blog->getName()) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_SHORTNAME?> <?php help('shortblogname'); ?>
-                               <?php echo _EBLOG_SHORTNAME_EXTRA?>
-                       </td>
-                       <td><input name="shortname" tabindex="20" maxlength="15" size="15" value="<?php echo  htmlspecialchars($blog->getShortName()) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DESC?></td>
-                       <td><input name="desc" tabindex="30" maxlength="200" size="40" value="<?php echo  htmlspecialchars($blog->getDescription()) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_URL?></td>
-                       <td><input name="url" tabindex="40" size="40" maxlength="100" value="<?php echo  htmlspecialchars($blog->getURL()) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DEFSKIN?>
-                               <?php help('blogdefaultskin'); ?>
-                       </td>
-                       <td>
-                               <?php
-                                       $query =  'SELECT sdname as text, sdnumber as value'
-                                                  . ' FROM '.sql_table('skin_desc');
-                                       $template['name'] = 'defskin';
-                                       $template['selected'] = $blog->getDefaultSkin();
-                                       $template['tabindex'] = 50;
-                                       showlist($query,'select',$template);
-                               ?>
-
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_LINEBREAKS?> <?php help('convertbreaks'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('convertbreaks',$blog->convertBreaks(),55); ?></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_ALLOWPASTPOSTING?> <?php help('allowpastposting'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('allowpastposting',$blog->allowPastPosting(),57); ?></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DISABLECOMMENTS?>
-                       </td>
-                       <td><?php $this->input_yesno('comments',$blog->commentsEnabled(),60); ?></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_ANONYMOUS?>
-                       </td>
-                       <td><?php $this->input_yesno('public',$blog->isPublic(),70); ?></td>
-               </tr><tr>
-       <td><?php echo _EBLOG_REQUIREDEMAIL?>
-                </td>
-                <td><?php $this->input_yesno('reqemail',$blog->emailRequired(),72); ?></td>
-         </tr><tr>
-                       <td><?php echo _EBLOG_NOTIFY?> <?php help('blognotify'); ?></td>
-                       <td><input name="notify" tabindex="80" maxlength="60" size="40" value="<?php echo  htmlspecialchars($blog->getNotifyAddress()); ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_NOTIFY_ON?></td>
-                       <td>
-                               <input name="notifyComment" value="3" type="checkbox" tabindex="81" id="notifyComment"
-                                       <?php if  ($blog->notifyOnComment()) echo "checked='checked'" ?>
-                               /><label for="notifyComment"><?php echo _EBLOG_NOTIFY_COMMENT?></label>
-                               <br />
-                               <input name="notifyVote" value="5" type="checkbox" tabindex="82" id="notifyVote"
-                                       <?php if  ($blog->notifyOnVote()) echo "checked='checked'" ?>
-                               /><label for="notifyVote"><?php echo _EBLOG_NOTIFY_KARMA?></label>
-                               <br />
-                               <input name="notifyNewItem" value="7" type="checkbox" tabindex="83" id="notifyNewItem"
-                                       <?php if  ($blog->notifyOnNewItem()) echo "checked='checked'" ?>
-                               /><label for="notifyNewItem"><?php echo _EBLOG_NOTIFY_ITEM?></label>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_PING?> <?php help('pinguserland'); ?></td>
-                       <td><?php $this->input_yesno('pinguserland',$blog->pingUserland(),85); ?></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_MAXCOMMENTS?> <?php help('blogmaxcomments'); ?></td>
-                       <td><input name="maxcomments" tabindex="90" size="3" value="<?php echo  htmlspecialchars($blog->getMaxComments()); ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_UPDATE?> <?php help('blogupdatefile'); ?></td>
-                       <td><input name="update" tabindex="100" size="40" maxlength="60" value="<?php echo  htmlspecialchars($blog->getUpdateFile()) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DEFCAT?></td>
-                       <td>
-                               <?php
-                                       $query =  'SELECT cname as text, catid as value'
-                                                  . ' FROM '.sql_table('category')
-                                                  . ' WHERE cblog=' . $blog->getID();
-                                       $template['name'] = 'defcat';
-                                       $template['selected'] = $blog->getDefaultCategory();
-                                       $template['tabindex'] = 110;
-                                       showlist($query,'select',$template);
-                               ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_OFFSET?> <?php help('blogtimeoffset'); ?>
-                               <br /><?php echo _EBLOG_STIME?> <b><?php echo  strftime("%H:%M",time()); ?></b>
-                               <br /><?php echo _EBLOG_BTIME?> <b><?php echo  strftime("%H:%M",$blog->getCorrectTime()); ?></b>
-                               </td>
-                       <td><input name="timeoffset" tabindex="120" size="3" value="<?php echo  htmlspecialchars($blog->getTimeOffset()); ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_SEARCH?> <?php help('blogsearchable'); ?></td>
-                       <td><?php $this->input_yesno('searchable',$blog->getSearchable(),122); ?></td>
-               </tr>
-               <?php
-                       // plugin options
-                       $this->_insertPluginOptions('blog',$blogid);
-               ?>
-               <tr>
-                       <th colspan="2"><?php echo _EBLOG_CHANGE?></th>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CHANGE?></td>
-                       <td><input type="submit" tabindex="130" value="<?php echo _EBLOG_CHANGE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div></form>
-
-               <h3><?php echo _EBLOG_CAT_TITLE?></h3>
-
-
-               <?php
-               $query = 'SELECT * FROM '.sql_table('category').' WHERE cblog='.$blog->getID().' ORDER BY cname';
-               $template['content'] = 'categorylist';
-               $template['tabindex'] = 200;
-
-               $manager->loadClass("ENCAPSULATE");
-               $batch =& new BATCH('category');
-               $batch->showlist($query,'table',$template);
-
-               ?>
-
-
-               <form action="index.php" method="post"><div>
-               <input name="action" value="categorynew" type="hidden" />
-               <?php $manager->addTicketHidden() ?>
-               <input name="blogid" value="<?php echo $blog->getID()?>" type="hidden" />
-
-               <table><tr>
-                       <th colspan="2"><?php echo _EBLOG_CAT_CREATE?></th>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_NAME?></td>
-                       <td><input name="cname" size="40" maxlength="40" tabindex="300" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_DESC?></td>
-                       <td><input name="cdesc" size="40" maxlength="200" tabindex="310" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_CREATE?></td>
-                       <td><input type="submit" value="<?php echo _EBLOG_CAT_CREATE?>" tabindex="320" /></td>
-               </tr></table>
-
-               </div></form>
-
-               <?php
-
-                       echo '<h3>',_PLUGINS_EXTRA,'</h3>';
-
-                       $manager->notify(
-                               'BlogSettingsFormExtras',
-                               array(
-                                       'blog' => &$blog
-                               )
-                       );
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_categorynew() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $cname = postVar('cname');
-               $cdesc = postVar('cdesc');
-
-               if (!isValidCategoryName($cname))
-                       $this->error(_ERROR_BADCATEGORYNAME);
-
-               $query = 'SELECT * FROM '.sql_table('category') . ' WHERE cname=\'' . addslashes($cname).'\' and cblog=' . intval($blogid);
-               $res = sql_query($query);
-               if (mysql_num_rows($res) > 0)
-                       $this->error(_ERROR_DUPCATEGORYNAME);
-
-               $blog           =& $manager->getBlog($blogid);
-               $newCatID       =  $blog->createNewCategory($cname, $cdesc);
-
-               $this->action_blogsettings();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_categoryedit($catid = '', $blogid = '', $desturl = '') {
-               global $member, $manager;
-
-               if ($blogid == '')
-                       $blogid = intGetVar('blogid');
-               else
-                       $blogid = intval($blogid);
-               if ($catid == '')
-                       $catid = intGetVar('catid');
-               else
-                       $catid = intval($catid);
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $res = sql_query('SELECT * FROM '.sql_table('category')." WHERE cblog=$blogid AND catid=$catid");
-               $obj = mysql_fetch_object($res);
-
-               $cname = $obj->cname;
-               $cdesc = $obj->cdesc;
-
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';
-               $this->pagehead($extrahead);
-
-               echo "<p><a href='index.php?action=blogsettings&amp;blogid=$blogid'>(",_BACK_TO_BLOGSETTINGS,")</a></p>";
-
-               ?>
-               <h2><?php echo _EBLOG_CAT_UPDATE?> '<?php echo htmlspecialchars($cname)?>'</h2>
-               <form method='post' action='index.php'><div>
-               <input name="blogid" type="hidden" value="<?php echo $blogid?>" />
-               <input name="catid" type="hidden" value="<?php echo $catid?>" />
-               <input name="desturl" type="hidden" value="<?php echo htmlspecialchars($desturl) ?>" />
-               <input name="action" type="hidden" value="categoryupdate" />
-               <?php $manager->addTicketHidden(); ?>
-
-               <table><tr>
-                       <th colspan="2"><?php echo _EBLOG_CAT_UPDATE ?></th>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_NAME?></td>
-                       <td><input type="text" name="cname" value="<?php echo htmlspecialchars($cname)?>" size="40" maxlength="40" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_DESC?></td>
-                       <td><input type="text" name="cdesc" value="<?php echo htmlspecialchars($cdesc)?>" size="40" maxlength="200" /></td>
-               </tr>
-               <?php
-                       // insert plugin options
-                       $this->_insertPluginOptions('category',$catid);
-               ?>
-               <tr>
-                       <th colspan="2"><?php echo _EBLOG_CAT_UPDATE ?></th>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CAT_UPDATE?></td>
-                       <td><input type="submit" value="<?php echo _EBLOG_CAT_UPDATE_BTN?>" /></td>
-               </tr></table>
-
-               </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_categoryupdate() {
-               global $member, $manager;
-
-               $blogid = intPostVar('blogid');
-               $catid = intPostVar('catid');
-               $cname = postVar('cname');
-               $cdesc = postVar('cdesc');
-               $desturl = postVar('desturl');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               if (!isValidCategoryName($cname))
-                       $this->error(_ERROR_BADCATEGORYNAME);
-
-               $query = 'SELECT * FROM '.sql_table('category').' WHERE cname=\'' . addslashes($cname).'\' and cblog=' . intval($blogid) . " and not(catid=$catid)";
-               $res = sql_query($query);
-               if (mysql_num_rows($res) > 0)
-                       $this->error(_ERROR_DUPCATEGORYNAME);
-
-               $query =  'UPDATE '.sql_table('category').' SET'
-                          . " cname='" . addslashes($cname) . "',"
-                          . " cdesc='" . addslashes($cdesc) . "'"
-                          . " WHERE catid=" . $catid;
-
-               sql_query($query);
-
-               // store plugin options
-               $aOptions = requestArray('plugoption');
-               NucleusPlugin::_applyPluginOptions($aOptions);
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'category', 'catid' => $catid));
-
-
-               if ($desturl) {
-                       redirect($desturl);
-                       exit;
-               } else {
-                       $this->action_blogsettings();
-               }
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_categorydelete() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-               $catid = intRequestVar('catid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               // check if the category is valid
-               if (!$blog->isValidCategory($catid))
-                       $this->error(_ERROR_NOSUCHCATEGORY);
-
-               // don't allow deletion of default category
-               if ($blog->getDefaultCategory() == $catid)
-                       $this->error(_ERROR_DELETEDEFCATEGORY);
-
-               // check if catid is the only category left for blogid
-               $query = 'SELECT catid FROM '.sql_table('category').' WHERE cblog=' . $blogid;
-               $res = sql_query($query);
-               if (mysql_num_rows($res) == 1)
-                       $this->error(_ERROR_DELETELASTCATEGORY);
-
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <div>
-                       <?php echo _CONFIRMTXT_CATEGORY?><b><?php echo  htmlspecialchars($blog->getCategoryName($catid))?></b>
-                       </div>
-
-                       <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="categorydeleteconfirm" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="blogid" value="<?php echo $blogid?>" />
-                       <input type="hidden" name="catid" value="<?php echo $catid?>" />
-                       <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_categorydeleteconfirm() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-               $catid = intRequestVar('catid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $error = $this->deleteOneCategory($catid);
-               if ($error)
-                       $this->error($error);
-
-               $this->action_blogsettings();
-       }
-
-       /**
-        * @todo document this
-        */
-       function deleteOneCategory($catid) {
-               global $manager, $member;
-
-               $catid = intval($catid);
-
-               $manager->notify('PreDeleteCategory', array('catid' => $catid));
-
-               $blogid = getBlogIDFromCatID($catid);
-
-               if (!$member->blogAdminRights($blogid))
-                       return ERROR_DISALLOWED;
-
-               // get blog
-               $blog =& $manager->getBlog($blogid);
-
-               // check if the category is valid
-               if (!$blog || !$blog->isValidCategory($catid))
-                       return _ERROR_NOSUCHCATEGORY;
-
-               $destcatid = $blog->getDefaultCategory();
-
-               // don't allow deletion of default category
-               if ($blog->getDefaultCategory() == $catid)
-                       return _ERROR_DELETEDEFCATEGORY;
-
-               // check if catid is the only category left for blogid
-               $query = 'SELECT catid FROM '.sql_table('category').' WHERE cblog=' . $blogid;
-               $res = sql_query($query);
-               if (mysql_num_rows($res) == 1)
-                       return _ERROR_DELETELASTCATEGORY;
-
-               // change category for all items to the default category
-               $query = 'UPDATE '.sql_table('item')." SET icat=$destcatid WHERE icat=$catid";
-               sql_query($query);
-
-               // delete all associated plugin options
-               NucleusPlugin::_deleteOptionValues('category', $catid);
-
-               // delete category
-               $query = 'DELETE FROM '.sql_table('category').' WHERE catid=' .$catid;
-               sql_query($query);
-
-               $manager->notify('PostDeleteCategory', array('catid' => $catid));
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function moveOneCategory($catid, $destblogid) {
-               global $manager, $member;
-
-               $catid = intval($catid);
-               $destblogid = intval($destblogid);
-
-               $blogid = getBlogIDFromCatID($catid);
-
-               // mover should have admin rights on both blogs
-               if (!$member->blogAdminRights($blogid))
-                       return _ERROR_DISALLOWED;
-               if (!$member->blogAdminRights($destblogid))
-                       return _ERROR_DISALLOWED;
-
-               // cannot move to self
-               if ($blogid == $destblogid)
-                       return _ERROR_MOVETOSELF;
-
-               // get blogs
-               $blog =& $manager->getBlog($blogid);
-               $destblog =& $manager->getBlog($destblogid);
-
-               // check if the category is valid
-               if (!$blog || !$blog->isValidCategory($catid))
-                       return _ERROR_NOSUCHCATEGORY;
-
-               // don't allow default category to be moved
-               if ($blog->getDefaultCategory() == $catid)
-                       return _ERROR_MOVEDEFCATEGORY;
-
-               $manager->notify(
-                       'PreMoveCategory',
-                       array(
-                               'catid' => &$catid,
-                               'sourceblog' => &$blog,
-                               'destblog' => &$destblog
-                       )
-               );
-
-               // update comments table (cblog)
-               $query = 'SELECT inumber FROM '.sql_table('item').' WHERE icat='.$catid;
-               $items = sql_query($query);
-               while ($oItem = mysql_fetch_object($items)) {
-                       sql_query('UPDATE '.sql_table('comment').' SET cblog='.$destblogid.' WHERE citem='.$oItem->inumber);
-               }
-
-               // update items (iblog)
-               $query = 'UPDATE '.sql_table('item').' SET iblog='.$destblogid.' WHERE icat='.$catid;
-               sql_query($query);
-
-               // move category
-               $query = 'UPDATE '.sql_table('category').' SET cblog='.$destblogid.' WHERE catid='.$catid;
-               sql_query($query);
-
-               $manager->notify(
-                       'PostMoveCategory',
-                       array(
-                               'catid' => &$catid,
-                               'sourceblog' => &$blog,
-                               'destblog' => $destblog
-                       )
-               );
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_blogsettingsupdate() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $notify                 = trim(postVar('notify'));
-               $shortname              = trim(postVar('shortname'));
-               $updatefile             = trim(postVar('update'));
-
-               $notifyComment  = intPostVar('notifyComment');
-               $notifyVote             = intPostVar('notifyVote');
-               $notifyNewItem  = intPostVar('notifyNewItem');
-
-               if ($notifyComment == 0)        $notifyComment = 1;
-               if ($notifyVote == 0)           $notifyVote = 1;
-               if ($notifyNewItem == 0)        $notifyNewItem = 1;
-
-               $notifyType = $notifyComment * $notifyVote * $notifyNewItem;
-
-
-               if ($notify) {
-                       $not =& new NOTIFICATION($notify);
-                       if (!$not->validAddresses())
-                               $this->error(_ERROR_BADNOTIFY);
-
-               }
-
-               if (!isValidShortName($shortname))
-                       $this->error(_ERROR_BADSHORTBLOGNAME);
-
-               if (($blog->getShortName() != $shortname) && $manager->existsBlog($shortname))
-                       $this->error(_ERROR_DUPSHORTBLOGNAME);
-
-               // check if update file is writable
-               if ($updatefile && !is_writeable($updatefile))
-                       $this->error(_ERROR_UPDATEFILE);
-
-               $blog->setName(trim(postVar('name')));
-               $blog->setShortName($shortname);
-               $blog->setNotifyAddress($notify);
-               $blog->setNotifyType($notifyType);
-               $blog->setMaxComments(postVar('maxcomments'));
-               $blog->setCommentsEnabled(postVar('comments'));
-               $blog->setTimeOffset(postVar('timeoffset'));
-               $blog->setUpdateFile($updatefile);
-               $blog->setURL(trim(postVar('url')));
-               $blog->setDefaultSkin(intPostVar('defskin'));
-               $blog->setDescription(trim(postVar('desc')));
-               $blog->setPublic(postVar('public'));
-               $blog->setPingUserland(postVar('pinguserland'));
-               $blog->setConvertBreaks(intPostVar('convertbreaks'));
-               $blog->setAllowPastPosting(intPostVar('allowpastposting'));
-               $blog->setDefaultCategory(intPostVar('defcat'));
-               $blog->setSearchable(intPostVar('searchable'));
-               $blog->setEmailRequired(intPostVar('reqemail'));
-
-               $blog->writeSettings();
-
-               // store plugin options
-               $aOptions = requestArray('plugoption');
-               NucleusPlugin::_applyPluginOptions($aOptions);
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'blog', 'blogid' => $blogid, 'blog' => &$blog));
-
-
-               $this->action_overview(_MSG_SETTINGSCHANGED);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_deleteblog() {
-               global $member, $CONF, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               // check if blog is default blog
-               if ($CONF['DefaultBlog'] == $blogid)
-                       $this->error(_ERROR_DELDEFBLOG);
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _WARNINGTXT_BLOGDEL?>
-                       </p>
-
-                       <div>
-                       <?php echo _CONFIRMTXT_BLOG?><b><?php echo  htmlspecialchars($blog->getName())?></b>
-                       </div>
-
-                       <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="deleteblogconfirm" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-                       <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_deleteblogconfirm() {
-               global $member, $CONF, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $manager->notify('PreDeleteBlog', array('blogid' => $blogid));
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               // check if blog is default blog
-               if ($CONF['DefaultBlog'] == $blogid)
-                       $this->error(_ERROR_DELDEFBLOG);
-
-               // delete all comments
-               $query = 'DELETE FROM '.sql_table('comment').' WHERE cblog='.$blogid;
-               sql_query($query);
-
-               // delete all items
-               $query = 'DELETE FROM '.sql_table('item').' WHERE iblog='.$blogid;
-               sql_query($query);
-
-               // delete all team members
-               $query = 'DELETE FROM '.sql_table('team').' WHERE tblog='.$blogid;
-               sql_query($query);
-
-               // delete all bans
-               $query = 'DELETE FROM '.sql_table('ban').' WHERE blogid='.$blogid;
-               sql_query($query);
-
-               // delete all categories
-               $query = 'DELETE FROM '.sql_table('category').' WHERE cblog='.$blogid;
-               sql_query($query);
-
-               // delete all associated plugin options
-               NucleusPlugin::_deleteOptionValues('blog', $blogid);
-
-               // delete the blog itself
-               $query = 'DELETE FROM '.sql_table('blog').' WHERE bnumber='.$blogid;
-               sql_query($query);
-
-               $manager->notify('PostDeleteBlog', array('blogid' => $blogid));
-
-               $this->action_overview(_DELETED_BLOG);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_memberdelete() {
-               global $member, $manager;
-
-               $memberid = intRequestVar('memberid');
-
-               ($member->getID() == $memberid) or $member->isAdmin() or $this->disallow();
-
-               $mem = MEMBER::createFromID($memberid);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _CONFIRMTXT_MEMBER?><b><?php echo htmlspecialchars($mem->getDisplayName()) ?></b>
-                       </p>
-
-                       <p>
-                       Please note that media files will <b>NOT</b> be deleted. (At least not in this Nucleus version)
-                       </p>
-
-                       <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="memberdeleteconfirm" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="memberid" value="<?php echo  $memberid; ?>" />
-                       <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_memberdeleteconfirm() {
-               global $member;
-
-               $memberid = intRequestVar('memberid');
-
-               ($member->getID() == $memberid) or $member->isAdmin() or $this->disallow();
-
-               $error = $this->deleteOneMember($memberid);
-               if ($error)
-                       $this->error($error);
-
-               if ($member->isAdmin())
-                       $this->action_usermanagement();
-               else
-                       $this->action_overview(_DELETED_MEMBER);
-       }
-
-       /**
-        * @static
-        * @todo document this
-        */
-       function deleteOneMember($memberid) {
-               global $manager;
-
-               $memberid = intval($memberid);
-               $mem = MEMBER::createFromID($memberid);
-
-               if (!$mem->canBeDeleted())
-                       return _ERROR_DELETEMEMBER;
-
-               $manager->notify('PreDeleteMember', array('member' => &$mem));
-
-               /* unlink comments from memberid */
-               $query = 'UPDATE ' . sql_table('comment') . ' SET cmember="0", cuser="'. addslashes($mem->getDisplayName())
-                                       .'" WHERE cmember='.$memberid;
-               sql_query($query);
-
-               $query = 'DELETE FROM '.sql_table('member').' WHERE mnumber='.$memberid;
-               sql_query($query);
-
-               $query = 'DELETE FROM '.sql_table('team').' WHERE tmember='.$memberid;
-               sql_query($query);
-
-               $query = 'DELETE FROM '.sql_table('activation').' WHERE vmember='.$memberid;
-               sql_query($query);
-
-               // delete all associated plugin options
-               NucleusPlugin::_deleteOptionValues('member', $memberid);
-
-               $manager->notify('PostDeleteMember', array('member' => &$mem));
-
-               return '';
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_createnewlog() {
-               global $member, $CONF, $manager;
-
-               // Only Super-Admins can do this
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-               ?>
-               <h2><?php echo _EBLOG_CREATE_TITLE?></h2>
-
-               <h3>Ãí°Õ»ö¹à</h3>
-
-               <p>ºîÀ®¤Ë¤¢¤¿¤Ã¤Æ¡¢²¼µ­¤Î<strong>Ãí°Õ»ö¹à</strong> ¤ò¤Þ¤º¤ªÆɤ߲¼¤µ¤¤</p>
-
-               <p>¿·¤·¤¤weblog¤òºîÀ®¤·¤¿¸å¤Ë¡¢¤³¤Îblog¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ÎÊýË¡¤ò¾Ò²ð¤·¤Æ¤ª¤­¤Þ¤¹¡£ÊýË¡¤Ï2¤Ä¤¢¤ê¤Þ¤¹:</p>
-
-               <ol>
-                       <li><strong>´Êñ¤ÊÊýË¡:</strong> <code>index.php</code>¤ÎÊ£À½¤òºî¤ê¡¢¿·¤·¤¤blog¤òɽ¼¨¤¹¤ë¤è¤¦¤ËÊѹ¹¤ò²Ã¤¨¤Þ¤¹¡£ ¤³¤ÎÊѹ¹¤Î¾ÜºÙ¤Ï¡¢ºîÀ®¸å¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
-                       <li><strong>¹âÅÙ¤ÊÊýË¡:</strong> ¸½ºß¤Îblog¤Ç»ÈÍѤ·¤Æ¤¤¤ë¥¹¥­¥ó¤Ë<code>otherblog</code>¤È¤¤¤¦¥³¡¼¥É¤ò»È¤Ã¤¿µ­½Ò¤ò²Ã¤¨¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ç¤Ï¡¢Æ±¤¸¥Ú¡¼¥¸Æâ¤ÇÊ£¿ô¤Îblog¤òŸ³«¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£</li>
-               </ol>
-
-               <h3>Weblog¤ÎºîÀ®</h3>
-
-               <p>
-               <?php echo _EBLOG_CREATE_TEXT?>
-               </p>
-
-               <form method="post" action="index.php"><div>
-
-               <input type="hidden" name="action" value="addnewlog" />
-               <?php $manager->addTicketHidden() ?>
-
-
-               <table><tr>
-                       <td><?php echo _EBLOG_NAME?></td>
-                       <td><input name="name" tabindex="10" size="40" maxlength="60" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_SHORTNAME?>
-                               <?php help('shortblogname'); ?>
-                       </td>
-                       <td><input name="shortname" tabindex="20" maxlength="15" size="15" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DESC?></td>
-                       <td><input name="desc" tabindex="30" maxlength="200" size="40" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_DEFSKIN?>
-                               <?php help('blogdefaultskin'); ?>
-                       </td>
-                       <td>
-                               <?php
-                                       $query =  'SELECT sdname as text, sdnumber as value'
-                                                  . ' FROM '.sql_table('skin_desc');
-                                       $template['name'] = 'defskin';
-                                       $template['tabindex'] = 50;
-                                       $template['selected'] = $CONF['BaseSkin'];      // set default selected skin to be globally defined base skin
-                                       showlist($query,'select',$template);
-                               ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_OFFSET?>
-                               <?php help('blogtimeoffset'); ?>
-                               <br /><?php echo _EBLOG_STIME?> <b><?php echo  strftime("%H:%M",time()); ?></b>
-                       </td>
-                       <td><input name="timeoffset" tabindex="110" size="3" value="0" /></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_ADMIN?>
-                               <?php help('teamadmin'); ?>
-                       </td>
-                       <td><?php echo _EBLOG_ADMIN_MSG?></td>
-               </tr><tr>
-                       <td><?php echo _EBLOG_CREATE?></td>
-                       <td><input type="submit" tabindex="120" value="<?php echo _EBLOG_CREATE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_addnewlog() {
-               global $member, $manager, $CONF;
-
-               // Only Super-Admins can do this
-               $member->isAdmin() or $this->disallow();
-
-               $bname                  = trim(postVar('name'));
-               $bshortname             = trim(postVar('shortname'));
-               $btimeoffset    = postVar('timeoffset');
-               $bdesc                  = trim(postVar('desc'));
-               $bdefskin               = postVar('defskin');
-
-               if (!isValidShortName($bshortname))
-                       $this->error(_ERROR_BADSHORTBLOGNAME);
-
-               if ($manager->existsBlog($bshortname))
-                       $this->error(_ERROR_DUPSHORTBLOGNAME);
-
-               $manager->notify(
-                       'PreAddBlog',
-                       array(
-                               'name' => &$bname,
-                               'shortname' => &$bshortname,
-                               'timeoffset' => &$btimeoffset,
-                               'description' => &$bdescription,
-                               'defaultskin' => &$bdefskin
-                       )
-               );
-
-
-               // add slashes for sql queries
-               $bname =                addslashes($bname);
-               $bshortname =   addslashes($bshortname);
-               $btimeoffset =  addslashes($btimeoffset);
-               $bdesc =                addslashes($bdesc);
-               $bdefskin =     addslashes($bdefskin);
-
-               // create blog
-               $query = 'INSERT INTO '.sql_table('blog')." (bname, bshortname, bdesc, btimeoffset, bdefskin) VALUES ('$bname', '$bshortname', '$bdesc', '$btimeoffset', '$bdefskin')";
-               sql_query($query);
-               $blogid = mysql_insert_id();
-               $blog   =& $manager->getBlog($blogid);
-
-               // create new category
-               sql_query('INSERT INTO '.sql_table('category')." (cblog, cname, cdesc) VALUES ($blogid, 'General','Items that do not fit in other categories')");
-               $catid = mysql_insert_id();
-
-               // set as default category
-               $blog->setDefaultCategory($catid);
-               $blog->writeSettings();
-
-               // create team member
-               $memberid = $member->getID();
-               $query = 'INSERT INTO '.sql_table('team')." (tmember, tblog, tadmin) VALUES ($memberid, $blogid, 1)";
-               sql_query($query);
-
-
-               $blog->additem($blog->getDefaultCategory(),'First Item','¤³¤ì¤Ï¤¢¤Ê¤¿¤Îweblog¤Ë¤ª¤±¤ëºÇ½é¤Î¥¢¥¤¥Æ¥à¤Ç¤¹¡£¼«Í³¤Ëºï½ü¤·¤Æ¤¤¤¿¤À¤¤¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£','',$blogid, $memberid,$blog->getCorrectTime(),0,0,0);
-
-               $manager->notify(
-                       'PostAddBlog',
-                       array(
-                               'blog' => &$blog
-                       )
-               );
-
-               $manager->notify(
-                       'PostAddCategory',
-                       array(
-                               'blog' => &$blog,
-                               'name' => 'General',
-                               'description' => 'Items that do not fit in other categories',
-                               'catid' => $catid
-                       )
-               );
-
-               $this->pagehead();
-               ?>
-               <h2>¿·¤·¤¤weblog¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿</h2>
-
-               <p>¿·¤·¤¤weblog ¡Ö<?php echo htmlspecialchars($bname)?>¡×¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£Â³¤±¤Æ¡¢¤³¤ì¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¤É¤Á¤é¤«¤Î¼ê½ç¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</p>
-
-               <ol>
-                       <li><a href="#index_php">´Êñ¤ÊÊýË¡: ²¼¤Î¥³¡¼¥É¤òŽÉÕ¤±¤¿ <code><?php echo htmlspecialchars($bshortname)?>.php</code> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë</a></li>
-                       <li><a href="#skins">¹âÅÙ¤ÊÊýË¡: ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥¹¥­¥ó¤Ë¿·¤·¤¤weblog¤òŸ³«¤µ¤»¤ë¤¿¤á¤Îµ­½Ò¤ò²Ã¤¨¤ë</a></li>
-               </ol>
-
-               <h3><a id="index_php">ÊýË¡ 1: <code><?php echo htmlspecialchars($bshortname)?>.php</code> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®</a></h3>
-
-               <p><code><?php echo htmlspecialchars($bshortname)?>.php</code> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¡¢Ãæ¿È¤Ë°Ê²¼¤Î¥³¡¼¥É¤òŽ¤êÉÕ¤±¤ë:</p>
-<pre><code>&lt;?php
-
-$CONF['Self'] = '<b><?php echo htmlspecialchars($bshortname)?>.php</b>';
-
-include('<i>./config.php</i>');
-
-selectBlog('<b><?php echo htmlspecialchars($bshortname)?></b>');
-selector();
-
-?&gt;</code></pre>
-
-               <p>¤¹¤Ç¤Ë¤¢¤ë<code>index.php</code>¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥Ã¥×¥í¡¼¥É¤·¤Þ¤¹¡£</p>
-
-               <p>¿·¤·¤¤weblog¤ÎºîÀ®¤ò´°Î»¤¹¤ë¤¿¤á¤Ë¤Ï¡¢²¼¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤ÎURL¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ (¤¹¤Ç¤ËÍÑ°Õ¤·¤¿Ãͤǹç¤Ã¤Æ¤¤¤ë¤È¤Ï»×¤¤¤Þ¤¹¤¬ÊݾڤϤ·¤Þ¤»¤ó):</p>
-
-               <form action="index.php" method="post"><div>
-                       <input type="hidden" name="action" value="addnewlog2" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="blogid" value="<?php echo intval($blogid)?>" />
-                       <table><tr>
-                               <td><?php echo _EBLOG_URL?></td>
-                               <td><input name="url" maxlength="100" size="40" value="<?php echo htmlspecialchars($CONF['IndexURL'].$bshortname.'.php')?>" /></td>
-                       </tr><tr>
-                               <td><?php echo _EBLOG_CREATE?></td>
-                               <td><input type="submit" value="<?php echo _EBLOG_CREATE_BTN?>" onclick="return checkSubmit();" /></td>
-                       </tr></table>
-               </div></form>
-
-               <h3><a id="skins">ÊýË¡ 2: ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥¹¥­¥ó¤Ë¿·¤·¤¤weblog¤òŸ³«¤¹¤ëµ­½Ò¤ò²Ã¤¨¤ë</a></h3>
-
-               <p>¿·¤·¤¤weblog¤ÎºîÀ®¤ò´°Î»¤¹¤ë¤¿¤á¤Ë¤Ï¡¢²¼¤ËURL¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ (ÂçÄñ¤Ï´û¸blog¤ÈƱ¤¸URL)</p>
-
-               <form action="index.php" method="post"><div>
-                       <input type="hidden" name="action" value="addnewlog2" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="blogid" value="<?php echo intval($blogid)?>" />
-                       <table><tr>
-                               <td><?php echo _EBLOG_URL?></td>
-                               <td><input name="url" maxlength="100" size="40" /></td>
-                       </tr><tr>
-                               <td><?php echo _EBLOG_CREATE?></td>
-                               <td><input type="submit" value="<?php echo _EBLOG_CREATE_BTN?>" onclick="return checkSubmit();" /></td>
-                       </tr></table>
-               </div></form>
-
-               <?php           $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_addnewlog2() {
-               global $member, $manager;
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $burl   = requestVar('url');
-               $blogid = intRequestVar('blogid');
-
-               $blog =& $manager->getBlog($blogid);
-               $blog->setURL(trim($burl));
-               $blog->writeSettings();
-
-               $this->action_overview(_MSG_NEWBLOG);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinieoverview() {
-               global $member, $DIR_LIBS, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               // load skinie class
-               include_once($DIR_LIBS . 'skinie.php');
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-       ?>
-               <h2><?php echo _SKINIE_TITLE_IMPORT?></h2>
-
-                               <p><label for="skinie_import_local"><?php echo _SKINIE_LOCAL?></label>
-                               <?php                                   global $DIR_SKINS;
-
-                                       $candidates = SKINIMPORT::searchForCandidates($DIR_SKINS);
-
-                                       if (sizeof($candidates) > 0) {
-                                               ?>
-                                                       <form method="post" action="index.php"><div>
-                                                               <input type="hidden" name="action" value="skinieimport" />
-                                                               <?php $manager->addTicketHidden() ?>
-                                                               <input type="hidden" name="mode" value="file" />
-                                                               <select name="skinfile" id="skinie_import_local">
-                                                               <?php                                                                   foreach ($candidates as $skinname => $skinfile) {
-                                                                               $html = htmlspecialchars($skinfile);
-                                                                               echo '<option value="',$html,'">',$skinname,'</option>';
-                                                                       }
-                                                               ?>
-                                                               </select>
-                                                               <input type="submit" value="<?php echo _SKINIE_BTN_IMPORT?>" />
-                                                       </div></form>
-                                               <?php                                   } else {
-                                               echo _SKINIE_NOCANDIDATES;
-                                       }
-                               ?>
-                               </p>
-
-                               <p><em><?php echo _OR?></em></p>
-
-                               <form method="post" action="index.php"><p>
-                                       <?php $manager->addTicketHidden() ?>
-                                       <input type="hidden" name="action" value="skinieimport" />
-                                       <input type="hidden" name="mode" value="url" />
-                                       <label for="skinie_import_url"><?php echo _SKINIE_FROMURL?></label>
-                                       <input type="text" name="skinfile" id="skinie_import_url" size="60" value="http://" />
-                                       <input type="submit" value="<?php echo _SKINIE_BTN_IMPORT?>" />
-                               </p></form>
-
-
-               <h2><?php echo _SKINIE_TITLE_EXPORT?></h2>
-               <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="skinieexport" />
-                       <?php $manager->addTicketHidden() ?>
-
-                       <p><?php echo _SKINIE_EXPORT_INTRO?></p>
-
-                       <table><tr>
-                               <th colspan="2"><?php echo _SKINIE_EXPORT_SKINS?></th>
-                       </tr><tr>
-       <?php           // show list of skins
-               $res = sql_query('SELECT * FROM '.sql_table('skin_desc'));
-               while ($skinObj = mysql_fetch_object($res)) {
-                       $id = 'skinexp' . $skinObj->sdnumber;
-                       echo '<td><input type="checkbox" name="skin[',$skinObj->sdnumber,']"  id="',$id,'" />';
-                       echo '<label for="',$id,'">',htmlspecialchars($skinObj->sdname),'</label></td>';
-                       echo '<td>',htmlspecialchars($skinObj->sddesc),'</td>';
-                       echo '</tr><tr>';
-               }
-
-               echo '<th colspan="2">',_SKINIE_EXPORT_TEMPLATES,'</th></tr><tr>';
-
-               // show list of templates
-               $res = sql_query('SELECT * FROM '.sql_table('template_desc'));
-               while ($templateObj = mysql_fetch_object($res)) {
-                       $id = 'templateexp' . $templateObj->tdnumber;
-                       echo '<td><input type="checkbox" name="template[',$templateObj->tdnumber,']" id="',$id,'" />';
-                       echo '<label for="',$id,'">',htmlspecialchars($templateObj->tdname),'</label></td>';
-                       echo '<td>',htmlspecialchars($templateObj->tddesc),'</td>';
-                       echo '</tr><tr>';
-               }
-
-       ?>
-                               <th colspan="2"><?php echo _SKINIE_EXPORT_EXTRA?></th>
-                       </tr><tr>
-                               <td colspan="2"><textarea cols="40" rows="5" name="info"></textarea></td>
-                       </tr><tr>
-                               <th colspan="2"><?php echo _SKINIE_TITLE_EXPORT?></th>
-                       </tr><tr>
-                               <td colspan="2"><input type="submit" value="<?php echo _SKINIE_BTN_EXPORT?>" /></td>
-                       </tr></table>
-               </div></form>
-
-       <?php
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinieimport() {
-               global $member, $DIR_LIBS, $DIR_SKINS, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               // load skinie class
-               include_once($DIR_LIBS . 'skinie.php');
-
-               $skinFileRaw= postVar('skinfile');
-               $mode           = postVar('mode');
-
-               $importer =& new SKINIMPORT();
-
-               // get full filename
-               if ($mode == 'file')
-               {
-                       $skinFile = $DIR_SKINS . $skinFileRaw . '/skinbackup.xml';
-
-                       // backwards compatibilty (in v2.0, exports were saved as skindata.xml)
-                       if (!file_exists($skinFile))
-                               $skinFile = $DIR_SKINS . $skinFileRaw . '/skindata.xml';
-               } else {
-                       $skinFile = $skinFileRaw;
-               }
-
-               // read only metadata
-               $error = $importer->readFile($skinFile, 1);
-
-               // clashes
-               $skinNameClashes = $importer->checkSkinNameClashes();
-               $templateNameClashes = $importer->checkTemplateNameClashes();
-               $hasNameClashes = (count($skinNameClashes) > 0) || (count($templateNameClashes) > 0);
-
-               if ($error) $this->error($error);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=skinieoverview">(',_BACK,')</a></p>';
-               ?>
-               <h2><?php echo _SKINIE_CONFIRM_TITLE?></h2>
-
-               <ul>
-                       <li><p><strong><?php echo _SKINIE_INFO_GENERAL?></strong> <?php echo htmlspecialchars($importer->getInfo())?></p></li>
-                       <li><p><strong><?php echo _SKINIE_INFO_SKINS?></strong> <?php echo implode(' <em>'._AND.'</em> ',$importer->getSkinNames())?></p></li>
-                       <li><p><strong><?php echo _SKINIE_INFO_TEMPLATES?></strong> <?php echo implode(' <em>'._AND.'</em> ',$importer->getTemplateNames())?></p></li>
-                       <?php
-                               if ($hasNameClashes)
-                               {
-                       ?>
-                       <li><p><strong style="color: red;"><?php echo _SKINIE_INFO_SKINCLASH?></strong> <?php echo implode(' <em>'._AND.'</em> ',$skinNameClashes)?></p></li>
-                       <li><p><strong style="color: red;"><?php echo _SKINIE_INFO_TEMPLCLASH?></strong> <?php echo implode(' <em>'._AND.'</em> ',$templateNameClashes)?></p></li>
-                       <?php
-                               } // if (hasNameClashes)
-                       ?>
-               </ul>
-
-               <form method="post" action="index.php"><div>
-                       <input type="hidden" name="action" value="skiniedoimport" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="skinfile" value="<?php echo htmlspecialchars(postVar('skinfile'))?>" />
-                       <input type="hidden" name="mode" value="<?php echo htmlspecialchars($mode)?>" />
-                       <input type="submit" value="<?php echo _SKINIE_CONFIRM_IMPORT?>" />
-                       <?php
-                               if ($hasNameClashes)
-                               {
-                       ?>
-                       <br />
-                       <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><?php echo _SKINIE_CONFIRM_OVERWRITE?></label>
-                       <?php
-                               } // if (hasNameClashes)
-                       ?>
-               </div></form>
-
-
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skiniedoimport() {
-               global $member, $DIR_LIBS, $DIR_SKINS;
-
-               $member->isAdmin() or $this->disallow();
-
-               // load skinie class
-               include_once($DIR_LIBS . 'skinie.php');
-
-               $skinFileRaw= postVar('skinfile');
-               $mode           = postVar('mode');
-
-               $allowOverwrite = intPostVar('overwrite');
-
-               // get full filename
-               if ($mode == 'file')
-               {
-                       $skinFile = $DIR_SKINS . $skinFileRaw . '/skinbackup.xml';
-
-                       // backwards compatibilty (in v2.0, exports were saved as skindata.xml)
-                       if (!file_exists($skinFile))
-                               $skinFile = $DIR_SKINS . $skinFileRaw . '/skindata.xml';
-
-               } else {
-                       $skinFile = $skinFileRaw;
-               }
-
-               $importer =& new SKINIMPORT();
-
-               $error = $importer->readFile($skinFile);
-
-               if ($error)
-                       $this->error($error);
-
-               $error = $importer->writeToDatabase($allowOverwrite);
-
-               if ($error)
-                       $this->error($error);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-       ?>
-               <h2><?php echo _SKINIE_DONE?></h2>
-
-               <ul>
-                       <li><p><strong><?php echo _SKINIE_INFO_GENERAL?></strong> <?php echo htmlspecialchars($importer->getInfo())?></p></li>
-                       <li><p><strong><?php echo _SKINIE_INFO_IMPORTEDSKINS?></strong> <?php echo implode(' <em>'._AND.'</em> ',$importer->getSkinNames())?></p></li>
-                       <li><p><strong><?php echo _SKINIE_INFO_IMPORTEDTEMPLS?></strong> <?php echo implode(' <em>'._AND.'</em> ',$importer->getTemplateNames())?></p></li>
-               </ul>
-
-       <?php           $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinieexport() {
-               global $member, $DIR_LIBS;
-
-               $member->isAdmin() or $this->disallow();
-
-               // load skinie class
-               include_once($DIR_LIBS . 'skinie.php');
-
-               $aSkins = requestIntArray('skin');
-               $aTemplates = requestIntArray('template');
-
-               if (!is_array($aTemplates)) $aTemplates = array();
-               if (!is_array($aSkins)) $aSkins = array();
-
-               $skinList = array_keys($aSkins);
-               $templateList = array_keys($aTemplates);
-
-               $info = postVar('info');
-
-               $exporter =& new SKINEXPORT();
-               foreach ($skinList as $skinId) {
-                       $exporter->addSkin($skinId);
-               }
-               foreach ($templateList as $templateId) {
-                       $exporter->addTemplate($templateId);
-               }
-               $exporter->setInfo($info);
-
-               $exporter->export();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templateoverview() {
-               global $member, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-               echo '<h2>' . _TEMPLATE_TITLE . '</h2>';
-               echo '<h3>' . _TEMPLATE_AVAILABLE_TITLE . '</h3>';
-
-               $query = 'SELECT * FROM '.sql_table('template_desc').' ORDER BY tdname';
-               $template['content'] = 'templatelist';
-               $template['tabindex'] = 10;
-               showlist($query,'table',$template);
-
-               echo '<h3>' . _TEMPLATE_NEW_TITLE . '</h3>';
-
-               ?>
-               <form method="post" action="index.php"><div>
-
-               <input name="action" value="templatenew" type="hidden" />
-               <?php $manager->addTicketHidden() ?>
-               <table><tr>
-                       <td><?php echo _TEMPLATE_NAME?> <?php help('shortnames');?></td>
-                       <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_DESC?></td>
-                       <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_CREATE?></td>
-                       <td><input type="submit" tabindex="10030" value="<?php echo _TEMPLATE_CREATE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div></form>
-
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templateedit($msg = '') {
-               global $member, $manager;
-
-               $templateid = intRequestVar('templateid');
-
-               $member->isAdmin() or $this->disallow();
-
-               $extrahead = '<script type="text/javascript" src="javascript/templateEdit.js"></script>';
-               $extrahead .= '<script type="text/javascript">setTemplateEditText("'.addslashes(_EDITTEMPLATE_EMPTY).'");</script>';
-
-               $this->pagehead($extrahead);
-
-               $templatename = TEMPLATE::getNameFromId($templateid);
-               $templatedescription = TEMPLATE::getDesc($templateid);
-               $template =& $manager->getTemplate($templatename);
-
-               ?>
-               <p>
-               <a href="index.php?action=templateoverview">(<?php echo _TEMPLATE_BACK?>)</a>
-               </p>
-
-               <h2><?php echo _TEMPLATE_EDIT_TITLE?> '<?php echo  htmlspecialchars($templatename); ?>'</h2>
-
-               <?php                                   if ($msg) echo "<p>"._MESSAGE.": $msg</p>";
-               ?>
-
-               <p><?php echo _TEMPLATE_EDIT_MSG?></p>
-
-               <form method="post" action="index.php">
-               <div>
-
-               <input type="hidden" name="action" value="templateupdate" />
-               <?php $manager->addTicketHidden() ?>
-               <input type="hidden" name="templateid" value="<?php echo  $templateid; ?>" />
-
-               <table><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_SETTINGS?></th>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_NAME?> <?php help('shortnames');?></td>
-                       <td><input name="tname" tabindex="4" size="20" maxlength="20" value="<?php echo  htmlspecialchars($templatename) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_DESC?></td>
-                       <td><input name="tdesc" tabindex="5" size="50" maxlength="200" value="<?php echo  htmlspecialchars($templatedescription) ?>" /></td>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_UPDATE?></th>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_UPDATE?></td>
-                       <td>
-                               <input type="submit" tabindex="6" value="<?php echo _TEMPLATE_UPDATE_BTN?>" onclick="return checkSubmit();" />
-                               <input type="reset" tabindex="7" value="<?php echo _TEMPLATE_RESET_BTN?>" />
-                       </td>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_ITEMS?> <?php help('templateitems'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_ITEMHEADER, 'ITEM_HEADER', '', 8);
-       $this->_templateEditRow($template, _TEMPLATE_ITEMBODY, 'ITEM', '', 9, 1);
-       $this->_templateEditRow($template, _TEMPLATE_ITEMFOOTER, 'ITEM_FOOTER', '', 10);
-       $this->_templateEditRow($template, _TEMPLATE_MORELINK, 'MORELINK', 'morelink', 20);
-       $this->_templateEditRow($template, _TEMPLATE_EDITLINK, 'EDITLINK', 'editlink', 25);
-       $this->_templateEditRow($template, _TEMPLATE_NEW, 'NEW', 'new', 30);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_COMMENTS_ANY?> <?php help('templatecomments'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_CHEADER, 'COMMENTS_HEADER', 'commentheaders', 40);
-       $this->_templateEditRow($template, _TEMPLATE_CBODY, 'COMMENTS_BODY', 'commentbody', 50, 1);
-       $this->_templateEditRow($template, _TEMPLATE_CFOOTER, 'COMMENTS_FOOTER', 'commentheaders', 60);
-       $this->_templateEditRow($template, _TEMPLATE_CONE, 'COMMENTS_ONE', 'commentwords', 70);
-       $this->_templateEditRow($template, _TEMPLATE_CMANY, 'COMMENTS_MANY', 'commentwords', 80);
-       $this->_templateEditRow($template, _TEMPLATE_CMORE, 'COMMENTS_CONTINUED', 'commentcontinued', 90);
-       $this->_templateEditRow($template, _TEMPLATE_CMEXTRA, 'COMMENTS_AUTH', 'memberextra', 100);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_COMMENTS_NONE?> <?php help('templatecomments'); ?></th>
-<?php
-       $this->_templateEditRow($template, _TEMPLATE_CNONE, 'COMMENTS_NONE', '', 110);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_COMMENTS_TOOMUCH?> <?php help('templatecomments'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_CTOOMUCH, 'COMMENTS_TOOMUCH', '', 120);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_ARCHIVELIST?> <?php help('templatearchivelists'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_AHEADER, 'ARCHIVELIST_HEADER', '', 130);
-       $this->_templateEditRow($template, _TEMPLATE_AITEM, 'ARCHIVELIST_LISTITEM', '', 140);
-       $this->_templateEditRow($template, _TEMPLATE_AFOOTER, 'ARCHIVELIST_FOOTER', '', 150);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_BLOGLIST?> <?php help('templatebloglists'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_BLOGHEADER, 'BLOGLIST_HEADER', '', 160);
-       $this->_templateEditRow($template, _TEMPLATE_BLOGITEM, 'BLOGLIST_LISTITEM', '', 170);
-       $this->_templateEditRow($template, _TEMPLATE_BLOGFOOTER, 'BLOGLIST_FOOTER', '', 180);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_CATEGORYLIST?> <?php help('templatecategorylists'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_CATHEADER, 'CATLIST_HEADER', '', 160);
-       $this->_templateEditRow($template, _TEMPLATE_CATITEM, 'CATLIST_LISTITEM', '', 170);
-       $this->_templateEditRow($template, _TEMPLATE_CATFOOTER, 'CATLIST_FOOTER', '', 180);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_DATETIME?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_DHEADER, 'DATE_HEADER', 'dateheads', 190);
-       $this->_templateEditRow($template, _TEMPLATE_DFOOTER, 'DATE_FOOTER', 'dateheads', 200);
-       $this->_templateEditRow($template, _TEMPLATE_DFORMAT, 'FORMAT_DATE', 'datetime', 210);
-       $this->_templateEditRow($template, _TEMPLATE_TFORMAT, 'FORMAT_TIME', 'datetime', 220);
-       $this->_templateEditRow($template, _TEMPLATE_LOCALE, 'LOCALE', 'locale', 230);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_IMAGE?> <?php help('templatepopups'); ?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_PCODE, 'POPUP_CODE', '', 240);
-       $this->_templateEditRow($template, _TEMPLATE_ICODE, 'IMAGE_CODE', '', 250);
-       $this->_templateEditRow($template, _TEMPLATE_MCODE, 'MEDIA_CODE', '', 260);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_SEARCH?></th>
-<?php  $this->_templateEditRow($template, _TEMPLATE_SHIGHLIGHT, 'SEARCH_HIGHLIGHT', 'highlight',270);
-       $this->_templateEditRow($template, _TEMPLATE_SNOTFOUND, 'SEARCH_NOTHINGFOUND', 'nothingfound',280);
-?>
-               </tr><tr>
-                       <th colspan="2"><?php echo _TEMPLATE_UPDATE?></th>
-               </tr><tr>
-                       <td><?php echo _TEMPLATE_UPDATE?></td>
-                       <td>
-                               <input type="submit" tabindex="290" value="<?php echo _TEMPLATE_UPDATE_BTN?>" onclick="return checkSubmit();" />
-                               <input type="reset" tabindex="300" value="<?php echo _TEMPLATE_RESET_BTN?>" />
-                       </td>
-               </tr></table>
-
-               </div>
-               </form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function _templateEditRow(&$template, $description, $name, $help = '', $tabindex = 0, $big = 0) {
-               static $count = 1;
-       ?>
-               </tr><tr>
-                       <td><?php echo $description?> <?php if ($help) help('template'.$help); ?></td>
-                       <td id="td<?php echo $count?>"><textarea class="templateedit" name="<?php echo $name?>" tabindex="<?php echo $tabindex?>" cols="50" rows="<?php echo $big?10:5?>" id="textarea<?php echo $count?>"><?php echo  htmlspecialchars($template[$name]); ?></textarea></td>
-       <?php           $count++;
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templateupdate() {
-               global $member;
-
-               $templateid = intRequestVar('templateid');
-
-               $member->isAdmin() or $this->disallow();
-
-               $name = postVar('tname');
-               $desc = postVar('tdesc');
-
-               if (!isValidTemplateName($name))
-                       $this->error(_ERROR_BADTEMPLATENAME);
-
-               if ((TEMPLATE::getNameFromId($templateid) != $name) && TEMPLATE::exists($name))
-                       $this->error(_ERROR_DUPTEMPLATENAME);
-
-
-               $name = addslashes($name);
-               $desc = addslashes($desc);
-
-               // 1. Remove all template parts
-               $query = 'DELETE FROM '.sql_table('template').' WHERE tdesc=' . $templateid;
-               sql_query($query);
-
-               // 2. Update description
-               $query =  'UPDATE '.sql_table('template_desc').' SET'
-                          . " tdname='" . $name . "',"
-                          . " tddesc='" . $desc . "'"
-                          . " WHERE tdnumber=" . $templateid;
-               sql_query($query);
-
-               // 3. Add non-empty template parts
-               $this->addToTemplate($templateid, 'ITEM_HEADER', postVar('ITEM_HEADER'));
-               $this->addToTemplate($templateid, 'ITEM', postVar('ITEM'));
-               $this->addToTemplate($templateid, 'ITEM_FOOTER', postVar('ITEM_FOOTER'));
-               $this->addToTemplate($templateid, 'MORELINK', postVar('MORELINK'));
-               $this->addToTemplate($templateid, 'EDITLINK', postVar('EDITLINK'));
-               $this->addToTemplate($templateid, 'NEW', postVar('NEW'));
-               $this->addToTemplate($templateid, 'COMMENTS_HEADER', postVar('COMMENTS_HEADER'));
-               $this->addToTemplate($templateid, 'COMMENTS_BODY', postVar('COMMENTS_BODY'));
-               $this->addToTemplate($templateid, 'COMMENTS_FOOTER', postVar('COMMENTS_FOOTER'));
-               $this->addToTemplate($templateid, 'COMMENTS_CONTINUED', postVar('COMMENTS_CONTINUED'));
-               $this->addToTemplate($templateid, 'COMMENTS_TOOMUCH', postVar('COMMENTS_TOOMUCH'));
-               $this->addToTemplate($templateid, 'COMMENTS_AUTH', postVar('COMMENTS_AUTH'));
-               $this->addToTemplate($templateid, 'COMMENTS_ONE', postVar('COMMENTS_ONE'));
-               $this->addToTemplate($templateid, 'COMMENTS_MANY', postVar('COMMENTS_MANY'));
-               $this->addToTemplate($templateid, 'COMMENTS_NONE', postVar('COMMENTS_NONE'));
-               $this->addToTemplate($templateid, 'ARCHIVELIST_HEADER', postVar('ARCHIVELIST_HEADER'));
-               $this->addToTemplate($templateid, 'ARCHIVELIST_LISTITEM', postVar('ARCHIVELIST_LISTITEM'));
-               $this->addToTemplate($templateid, 'ARCHIVELIST_FOOTER', postVar('ARCHIVELIST_FOOTER'));
-               $this->addToTemplate($templateid, 'BLOGLIST_HEADER', postVar('BLOGLIST_HEADER'));
-               $this->addToTemplate($templateid, 'BLOGLIST_LISTITEM', postVar('BLOGLIST_LISTITEM'));
-               $this->addToTemplate($templateid, 'BLOGLIST_FOOTER', postVar('BLOGLIST_FOOTER'));
-               $this->addToTemplate($templateid, 'CATLIST_HEADER', postVar('CATLIST_HEADER'));
-               $this->addToTemplate($templateid, 'CATLIST_LISTITEM', postVar('CATLIST_LISTITEM'));
-               $this->addToTemplate($templateid, 'CATLIST_FOOTER', postVar('CATLIST_FOOTER'));
-               $this->addToTemplate($templateid, 'DATE_HEADER', postVar('DATE_HEADER'));
-               $this->addToTemplate($templateid, 'DATE_FOOTER', postVar('DATE_FOOTER'));
-               $this->addToTemplate($templateid, 'FORMAT_DATE', postVar('FORMAT_DATE'));
-               $this->addToTemplate($templateid, 'FORMAT_TIME', postVar('FORMAT_TIME'));
-               $this->addToTemplate($templateid, 'LOCALE', postVar('LOCALE'));
-               $this->addToTemplate($templateid, 'SEARCH_HIGHLIGHT', postVar('SEARCH_HIGHLIGHT'));
-               $this->addToTemplate($templateid, 'SEARCH_NOTHINGFOUND', postVar('SEARCH_NOTHINGFOUND'));
-               $this->addToTemplate($templateid, 'POPUP_CODE', postVar('POPUP_CODE'));
-               $this->addToTemplate($templateid, 'MEDIA_CODE', postVar('MEDIA_CODE'));
-               $this->addToTemplate($templateid, 'IMAGE_CODE', postVar('IMAGE_CODE'));
-
-
-               // jump back to template edit
-               $this->action_templateedit(_TEMPLATE_UPDATED);
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function addToTemplate($id, $partname, $content) {
-               $partname = addslashes($partname);
-               $content = addslashes($content);
-
-               $id = intval($id);
-
-               // don't add empty parts:
-               if (!trim($content)) return -1;
-
-               $query = 'INSERT INTO '.sql_table('template')." (tdesc, tpartname, tcontent) "
-                          . "VALUES ($id, '$partname', '$content')";
-               sql_query($query) or die("Query error: " . mysql_error());
-               return mysql_insert_id();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templatedelete() {
-               global $member, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               $templateid = intRequestVar('templateid');
-               // TODO: check if template can be deleted
-
-               $this->pagehead();
-
-               $name = TEMPLATE::getNameFromId($templateid);
-               $desc = TEMPLATE::getDesc($templateid);
-
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p>
-                       <?php echo _CONFIRMTXT_TEMPLATE?><b><?php echo htmlspecialchars($name)?></b> (<?php echo  htmlspecialchars($desc) ?>)
-                       </p>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="templatedeleteconfirm" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="templateid" value="<?php echo  $templateid ?>" />
-                               <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templatedeleteconfirm() {
-               global $member, $manager;
-
-               $templateid = intRequestVar('templateid');
-
-               $member->isAdmin() or $this->disallow();
-
-               $manager->notify('PreDeleteTemplate', array('templateid' => $templateid));
-
-               // 1. delete description
-               sql_query('DELETE FROM '.sql_table('template_desc').' WHERE tdnumber=' . $templateid);
-
-               // 2. delete parts
-               sql_query('DELETE FROM '.sql_table('template').' WHERE tdesc=' . $templateid);
-
-               $manager->notify('PostDeleteTemplate', array('templateid' => $templateid));
-
-               $this->action_templateoverview();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templatenew() {
-               global $member;
-
-               $member->isAdmin() or $this->disallow();
-
-               $name = postVar('name');
-               $desc = postVar('desc');
-
-               if (!isValidTemplateName($name))
-                       $this->error(_ERROR_BADTEMPLATENAME);
-
-               if (TEMPLATE::exists($name))
-                       $this->error(_ERROR_DUPTEMPLATENAME);
-
-               $newTemplateId = TEMPLATE::createNew($name, $desc);
-
-               $this->action_templateoverview();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_templateclone() {
-               global $member;
-
-               $templateid = intRequestVar('templateid');
-
-               $member->isAdmin() or $this->disallow();
-
-               // 1. read old template
-               $name = TEMPLATE::getNameFromId($templateid);
-               $desc = TEMPLATE::getDesc($templateid);
-
-               // 2. create desc thing
-               $name = "cloned" . $name;
-
-               // if a template with that name already exists:
-               if (TEMPLATE::exists($name)) {
-                       $i = 1;
-                       while (TEMPLATE::exists($name . $i))
-                               $i++;
-                       $name .= $i;
-               }
-
-               $newid = TEMPLATE::createNew($name, $desc);
-
-               // 3. create clone
-               // go through parts of old template and add them to the new one
-               $res = sql_query('SELECT tpartname, tcontent FROM '.sql_table('template').' WHERE tdesc=' . $templateid);
-               while ($o = mysql_fetch_object($res)) {
-                       $this->addToTemplate($newid, $o->tpartname, $o->tcontent);
-               }
-
-               $this->action_templateoverview();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinoverview() {
-               global $member, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-               echo '<h2>' . _SKIN_EDIT_TITLE . '</h2>';
-
-               echo '<h3>' . _SKIN_AVAILABLE_TITLE . '</h3>';
-
-               $query = 'SELECT * FROM '.sql_table('skin_desc').' ORDER BY sdname';
-               $template['content'] = 'skinlist';
-               $template['tabindex'] = 10;
-               showlist($query,'table',$template);
-
-               echo '<h3>' . _SKIN_NEW_TITLE . '</h3>';
-
-               ?>
-               <form method="post" action="index.php">
-               <div>
-
-               <input name="action" value="skinnew" type="hidden" />
-               <?php $manager->addTicketHidden() ?>
-               <table><tr>
-                       <td><?php echo _SKIN_NAME?> <?php help('shortnames');?></td>
-                       <td><input name="name" tabindex="10010" maxlength="20" size="20" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_DESC?></td>
-                       <td><input name="desc" tabindex="10020" maxlength="200" size="50" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_CREATE?></td>
-                       <td><input type="submit" tabindex="10030" value="<?php echo _SKIN_CREATE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div>
-               </form>
-
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinnew() {
-               global $member;
-
-               $member->isAdmin() or $this->disallow();
-
-               $name = trim(postVar('name'));
-               $desc = trim(postVar('desc'));
-
-               if (!isValidSkinName($name))
-                       $this->error(_ERROR_BADSKINNAME);
-
-               if (SKIN::exists($name))
-                       $this->error(_ERROR_DUPSKINNAME);
-
-               $newId = SKIN::createNew($name, $desc);
-
-               $this->action_skinoverview();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinedit() {
-               global $member, $manager;
-
-               $skinid = intRequestVar('skinid');
-
-               $member->isAdmin() or $this->disallow();
-
-               $skin =& new SKIN($skinid);
-
-               $this->pagehead();
-               ?>
-               <p>
-                       <a href="index.php?action=skinoverview">(<?php echo _SKIN_BACK?>)</a>
-               </p>
-               <h2><?php echo _SKIN_EDITONE_TITLE?> '<?php echo  $skin->getName() ?>'</h2>
-
-               <h3><?php echo _SKIN_PARTS_TITLE?></h3>
-               <?php echo _SKIN_PARTS_MSG?>
-               <ul>
-                       <li><a tabindex="10" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=index"><?php echo _SKIN_PART_MAIN?></a> <?php help('skinpartindex')?></li>
-                       <li><a tabindex="20" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=item"><?php echo _SKIN_PART_ITEM?></a> <?php help('skinpartitem')?></li>
-                       <li><a tabindex="30" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=archivelist"><?php echo _SKIN_PART_ALIST?></a> <?php help('skinpartarchivelist')?></li>
-                       <li><a tabindex="40" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=archive"><?php echo _SKIN_PART_ARCHIVE?></a> <?php help('skinpartarchive')?></li>
-                       <li><a tabindex="50" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=search"><?php echo _SKIN_PART_SEARCH?></a> <?php help('skinpartsearch')?></li>
-                       <li><a tabindex="60" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=error"><?php echo _SKIN_PART_ERROR?></a> <?php help('skinparterror')?></li>
-                       <li><a tabindex="70" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=member"><?php echo _SKIN_PART_MEMBER?></a> <?php help('skinpartmember')?></li>
-                       <li><a tabindex="75" href="index.php?action=skinedittype&amp;skinid=<?php echo  $skinid ?>&amp;type=imagepopup"><?php echo _SKIN_PART_POPUP?></a> <?php help('skinpartimagepopup')?></li>
-               </ul>
-
-               <?php
-
-               $query = "SELECT stype FROM " . sql_table('skin') . " WHERE stype NOT IN ('index', 'item', 'error', 'search', 'archive', 'archivelist', 'imagepopup', 'member') and sdesc = " . $skinid;
-               $res = sql_query($query);
-
-               echo '<h3>' . _SKIN_PARTS_SPECIAL . '</h3>';
-               echo '<form method="get" action="index.php">' . "\r\n";
-               echo '<input type="hidden" name="action" value="skinedittype" />' . "\r\n";
-               echo '<input type="hidden" name="skinid" value="' . $skinid . '" />' . "\r\n";
-               echo '<input name="type" tabindex="89" size="20" maxlength="20" />' . "\r\n";
-               echo '<input type="submit" tabindex="140" value="' . _SKIN_CREATE . '" onclick="return checkSubmit();" />' . "\r\n";
-               echo '</form>' . "\r\n";
-
-               if ($res && mysql_num_rows($res) > 0) {
-                       echo '<ul>';
-                       $tabstart = 75;
-
-                       while ($row = mysql_fetch_assoc($res)) {
-                               echo '<li><a tabindex="' . ($tabstart++) . '" href="index.php?action=skinedittype&amp;skinid=' . $skinid . '&amp;type=' . htmlspecialchars(strtolower($row['stype'])) . '">' . htmlspecialchars(ucfirst($row['stype'])) . '</a> (<a tabindex="' . ($tabstart++) . '" href="index.php?action=skinremovetype&amp;skinid=' . $skinid . '&amp;type=' . htmlspecialchars(strtolower($row['stype'])) . '">remove</a>)</li>';
-                       }
-
-                       echo '</ul>';
-               }
-
-               ?>
-
-               <h3><?php echo _SKIN_GENSETTINGS_TITLE; ?></h3>
-               <form method="post" action="index.php">
-               <div>
-
-               <input type="hidden" name="action" value="skineditgeneral" />
-               <?php $manager->addTicketHidden() ?>
-               <input type="hidden" name="skinid" value="<?php echo  $skinid ?>" />
-               <table><tr>
-                       <td><?php echo _SKIN_NAME?> <?php help('shortnames');?></td>
-                       <td><input name="name" tabindex="90" value="<?php echo  htmlspecialchars($skin->getName()) ?>" maxlength="20" size="20" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_DESC?></td>
-                       <td><input name="desc" tabindex="100" value="<?php echo  htmlspecialchars($skin->getDescription()) ?>" maxlength="200" size="50" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_TYPE?></td>
-                       <td><input name="type" tabindex="110" value="<?php echo  htmlspecialchars($skin->getContentType()) ?>" maxlength="40" size="20" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_INCLUDE_MODE?> <?php help('includemode')?></td>
-                       <td><?php $this->input_yesno('inc_mode',$skin->getIncludeMode(),120,'skindir','normal',_PARSER_INCMODE_SKINDIR,_PARSER_INCMODE_NORMAL);?></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_INCLUDE_PREFIX?> <?php help('includeprefix')?></td>
-                       <td><input name="inc_prefix" tabindex="130" value="<?php echo  htmlspecialchars($skin->getIncludePrefix()) ?>" maxlength="40" size="20" /></td>
-               </tr><tr>
-                       <td><?php echo _SKIN_CHANGE?></td>
-                       <td><input type="submit" tabindex="140" value="<?php echo _SKIN_CHANGE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div>
-               </form>
-
-
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skineditgeneral() {
-               global $member;
-
-               $skinid = intRequestVar('skinid');
-
-               $member->isAdmin() or $this->disallow();
-
-               $name = postVar('name');
-               $desc = postVar('desc');
-               $type = postVar('type');
-               $inc_mode = postVar('inc_mode');
-               $inc_prefix = postVar('inc_prefix');
-
-               $skin =& new SKIN($skinid);
-
-               // 1. Some checks
-               if (!isValidSkinName($name))
-                       $this->error(_ERROR_BADSKINNAME);
-
-               if (($skin->getName() != $name) && SKIN::exists($name))
-                       $this->error(_ERROR_DUPSKINNAME);
-
-               if (!$type) $type = 'text/html';
-               if (!$inc_mode) $inc_mode = 'normal';
-
-               // 2. Update description
-               $skin->updateGeneralInfo($name, $desc, $type, $inc_mode, $inc_prefix);
-
-               $this->action_skinedit();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinedittype($msg = '') {
-               global $member, $manager;
-
-               $skinid = intRequestVar('skinid');
-               $type = requestVar('type');
-
-               $member->isAdmin() or $this->disallow();
-
-               $type = trim($type);
-               $type = strtolower($type);
-
-               if (!isValidShortName($type)) {
-                       $this->error(_ERROR_SKIN_PARTS_SPECIAL_FORMAT);
-               }
-
-               $skin =& new SKIN($skinid);
-
-               $friendlyNames = SKIN::getFriendlyNames();
-
-               $this->pagehead();
-               ?>
-               <p>(<a href="index.php?action=skinoverview"><?php echo _SKIN_GOBACK?></a>)</p>
-
-               <h2><?php echo _SKIN_EDITPART_TITLE?> '<?php echo htmlspecialchars($skin->getName()) ?>': <?php echo htmlspecialchars(isset($friendlyNames[$type]) ? $friendlyNames[$type] : ucfirst($type)); ?></h2>
-
-               <?php                   if ($msg) echo "<p>"._MESSAGE.": $msg</p>";
-               ?>
-
-
-               <form method="post" action="index.php">
-               <div>
-
-               <input type="hidden" name="action" value="skinupdate" />
-               <?php $manager->addTicketHidden() ?>
-               <input type="hidden" name="skinid" value="<?php echo  $skinid ?>" />
-               <input type="hidden" name="type" value="<?php echo  $type ?>" />
-
-               <input type="submit" value="<?php echo _SKIN_UPDATE_BTN?>" onclick="return checkSubmit();" />
-               <input type="reset" value="<?php echo _SKIN_RESET_BTN?>" />
-               (skin type: <?php echo htmlspecialchars(isset($friendlyNames[$type]) ? $friendlyNames[$type] : ucfirst($type)); ?>)
-               <?php if (in_array($type, array('index', 'item', 'archivelist', 'archive', 'search', 'error', 'member', 'imagepopup'))) {
-                       help('skinpart' . $type);
-               } else {
-                       help('skinpartspecial');
-               }?>
-               <br />
-
-               <textarea class="skinedit" tabindex="10" rows="20" cols="80" name="content"><?php echo  htmlspecialchars($skin->getContent($type)) ?></textarea>
-
-               <br />
-               <input type="submit" tabindex="20" value="<?php echo _SKIN_UPDATE_BTN?>" onclick="return checkSubmit();" />
-               <input type="reset" value="<?php echo _SKIN_RESET_BTN?>" />
-               (skin type: <?php echo htmlspecialchars(isset($friendlyNames[$type]) ? $friendlyNames[$type] : ucfirst($type)); ?>)
-
-               <br /><br />
-               <?php echo _SKIN_ALLOWEDVARS?>
-               <?php                   $actions = SKIN::getAllowedActionsForType($type);
-
-                       sort($actions);
-
-                       while ($current = array_shift($actions)) {
-                               // skip deprecated vars
-                               if ($current == 'ifcat') continue;
-                               if ($current == 'imagetext') continue;
-                               if ($current == 'vars') continue;
-
-                               echo helplink('skinvar-' . $current) . "$current</a>";
-                               if (count($actions) != 0) echo ", ";
-                       }
-               ?>
-               <br /><br />
-               Short blog names:
-               <?php                   $query = 'SELECT bshortname, bname FROM '.sql_table('blog');
-                       showlist($query,'table',array('content'=>'shortblognames'));
-               ?>
-
-               <br />
-               Template names:
-               <?php                   $query = 'SELECT tdname as name, tddesc as description FROM '.sql_table('template_desc');
-                       showlist($query,'table',array('content'=>'shortnames'));
-               ?>
-
-
-               </div>
-               </form>
-
-
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinupdate() {
-               global $member;
-
-               $skinid = intRequestVar('skinid');
-               $content = trim(postVar('content'));
-               $type = postVar('type');
-
-               $member->isAdmin() or $this->disallow();
-
-               $skin =& new SKIN($skinid);
-               $skin->update($type, $content);
-
-               $this->action_skinedittype(_SKIN_UPDATED);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skindelete() {
-               global $member, $manager, $CONF;
-
-               $skinid = intRequestVar('skinid');
-
-               $member->isAdmin() or $this->disallow();
-
-               // don't allow default skin to be deleted
-               if ($skinid == $CONF['BaseSkin'])
-                       $this->error(_ERROR_DEFAULTSKIN);
-
-               // don't allow deletion of default skins for blogs
-               $query = 'SELECT bname FROM '.sql_table('blog').' WHERE bdefskin=' . $skinid;
-               $r = sql_query($query);
-               if ($o = mysql_fetch_object($r))
-                       $this->error(_ERROR_SKINDEFDELETE . htmlspecialchars($o->bname));
-
-               $this->pagehead();
-
-               $skin =& new SKIN($skinid);
-               $name = $skin->getName();
-               $desc = $skin->getDescription();
-
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p>
-                               <?php echo _CONFIRMTXT_SKIN?><b><?php echo htmlspecialchars($name) ?></b> (<?php echo  htmlspecialchars($desc)?>)
-                       </p>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="skindeleteconfirm" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="skinid" value="<?php echo  $skinid ?>" />
-                               <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skindeleteconfirm() {
-               global $member, $CONF, $manager;
-
-               $skinid = intRequestVar('skinid');
-
-               $member->isAdmin() or $this->disallow();
-
-               // don't allow default skin to be deleted
-               if ($skinid == $CONF['BaseSkin'])
-                       $this->error(_ERROR_DEFAULTSKIN);
-
-               // don't allow deletion of default skins for blogs
-               $query = 'SELECT bname FROM '.sql_table('blog').' WHERE bdefskin=' . $skinid;
-               $r = sql_query($query);
-               if ($o = mysql_fetch_object($r))
-                       $this->error(_ERROR_SKINDEFDELETE .$o->bname);
-
-               $manager->notify('PreDeleteSkin', array('skinid' => $skinid));
-
-               // 1. delete description
-               sql_query('DELETE FROM '.sql_table('skin_desc').' WHERE sdnumber=' . $skinid);
-
-               // 2. delete parts
-               sql_query('DELETE FROM '.sql_table('skin').' WHERE sdesc=' . $skinid);
-
-               $manager->notify('PostDeleteSkin', array('skinid' => $skinid));
-
-               $this->action_skinoverview();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinremovetype() {
-               global $member, $manager, $CONF;
-
-               $skinid = intRequestVar('skinid');
-               $skintype = requestVar('type');
-
-               if (!isValidShortName($skintype)) {
-                       $this->error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);
-               }
-
-               $member->isAdmin() or $this->disallow();
-
-               // don't allow default skinparts to be deleted
-               if (in_array($skintype, array('index', 'item', 'archivelist', 'archive', 'search', 'error', 'member', 'imagepopup'))) {
-                       $this->error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);
-               }
-
-               $this->pagehead();
-
-               $skin =& new SKIN($skinid);
-               $name = $skin->getName();
-               $desc = $skin->getDescription();
-
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p>
-                               <?php echo _CONFIRMTXT_SKIN_PARTS_SPECIAL; ?> <b><?php echo htmlspecialchars($skintype); ?> (<?php echo htmlspecialchars($name); ?>)</b> (<?php echo  htmlspecialchars($desc)?>)
-                       </p>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="skinremovetypeconfirm" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="skinid" value="<?php echo $skinid; ?>" />
-                               <input type="hidden" name="type" value="<?php echo htmlspecialchars($skintype); ?>" />
-                               <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinremovetypeconfirm() {
-               global $member, $CONF, $manager;
-
-               $skinid = intRequestVar('skinid');
-               $skintype = requestVar('type');
-
-               if (!isValidShortName($skintype)) {
-                       $this->error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);
-               }
-
-               $member->isAdmin() or $this->disallow();
-
-               // don't allow default skinparts to be deleted
-               if (in_array($skintype, array('index', 'item', 'archivelist', 'archive', 'search', 'error', 'member', 'imagepopup'))) {
-                       $this->error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);
-               }
-
-               $manager->notify('PreDeleteSkinPart', array('skinid' => $skinid, 'skintype' => $skintype));
-
-               // delete part
-               sql_query('DELETE FROM '.sql_table('skin').' WHERE sdesc=' . $skinid . ' AND stype=\'' . $skintype . '\'');
-
-               $manager->notify('PostDeleteSkinPart', array('skinid' => $skinid, 'skintype' => $skintype));
-
-               $this->action_skinedit();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_skinclone() {
-               global $member;
-
-               $skinid = intRequestVar('skinid');
-
-               $member->isAdmin() or $this->disallow();
-
-               // 1. read skin to clone
-               $skin =& new SKIN($skinid);
-
-               $name = "clone_" . $skin->getName();
-
-               // if a skin with that name already exists:
-               if (SKIN::exists($name)) {
-                       $i = 1;
-                       while (SKIN::exists($name . $i))
-                               $i++;
-                       $name .= $i;
-               }
-
-               // 2. create skin desc
-               $newid = SKIN::createNew(
-                       $name,
-                       $skin->getDescription(),
-                       $skin->getContentType(),
-                       $skin->getIncludeMode(),
-                       $skin->getIncludePrefix()
-               );
-
-
-               // 3. clone
-               /*
-               $this->skinclonetype($skin, $newid, 'index');
-               $this->skinclonetype($skin, $newid, 'item');
-               $this->skinclonetype($skin, $newid, 'archivelist');
-               $this->skinclonetype($skin, $newid, 'archive');
-               $this->skinclonetype($skin, $newid, 'search');
-               $this->skinclonetype($skin, $newid, 'error');
-               $this->skinclonetype($skin, $newid, 'member');
-               $this->skinclonetype($skin, $newid, 'imagepopup');
-               */
-
-               $query = "SELECT stype FROM " . sql_table('skin') . " WHERE sdesc = " . $skinid;
-               $res = sql_query($query);
-               while ($row = mysql_fetch_assoc($res)) {
-                       $this->skinclonetype($skin, $newid, $row['stype']);
-               }
-
-               $this->action_skinoverview();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function skinclonetype($skin, $newid, $type) {
-               $newid = intval($newid);
-               $content = $skin->getContent($type);
-               if ($content) {
-                       $query = 'INSERT INTO '.sql_table('skin')." (sdesc, scontent, stype) VALUES ($newid,'". addslashes($content)."', '". addslashes($type)."')";
-                       sql_query($query);
-               }
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_settingsedit() {
-               global $member, $manager, $CONF, $DIR_NUCLEUS, $DIR_MEDIA;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-               ?>
-
-               <h2><?php echo _SETTINGS_TITLE?></h2>
-
-               <form action="index.php" method="post">
-               <div>
-
-               <input type="hidden" name="action" value="settingsupdate" />
-               <?php $manager->addTicketHidden() ?>
-
-               <table><tr>
-                       <th colspan="2"><?php echo _SETTINGS_SUB_GENERAL?></th>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_DEFBLOG?> <?php help('defaultblog'); ?></td>
-                       <td>
-                               <?php
-                                       $query =  'SELECT bname as text, bnumber as value'
-                                                  . ' FROM '.sql_table('blog');
-                                       $template['name'] = 'DefaultBlog';
-                                       $template['selected'] = $CONF['DefaultBlog'];
-                                       $template['tabindex'] = 10;
-                                       showlist($query,'select',$template);
-                               ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_BASESKIN?> <?php help('baseskin'); ?></td>
-                       <td>
-                               <?php
-                                       $query =  'SELECT sdname as text, sdnumber as value'
-                                                  . ' FROM '.sql_table('skin_desc');
-                                       $template['name'] = 'BaseSkin';
-                                       $template['selected'] = $CONF['BaseSkin'];
-                                       $template['tabindex'] = 1;
-                                       showlist($query,'select',$template);
-                               ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ADMINMAIL?></td>
-                       <td><input name="AdminEmail" tabindex="10010" size="40" value="<?php echo  htmlspecialchars($CONF['AdminEmail']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_SITENAME?></td>
-                       <td><input name="SiteName" tabindex="10020" size="40" value="<?php echo  htmlspecialchars($CONF['SiteName']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_SITEURL?></td>
-                       <td><input name="IndexURL" tabindex="10030" size="40" value="<?php echo  htmlspecialchars($CONF['IndexURL']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ADMINURL?></td>
-                       <td><input name="AdminURL" tabindex="10040" size="40" value="<?php echo  htmlspecialchars($CONF['AdminURL']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_PLUGINURL?> <?php help('pluginurl');?></td>
-                       <td><input name="PluginURL" tabindex="10045" size="40" value="<?php echo  htmlspecialchars($CONF['PluginURL']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_SKINSURL?> <?php help('skinsurl');?></td>
-                       <td><input name="SkinsURL" tabindex="10046" size="40" value="<?php echo  htmlspecialchars($CONF['SkinsURL']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ACTIONSURL?> <?php help('actionurl');?></td>
-                       <td><input name="ActionURL" tabindex="10047" size="40" value="<?php echo  htmlspecialchars($CONF['ActionURL']) ?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_LANGUAGE?> <?php help('language'); ?>
-                       </td>
-                       <td>
-
-                               <select name="Language" tabindex="10050">
-                               <?php                           // show a dropdown list of all available languages
-                               global $DIR_LANG;
-                               $dirhandle = opendir($DIR_LANG);
-                               while ($filename = readdir($dirhandle)) {
-                                       if (ereg("^(.*)\.php$",$filename,$matches)) {
-                                               $name = $matches[1];
-                                               echo "<option value='$name'";
-                                               if ($name == $CONF['Language'])
-                                                       echo " selected='selected'";
-                                               echo ">$name</option>";
-                                       }
-                               }
-                               closedir($dirhandle);
-
-                               ?>
-                               </select>
-
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_DISABLESITE?> <?php help('disablesite'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('DisableSite',$CONF['DisableSite'],10060); ?>
-                                       <br />
-                               URL: <input name="DisableSiteURL" tabindex="10070" size="40" value="<?php echo  htmlspecialchars($CONF['DisableSiteURL'])?>" />
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_DIRS?></td>
-                       <td><?php echo  htmlspecialchars($DIR_NUCLEUS) ?>
-                               <i><?php echo _SETTINGS_SEECONFIGPHP?></i></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_DBLOGIN?></td>
-                       <td><i><?php echo _SETTINGS_SEECONFIGPHP?></i></td>
-               </tr><tr>
-                       <td>
-                       <?php
-                               echo _SETTINGS_JSTOOLBAR
-                               /* =_SETTINGS_DISABLEJS
-
-                                       I temporary changed the meaning of DisableJsTools, until I can find a good
-                                       way to select the javascript version to use
-
-                                       now, its:
-                                               0 : IE
-                                               1 : all javascript disabled
-                                               2 : 'simpler' javascript (for mozilla/opera/mac)
-                               */
-                          ?>
-                       </td>
-                       <td><?php /* $this->input_yesno('DisableJsTools',$CONF['DisableJsTools'],10075); */?>
-                               <select name="DisableJsTools" tabindex="10075">
-                       <?php                                   $extra = ($CONF['DisableJsTools'] == 1) ? 'selected="selected"' : '';
-                                       echo "<option $extra value='1'>",_SETTINGS_JSTOOLBAR_NONE,"</option>";
-                                       $extra = ($CONF['DisableJsTools'] == 2) ? 'selected="selected"' : '';
-                                       echo "<option $extra value='2'>",_SETTINGS_JSTOOLBAR_SIMPLE,"</option>";
-                                       $extra = ($CONF['DisableJsTools'] == 0) ? 'selected="selected"' : '';
-                                       echo "<option $extra value='0'>",_SETTINGS_JSTOOLBAR_FULL,"</option>";
-                       ?>
-                               </select>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_URLMODE?> <?php help('urlmode');?></td>
-                                          <td><?php
-
-                                          $this->input_yesno('URLMode',$CONF['URLMode'],10077,
-                                                         'normal','pathinfo',_SETTINGS_URLMODE_NORMAL,_SETTINGS_URLMODE_PATHINFO);
-
-                                          echo ' ', _SETTINGS_URLMODE_HELP;
-
-                                                        ?>
-
-                                          </td>
-               </tr><tr>
-                       <th colspan="2"><?php echo _SETTINGS_MEDIA?> <?php help('media'); ?></th>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_MEDIADIR?></td>
-                       <td><?php echo  htmlspecialchars($DIR_MEDIA) ?>
-                               <i><?php echo _SETTINGS_SEECONFIGPHP?></i>
-                               <?php                           if (!is_dir($DIR_MEDIA))
-                                               echo "<br /><b>" . _WARNING_NOTADIR . "</b>";
-                                       if (!is_readable($DIR_MEDIA))
-                                               echo "<br /><b>" . _WARNING_NOTREADABLE . "</b>";
-                                       if (!is_writeable($DIR_MEDIA))
-                                               echo "<br /><b>" . _WARNING_NOTWRITABLE . "</b>";
-                               ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_MEDIAURL?></td>
-                       <td>
-                               <input name="MediaURL" tabindex="10080" size="40" value="<?php echo  htmlspecialchars($CONF['MediaURL']) ?>" />
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ALLOWUPLOAD?></td>
-                       <td><?php $this->input_yesno('AllowUpload',$CONF['AllowUpload'],10090); ?></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ALLOWUPLOADTYPES?></td>
-                       <td>
-                               <input name="AllowedTypes" tabindex="10100" size="40" value="<?php echo  htmlspecialchars($CONF['AllowedTypes']) ?>" />
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_MAXUPLOADSIZE?></td>
-                       <td>
-                               <input name="MaxUploadSize" tabindex="10105" size="40" value="<?php echo  htmlspecialchars($CONF['MaxUploadSize']) ?>" />
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_MEDIAPREFIX?></td>
-                       <td><?php $this->input_yesno('MediaPrefix',$CONF['MediaPrefix'],10110); ?></td>
-
-               </tr><tr>
-                       <th colspan="2"><?php echo _SETTINGS_MEMBERS?></th>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_CHANGELOGIN?></td>
-                       <td><?php $this->input_yesno('AllowLoginEdit',$CONF['AllowLoginEdit'],10120); ?></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_ALLOWCREATE?>
-                               <?php help('allowaccountcreation'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('AllowMemberCreate',$CONF['AllowMemberCreate'],10130); ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_NEWLOGIN?> <?php help('allownewmemberlogin'); ?>
-                               <br /><?php echo _SETTINGS_NEWLOGIN2?>
-                       </td>
-                       <td><?php $this->input_yesno('NewMemberCanLogon',$CONF['NewMemberCanLogon'],10140); ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_MEMBERMSGS?>
-                               <?php help('messageservice'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('AllowMemberMail',$CONF['AllowMemberMail'],10150); ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_NONMEMBERMSGS?>
-                               <?php help('messageservice'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('NonmemberMail',$CONF['NonmemberMail'],10155); ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_PROTECTMEMNAMES?>
-                               <?php help('protectmemnames'); ?>
-                       </td>
-                       <td><?php $this->input_yesno('ProtectMemNames',$CONF['ProtectMemNames'],10156); ?>
-                       </td>
-
-
-
-               </tr><tr>
-                       <th colspan="2"><?php echo _SETTINGS_COOKIES_TITLE?> <?php help('cookies'); ?></th>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_COOKIEPREFIX?></td>
-                       <td><input name="CookiePrefix" tabindex="10159" size="40" value="<?php echo  htmlspecialchars($CONF['CookiePrefix'])?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_COOKIEDOMAIN?></td>
-                       <td><input name="CookieDomain" tabindex="10160" size="40" value="<?php echo  htmlspecialchars($CONF['CookieDomain'])?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_COOKIEPATH?></td>
-                       <td><input name="CookiePath" tabindex="10170" size="40" value="<?php echo  htmlspecialchars($CONF['CookiePath'])?>" /></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_COOKIESECURE?></td>
-                       <td><?php $this->input_yesno('CookieSecure',$CONF['CookieSecure'],10180); ?></td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_COOKIELIFE?></td>
-                       <td><?php $this->input_yesno('SessionCookie',$CONF['SessionCookie'],10190,
-                                                         1,0,_SETTINGS_COOKIESESSION,_SETTINGS_COOKIEMONTH); ?>
-                       </td>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_LASTVISIT?></td>
-                       <td><?php $this->input_yesno('LastVisit',$CONF['LastVisit'],10200); ?></td>
-
-
-
-               </tr><tr>
-                       <th colspan="2"><?php echo _SETTINGS_UPDATE?></th>
-               </tr><tr>
-                       <td><?php echo _SETTINGS_UPDATE?></td>
-                       <td><input type="submit" tabindex="10210" value="<?php echo _SETTINGS_UPDATE_BTN?>" onclick="return checkSubmit();" /></td>
-               </tr></table>
-
-               </div>
-               </form>
-
-               <?php
-                       echo '<h2>',_PLUGINS_EXTRA,'</h2>';
-
-                       $manager->notify(
-                               'GeneralSettingsFormExtras',
-                               array()
-                       );
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_settingsupdate() {
-               global $member, $CONF;
-
-               $member->isAdmin() or $this->disallow();
-
-               // check if email address for admin is valid
-               if (!isValidMailAddress(postVar('AdminEmail')))
-                       $this->error(_ERROR_BADMAILADDRESS);
-
-
-               // save settings
-               $this->updateConfig('DefaultBlog',              postVar('DefaultBlog'));
-               $this->updateConfig('BaseSkin',                 postVar('BaseSkin'));
-               $this->updateConfig('IndexURL',                 postVar('IndexURL'));
-               $this->updateConfig('AdminURL',                 postVar('AdminURL'));
-               $this->updateConfig('PluginURL',                postVar('PluginURL'));
-               $this->updateConfig('SkinsURL',                 postVar('SkinsURL'));
-               $this->updateConfig('ActionURL',                postVar('ActionURL'));
-               $this->updateConfig('Language',                 postVar('Language'));
-               $this->updateConfig('AdminEmail',               postVar('AdminEmail'));
-               $this->updateConfig('SessionCookie',    postVar('SessionCookie'));
-               $this->updateConfig('AllowMemberCreate',postVar('AllowMemberCreate'));
-               $this->updateConfig('AllowMemberMail',  postVar('AllowMemberMail'));
-               $this->updateConfig('NonmemberMail',    postVar('NonmemberMail'));
-               $this->updateConfig('ProtectMemNames',  postVar('ProtectMemNames'));
-               $this->updateConfig('SiteName',                 postVar('SiteName'));
-               $this->updateConfig('NewMemberCanLogon',postVar('NewMemberCanLogon'));
-               $this->updateConfig('DisableSite',              postVar('DisableSite'));
-               $this->updateConfig('DisableSiteURL',   postVar('DisableSiteURL'));
-               $this->updateConfig('LastVisit',                postVar('LastVisit'));
-               $this->updateConfig('MediaURL',                 postVar('MediaURL'));
-               $this->updateConfig('AllowedTypes',             postVar('AllowedTypes'));
-               $this->updateConfig('AllowUpload',              postVar('AllowUpload'));
-               $this->updateConfig('MaxUploadSize',    postVar('MaxUploadSize'));
-               $this->updateConfig('MediaPrefix',              postVar('MediaPrefix'));
-               $this->updateConfig('AllowLoginEdit',   postVar('AllowLoginEdit'));
-               $this->updateConfig('DisableJsTools',   postVar('DisableJsTools'));
-               $this->updateConfig('CookieDomain',             postVar('CookieDomain'));
-               $this->updateConfig('CookiePath',               postVar('CookiePath'));
-               $this->updateConfig('CookieSecure',             postVar('CookieSecure'));
-               $this->updateConfig('URLMode',                  postVar('URLMode'));
-               $this->updateConfig('CookiePrefix',             postVar('CookiePrefix'));
-
-               // load new config and redirect (this way, the new language will be used is necessary)
-               // note that when changing cookie settings, this redirect might cause the user
-               // to have to log in again.
-               getConfig();
-               redirect($CONF['AdminURL'] . '?action=manage');
-               exit;
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function updateConfig($name, $val) {
-               $name = addslashes($name);
-               $val = trim(addslashes($val));
-
-               $query = 'UPDATE '.sql_table('config')
-                          . " SET value='$val'"
-                          . " WHERE name='$name'";
-
-               sql_query($query) or die("Query error: " . mysql_error());
-               return mysql_insert_id();
-       }
-
-       /**
-        * Error message
-        * @param string $msg message that will be shown
-        */
-       function error($msg) {
-               $this->pagehead();
-               ?>
-               <h2>Error!</h2>
-               <?php           echo $msg;
-               echo "<br />";
-               echo "<a href='index.php' onclick='history.back()'>"._BACK."</a>";
-               $this->pagefoot();
-               exit;
-       }
-
-       /**
-        * @todo document this
-        */
-       function disallow() {
-               ACTIONLOG::add(WARNING, _ACTIONLOG_DISALLOWED . serverVar('REQUEST_URI'));
-
-               $this->error(_ERROR_DISALLOWED);
-       }
-
-       /**
-        * @todo document this
-        */
-       function pagehead($extrahead = '') {
-               global $member, $nucleus, $CONF, $manager;
-
-               $manager->notify(
-                       'AdminPrePageHead',
-                       array(
-                               'extrahead' => &$extrahead,
-                               'action' => $this->action
-                       )
-               );
-
-               $baseUrl = htmlspecialchars($CONF['AdminURL']);
-
-               ?>
-               <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-               <html xmlns="http://www.w3.org/1999/xhtml">
-               <head>
-                       <meta http-equiv="Content-Type" content="text/html; charset=<?php echo _CHARSET ?>" />
-                       <title><?php echo htmlspecialchars($CONF['SiteName'])?> - Admin</title>
-                       <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<?php echo $baseUrl?>styles/admin.css" />
-                       <link rel="stylesheet" title="Nucleus Admin Default" type="text/css"
-                       href="<?php echo $baseUrl?>styles/addedit.css" />
-
-                       <script type="text/javascript" src="<?php echo $baseUrl?>javascript/edit.js"></script>
-                       <script type="text/javascript" src="<?php echo $baseUrl?>javascript/admin.js"></script>
-                       <script type="text/javascript" src="<?php echo $baseUrl?>javascript/compatibility.js"></script>
-
-         <meta http-equiv='Pragma' content='no-cache' />
-         <meta http-equiv='Cache-Control' content='no-cache, must-revalidate' />
-         <meta http-equiv='Expires' content='-1' />
-
-                       <?php echo $extrahead?>
-               </head>
-               <body>
-               <div class="header">
-               <h1><?php echo htmlspecialchars($CONF['SiteName'])?></h1>
-               </div>
-               <div id="container">
-               <div id="content">
-               <div class="loginname">
-               <?php                   if ($member->isLoggedIn())
-                               echo _LOGGEDINAS . ' ' . $member->getDisplayName()
-                                       ." - <a href='index.php?action=logout'>" . _LOGOUT. "</a>"
-                                       . "<br /><a href='index.php?action=overview'>" . _ADMINHOME . "</a> - ";
-                       else
-                               echo '<a href="index.php?action=showlogin" title="Log in">' , _NOTLOGGEDIN , '</a> <br />';
-
-                       echo "<a href='".$CONF['IndexURL']."'>"._YOURSITE."</a>";
-
-                       echo '<br />(';
-
-                       // Note(JP): disabled code name description
-/*
-                       if ($member->isLoggedIn() && $member->isAdmin())
-                               echo '<a href="http://nucleuscms.org/version.php?v=',getNucleusVersion(),'&amp;pl=',getNucleusPatchLevel(),'" title="Check for upgrade">Nucleus CMS ', $nucleus['version'], ' &quot;', $nucleus['codename'], '&quot;</a>';
-                       else
-                               echo 'Nucleus CMS ', $nucleus['version'], ' &quot;', $nucleus['codename'], '&quot;';
-*/
-                       if ($member->isLoggedIn() && $member->isAdmin())
-                               echo '<a href="http://nucleuscms.org/version.php?v=',getNucleusVersion(),'&amp;pl=',getNucleusPatchLevel(),'" title="Check for upgrade">Nucleus CMS ', $nucleus['version'], ' </a>';
-                       else
-                               echo 'Nucleus CMS ', $nucleus['version'];
-                       echo ')';
-               echo '</div>';
-       }
-
-       /**
-        * @todo document this
-        */
-       function pagefoot() {
-               global $action, $member, $manager;
-
-               $manager->notify(
-                       'AdminPrePageFoot',
-                       array(
-                               'action' => $this->action
-                       )
-               );
-
-               if ($member->isLoggedIn() && ($action != 'showlogin')) {
-                       ?>
-                       <h2><?php echo  _LOGOUT ?></h2>
-                       <ul>
-                               <li><a href="index.php?action=overview"><?php echo  _BACKHOME?></a></li>
-                               <li><a href='index.php?action=logout'><?php echo  _LOGOUT?></a></li>
-                       </ul>
-                       <?php           }
-               ?>
-                       <div class="foot">
-                               <a href="http://nucleuscms.org/">Nucleus CMS</a> &copy; 2002-<?php echo date('Y'); ?> The Nucleus Group
-                               -
-                               <a href="http://nucleuscms.org/donate.php">Donate!</a>
-                       </div>
-
-                       </div><!-- content -->
-
-                       <div id="quickmenu">
-
-                               <?php                           // ---- user settings ----
-                               if (($action != 'showlogin') && ($member->isLoggedIn())) {
-                                       echo '<ul>';
-                                       echo '<li><a href="index.php?action=overview">',_QMENU_HOME,'</a></li>';
-                                       echo '</ul>';
-
-                                       echo '<h2>',_QMENU_ADD,'</h2>';
-                                       echo '<form method="get" action="index.php"><div>';
-                                       echo '<input type="hidden" name="action" value="createitem" />';
-
-                                               $showAll = requestVar('showall');
-                                               if (($member->isAdmin()) && ($showAll == 'yes')) {
-                                                       // Super-Admins have access to all blogs! (no add item support though)
-                                                       $query =  'SELECT bnumber as value, bname as text'
-                                                                  . ' FROM ' . sql_table('blog')
-                                                                  . ' ORDER BY bname';
-                                               } else {
-                                                       $query =  'SELECT bnumber as value, bname as text'
-                                                                  . ' FROM ' . sql_table('blog') . ', ' . sql_table('team')
-                                                                  . ' WHERE tblog=bnumber and tmember=' . $member->getID()
-                                                                  . ' ORDER BY bname';
-                                               }
-                                               $template['name'] = 'blogid';
-                                               $template['tabindex'] = 15000;
-                                               $template['extra'] = _QMENU_ADD_SELECT;
-                                               $template['selected'] = -1;
-                                               $template['shorten'] = 10;
-                                               $template['shortenel'] = '';
-                                               $template['javascript'] = 'onchange="return form.submit()"';
-                                               showlist($query,'select',$template);
-
-                                       echo '</div></form>';
-
-                                       echo '<h2>' . $member->getDisplayName(). '</h2>';
-                                       echo '<ul>';
-                                       echo '<li><a href="index.php?action=editmembersettings">',_QMENU_USER_SETTINGS,'</a></li>';
-                                       echo '<li><a href="index.php?action=browseownitems">',_QMENU_USER_ITEMS,'</a></li>';
-                                       echo '<li><a href="index.php?action=browseowncomments">',_QMENU_USER_COMMENTS,'</a></li>';
-                                       echo '</ul>';
-
-
-
-
-                                       // ---- general settings ----
-                                       if ($member->isAdmin()) {
-
-                                               echo '<h2>',_QMENU_MANAGE,'</h2>';
-
-                                               echo '<ul>';
-                                               echo '<li><a href="index.php?action=actionlog">',_QMENU_MANAGE_LOG,'</a></li>';
-                                               echo '<li><a href="index.php?action=settingsedit">',_QMENU_MANAGE_SETTINGS,'</a></li>';
-                                               echo '<li><a href="index.php?action=usermanagement">',_QMENU_MANAGE_MEMBERS,'</a></li>';
-                                               echo '<li><a href="index.php?action=createnewlog">',_QMENU_MANAGE_NEWBLOG,'</a></li>';
-                                               echo '<li><a href="index.php?action=backupoverview">',_QMENU_MANAGE_BACKUPS,'</a></li>';
-                                               echo '<li><a href="index.php?action=pluginlist">',_QMENU_MANAGE_PLUGINS,'</a></li>';
-                                               echo '</ul>';
-
-                                               echo '<h2>',_QMENU_LAYOUT,'</h2>';
-                                               echo '<ul>';
-                                               echo '<li><a href="index.php?action=skinoverview">',_QMENU_LAYOUT_SKINS,'</a></li>';
-                                               echo '<li><a href="index.php?action=templateoverview">',_QMENU_LAYOUT_TEMPL,'</a></li>';
-                                               echo '<li><a href="index.php?action=skinieoverview">',_QMENU_LAYOUT_IEXPORT,'</a></li>';
-                                               echo '</ul>';
-
-                                       }
-
-                                       $aPluginExtras = array();
-                                       $manager->notify(
-                                               'QuickMenu',
-                                               array(
-                                                       'options' => &$aPluginExtras
-                                               )
-                                       );
-                                       if (count($aPluginExtras) > 0)
-                                       {
-                                               echo '<h2>', _QMENU_PLUGINS, '</h2>';
-                                               echo '<ul>';
-                                               foreach ($aPluginExtras as $aInfo)
-                                               {
-                                                       echo '<li><a href="'.htmlspecialchars($aInfo['url']).'" title="'.htmlspecialchars($aInfo['tooltip']).'">'.htmlspecialchars($aInfo['title']).'</a></li>';
-                                               }
-                                               echo '</ul>';
-                                       }
-
-                               } else if (($action == 'activate') || ($action == 'activatesetpwd')) {
-
-                                       echo '<h2>', _QMENU_ACTIVATE, '</h2>', _QMENU_ACTIVATE_TEXT;
-                               } else {
-                                       // introduction text on login screen
-                                       echo '<h2>', _QMENU_INTRO, '</h2>', _QMENU_INTRO_TEXT;
-                               }
-                               ?>
-                       </div>
-
-                       <!-- content / quickmenu container -->
-                       </div>
-
-
-                       </body>
-                       </html>
-               <?php   }
-
-       /**
-        * @todo document this
-        */
-       function action_regfile() {
-               global $member, $CONF;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->teamRights($blogid) or $this->disallow();
-
-               // header-code stolen from phpMyAdmin
-               // REGEDIT and bookmarklet code stolen from GreyMatter
-
-               $sjisBlogName = getBlogNameFromID($blogid);
-               $sjisBlogName = mb_convert_encoding($sjisBlogName, "SJIS", "auto");
-
-               header('Content-Type: application/octetstream');
-               header('Content-Disposition: filename="nucleus.reg"');
-               header('Pragma: no-cache');
-               header('Expires: 0');
-
-               echo "REGEDIT4\n";
-               echo "[HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt\\Post To &Nucleus (".$sjisBlogName.")]\n";
-               echo '@="' . $CONF['AdminURL'] . "bookmarklet.php?action=contextmenucode&blogid=".intval($blogid)."\"\n";
-               echo '"contexts"=hex:31';
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_bookmarklet() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->teamRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-               $bm = getBookmarklet($blogid);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-
-               ?>
-
-               <h2>Bookmarklet<!-- and Right Click Menu --></h2>
-
-               <p>
-               Bookmarklet ¤È¤Ï¡¢¥¯¥ê¥Ã¥¯1²ó¤Çµ­»ö¤ÎÅê¹Æ¤¬¤Ç¤­¤ë¥·¥¹¥Æ¥à¤Ç¤¹¡£ ¤³¤Î Bookmarklet ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Î¥Ä¡¼¥ë¥Ð¡¼¤Î'add to weblog'¥Ü¥¿¥ó¤¬ÍøÍѲÄǽ¤È¤Ê¤ê¡¢Nucleus¤Î¿·µ¬¥¢¥¤¥Æ¥à¤ÎÄɲ妥£¥ó¥É¥¦¤¬¥Ý¥Ã¥×¥¢¥Ã¥×¤·¤Þ¤¹¡£Ç¤°Õ¤ÎWeb¥Ú¡¼¥¸¤ò³«¤¤¤¿¾õÂ֤Ǥ³¤Î¥Ü¥¿¥ó¤ò²¡¤»¤Ð¡¢¤½¤ÎWeb¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤È¡¢¤½¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¥¿¥°¤¬¤¹¤Ç¤ËËä¤á¹þ¤Þ¤ì¤¿¾õÂ֤ǥ¢¥¤¥Æ¥àÄɲ妥£¥ó¥É¥¦¤¬³«¤­¡¢¤µ¤é¤Ë¡¢¤½¤Î¥Ú¡¼¥¸Æâ¤Ë°úÍѤ·¤¿¤¤Ê¸¤òÁªÂò¤·¤¿¾õÂ֤Ǥ¢¤ì¤Ð¤½¤Î°úÍÑʸ¤â¼«Æ°Åª¤Ë°úÍѤ·¤Þ¤¹¡£
-               </p>
-
-               <h3>Bookmarklet</h3>
-               <p>
-                       ²¼¤Î¥ê¥ó¥¯Éôʬ¤ò¡Ö¤ªµ¤¤ËÆþ¤ê¡×¤â¤·¤¯¤Ï¥Ä¡¼¥ë¥Ð¡¼¤Ë¥É¥é¥Ã¥°¤Ç¤­¤Þ¤¹¡£<small>(¤½¤ÎÁ°¤Ë¥Æ¥¹¥È¤·¤Æ¤ß¤¿¤¤¾ì¹ç¤Ïñ½ã¤Ë²¼¤Î¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤)</small>
-                       <br />
-                       <br />
-                       <a href="<?php echo htmlspecialchars($bm)?>">Add to <?php echo $blog->getShortName()?></a> (¤Û¤È¤ó¤É¤Î¥Ö¥é¥¦¥¶¤ÇÆ°ºî¤·¤Þ¤¹)
-               </p>
-
-               <h3>±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë (Windows¤ÇIE»ÈÍÑ»þ)</h3>
-               <p>
-                       <?php
-                               $url = 'index.php?action=regfile&blogid=' . intval($blogid);
-                               $url = $manager->addTicketToUrl($url);
-                       ?>
-                       ¤¢¤ë¤¤¤Ï<a href="<?php echo htmlspecialchars($url) ?>">±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼</a>¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹ (¡Ö³«¤¯¡×¤òÁªÂò¤¹¤ì¤ÐľÀܥ쥸¥¹¥È¥ê¤ËÅÐÏ¿¤·¤Þ¤¹)
-               </p>
-
-               <p>
-                       ¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¤ÏIE¤ÎºÆµ¯Æ°¤¬É¬ÍפǤ¹¡£
-               </p>
-
-               <h3>¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë</h3>
-               <p>
-                       ¡Ö¤ªµ¤¤ËÆþ¤ê¡×¤â¤·¤¯¤Ï¥Ä¡¼¥ë¥Ð¡¼¤«¤é¾Ã¤¹¤Ë¤Ï¡¢Ã±¤Ëºï½ü¤¹¤ë¤À¤±¤Ç¤¹¡£
-               </p>
-               
-               <p>
-                       ±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤«¤é¾Ã¤·¤¿¤¤»þ¤Ï¡¢°Ê²¼¤Î¼ê½ç¤òƧ¤ó¤Ç¤¯¤À¤µ¤¤:
-               </p>
-
-               <ol>
-                       <li>¥¹¥¿¡¼¥È¥á¥Ë¥å¡¼¤«¤é¡Ö¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¼Â¹Ô...¡×¤òÁªÂò</li>
-                       <li>"regedit" ¤ÈÆþÎÏ</li>
-                       <li>"OK" ¥Ü¥¿¥ó¤ò²¡¤¹</li>
-                       <li>"\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt" ¤ò¥Ä¥ê¡¼¤ÎÃ椫¤é¸¡º÷</li>
-                       <li>"add to weblog" ¥¨¥ó¥È¥ê¤òºï½ü</li>                         
-               </ol>
-
-               <?php
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_actionlog() {
-               global $member, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-               $url = $manager->addTicketToUrl('index.php?action=clearactionlog');
-
-               ?>
-                       <h2><?php echo _ACTIONLOG_CLEAR_TITLE?></h2>
-                       <p><a href="<?php echo htmlspecialchars($url)?>"><?php echo _ACTIONLOG_CLEAR_TEXT?></a></p>
-               <?php
-               echo '<h2>' . _ACTIONLOG_TITLE . '</h2>';
-
-               $query =  'SELECT * FROM '.sql_table('actionlog').' ORDER BY timestamp DESC';
-               $template['content'] = 'actionlist';
-               $amount = showlist($query,'table',$template);
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlist() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=overview">(',_BACKHOME,')</a></p>';
-
-               echo '<h2>' . _BAN_TITLE . " '". $this->bloglink($blog) ."'</h2>";
-
-               $query =  'SELECT * FROM '.sql_table('ban').' WHERE blogid='.$blogid.' ORDER BY iprange';
-               $template['content'] = 'banlist';
-               $amount = showlist($query,'table',$template);
-
-               if ($amount == 0)
-                       echo _BAN_NONE;
-
-               echo '<h2>'._BAN_NEW_TITLE.'</h2>';
-               echo "<p><a href='index.php?action=banlistnew&amp;blogid=$blogid'>"._BAN_NEW_TEXT."</a></p>";
-
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlistdelete() {
-               global $member, $manager;
-
-               $blogid = intRequestVar('blogid');
-               $iprange = requestVar('iprange');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _BAN_REMOVE_TITLE?></h2>
-
-                       <form method="post" action="index.php">
-
-                       <h3><?php echo _BAN_IPRANGE?></h3>
-
-                       <p>
-                               <?php echo _CONFIRMTXT_BAN?> <?php echo htmlspecialchars($iprange) ?>
-                               <input name="iprange" type="hidden" value="<?php echo htmlspecialchars($iprange)?>" />
-                       </p>
-
-                       <h3><?php echo _BAN_BLOGS?></h3>
-
-                       <div>
-                               <input type="hidden" name="blogid" value="<?php echo $blogid?>" />
-                               <input name="allblogs" type="radio" value="0" id="allblogs_one" /><label for="allblogs_one">Only blog '<?php echo htmlspecialchars($blog->getName())?>'</label>
-                               <br />
-                               <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><?php echo _BAN_ALLBLOGS?></label>
-                       </div>
-
-                       <h3><?php echo _BAN_DELETE_TITLE?></h3>
-
-                       <div>
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="hidden" name="action" value="banlistdeleteconfirm" />
-                               <input type="submit" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div>
-
-                       </form>
-               <?php
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlistdeleteconfirm() {
-               global $member, $manager;
-
-               $blogid = intPostVar('blogid');
-               $allblogs = postVar('allblogs');
-               $iprange = postVar('iprange');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $deleted = array();
-
-               if (!$allblogs) {
-                       if (BAN::removeBan($blogid, $iprange))
-                               array_push($deleted, $blogid);
-               } else {
-                       // get blogs fot which member has admin rights
-                       $adminblogs = $member->getAdminBlogs();
-                       foreach ($adminblogs as $blogje) {
-                               if (BAN::removeBan($blogje, $iprange))
-                                       array_push($deleted, $blogje);
-                       }
-               }
-
-               if (sizeof($deleted) == 0)
-                       $this->error(_ERROR_DELETEBAN);
-
-               $this->pagehead();
-
-               echo '<a href="index.php?action=banlist&amp;blogid=',$blogid,'">(',_BACK,')</a>';
-               echo '<h2>'._BAN_REMOVED_TITLE.'</h2>';
-               echo "<p>"._BAN_REMOVED_TEXT."</p>";
-
-               echo "<ul>";
-               foreach ($deleted as $delblog) {
-                       $b =& $manager->getBlog($delblog);
-                       echo "<li>" . htmlspecialchars($b->getName()). "</li>";
-               }
-               echo "</ul>";
-
-               $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlistnewfromitem() {
-               $this->action_banlistnew(getBlogIDFromItemID(intRequestVar('itemid')));
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlistnew($blogid = '') {
-               global $member, $manager;
-
-               if ($blogid == '')
-                       $blogid = intRequestVar('blogid');
-
-               $ip = requestVar('ip');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               $blog =& $manager->getBlog($blogid);
-
-               $this->pagehead();
-               ?>
-               <h2><?php echo _BAN_ADD_TITLE?></h2>
-
-
-               <form method="post" action="index.php">
-
-               <h3><?php echo _BAN_IPRANGE?></h3>
-
-               <p><?php echo _BAN_IPRANGE_TEXT?></p>
-
-               <div class="note">
-               <b>An example</b>: "134.58.253.193" will only block one computer, while "134.58.253" will block 256 IP addresses, including the one from the first example.
-               </div>
-
-               <div>
-               <?php                   if ($ip) {
-               ?>
-                       <input name="iprange" type="radio" value="<?php echo htmlspecialchars($ip)?>" checked="checked" id="ip_fixed" /><label for="ip_fixed"><?php echo htmlspecialchars($ip)?></label>
-                       <br />
-                       <input name="iprange" type="radio" value="custom" id="ip_custom" /><label for="ip_custom">Custom: </label><input name='customiprange' value='<?php echo htmlspecialchars($ip)?>' maxlength='15' size='15' />
-               <?php   } else {
-                               echo "<input name='iprange' value='custom' type='hidden' />";
-                               echo "<input name='customiprange' value='' maxlength='15' size='15' />";
-                       }
-               ?>
-               </div>
-
-               <h3><?php echo _BAN_BLOGS?></h3>
-
-               <p><?php echo _BAN_BLOGS_TEXT?></p>
-
-               <div>
-                       <input type="hidden" name="blogid" value="<?php echo $blogid?>" />
-                       <input name="allblogs" type="radio" value="0" id="allblogs_one" /><label for="allblogs_one">'<?php echo htmlspecialchars($blog->getName())?>'</label>
-                       <br />
-                       <input name="allblogs" type="radio" value="1" checked="checked" id="allblogs_all" /><label for="allblogs_all"><?php echo _BAN_ALLBLOGS?></label>
-               </div>
-
-               <h3><?php echo _BAN_REASON_TITLE?></h3>
-
-               <p><?php echo _BAN_REASON_TEXT?></p>
-
-               <div><textarea name="reason" cols="40" rows="5"></textarea></div>
-
-               <h3><?php echo _BAN_ADD_TITLE?></h3>
-
-               <div>
-                       <input name="action" type="hidden" value="banlistadd" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="submit" value="<?php echo _BAN_ADD_BTN?>" />
-               </div>
-
-               </form>
-
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_banlistadd() {
-               global $member;
-
-               $blogid =               intPostVar('blogid');
-               $allblogs =     postVar('allblogs');
-               $iprange =              postVar('iprange');
-               if ($iprange == "custom")
-                       $iprange = postVar('customiprange');
-               $reason =               postVar('reason');
-
-               $member->blogAdminRights($blogid) or $this->disallow();
-
-               // TODO: check IP range validity
-
-               if (!$allblogs) {
-                       if (!BAN::addBan($blogid, $iprange, $reason))
-                               $this->error(_ERROR_ADDBAN);
-               } else {
-                       // get blogs fot which member has admin rights
-                       $adminblogs = $member->getAdminBlogs();
-                       $failed = 0;
-                       foreach ($adminblogs as $blogje) {
-                               if (!BAN::addBan($blogje, $iprange, $reason))
-                                       $failed = 1;
-                       }
-                       if ($failed)
-                               $this->error(_ERROR_ADDBAN);
-               }
-
-               $this->action_banlist();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_clearactionlog() {
-               global $member;
-
-               $member->isAdmin() or $this->disallow();
-
-               ACTIONLOG::clear();
-
-               $this->action_manage(_MSG_ACTIONLOGCLEARED);
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_backupoverview() {
-               global $member, $manager;
-
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-               ?>
-               <h2><?php echo _BACKUPS_TITLE?></h2>
-
-               <h3><?php echo _BACKUP_TITLE?></h3>
-
-               <p><?php echo _BACKUP_INTRO?></p>
-
-               <form method="post" action="index.php"><p>
-               <input type="hidden" name="action" value="backupcreate" />
-               <?php $manager->addTicketHidden() ?>
-
-               <input type="radio" name="gzip" value="1" checked="checked" id="gzip_yes" tabindex="10" /><label for="gzip_yes"><?php echo _BACKUP_ZIP_YES?></label>
-               <br />
-               <input type="radio" name="gzip" value="0" id="gzip_no" tabindex="10" /><label for="gzip_no" ><?php echo _BACKUP_ZIP_NO?></label>
-               <br /><br />
-               <input type="submit" value="<?php echo _BACKUP_BTN?>" tabindex="20" />
-
-               </p></form>
-
-               <div class="note"><?php echo _BACKUP_NOTE?></div>
-
-
-               <h3><?php echo _RESTORE_TITLE?></h3>
-
-               <div class="note"><?php echo _RESTORE_NOTE?></div>
-
-               <p><?php echo _RESTORE_INTRO?></p>
-
-               <form method="post" action="index.php" enctype="multipart/form-data"><p>
-                       <input type="hidden" name="action" value="backuprestore" />
-                       <?php $manager->addTicketHidden() ?>
-                       <input name="backup_file" type="file" tabindex="30" />
-                       <br /><br />
-                       <input type="submit" value="<?php echo _RESTORE_BTN?>" tabindex="40" />
-                       <br /><input type="checkbox" name="letsgo" value="1" id="letsgo" tabindex="50" /><label for="letsgo"><?php echo _RESTORE_IMSURE?></label>
-                       <br /><?php echo _RESTORE_WARNING?>
-               </p></form>
-
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_backupcreate() {
-               global $member, $DIR_LIBS;
-
-               $member->isAdmin() or $this->disallow();
-
-               // use compression ?
-               $useGzip = intval(postVar('gzip'));
-
-               include($DIR_LIBS . 'backup.php');
-
-               // try to extend time limit
-               // (creating/restoring dumps might take a while)
-               @set_time_limit(1200);
-
-               do_backup($useGzip);
-               exit;
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_backuprestore() {
-               global $member, $DIR_LIBS;
-
-               $member->isAdmin() or $this->disallow();
-
-               if (intPostVar('letsgo') != 1)
-                       $this->error(_ERROR_BACKUP_NOTSURE);
-
-               include($DIR_LIBS . 'backup.php');
-
-               // try to extend time limit
-               // (creating/restoring dumps might take a while)
-               @set_time_limit(1200);
-
-               $message = do_restore();
-               if ($message != '')
-                       $this->error($message);
-
-               $this->pagehead();
-               ?>
-               <h2><?php echo _RESTORE_COMPLETE?></h2>
-               <?php           $this->pagefoot();
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginlist() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=manage">(',_BACKTOMANAGE,')</a></p>';
-
-               echo '<h2>' , _PLUGS_TITLE_MANAGE , ' ', help('plugins'), '</h2>';
-
-               echo '<h3>' , _PLUGS_TITLE_INSTALLED , '</h3>';
-
-
-               $query =  'SELECT * FROM '.sql_table('plugin').' ORDER BY porder ASC';
-
-               $template['content'] = 'pluginlist';
-               $template['tabindex'] = 10;
-               showlist($query, 'table', $template);
-
-               ?>
-                       <h3><?php echo _PLUGS_TITLE_UPDATE?></h3>
-
-                       <p><?php echo _PLUGS_TEXT_UPDATE?></p>
-
-                       <form method="post" action="index.php"><div>
-                               <input type="hidden" name="action" value="pluginupdate" />
-                               <?php $manager->addTicketHidden() ?>
-                               <input type="submit" value="<?php echo _PLUGS_BTN_UPDATE ?>" tabindex="20" />
-                       </div></form>
-
-                       <h3><?php echo _PLUGS_TITLE_NEW?></h3>
-
-                       <?php                           // find a list of possibly non-installed plugins
-                               $candidates = array();
-                               global $DIR_PLUGINS;
-                               $dirhandle = opendir($DIR_PLUGINS);
-                               while ($filename = readdir($dirhandle)) {
-                                       if (ereg('^NP_(.*)\.php$',$filename,$matches)) {
-                                               $name = $matches[1];
-                                               // only show in list when not yet installed
-                                               $res = sql_query('SELECT * FROM '.sql_table('plugin').' WHERE pfile="NP_'.addslashes($name).'"');
-                                               if (mysql_num_rows($res) == 0)
-                                                       array_push($candidates,$name);
-                                       }
-                               }
-                               closedir($dirhandle);
-
-                               if (sizeof($candidates) > 0) {
-                       ?>
-
-                       <p><?php echo _PLUGS_ADD_TEXT?></p>
-
-
-                       <form method='post' action='index.php'><div>
-                               <input type='hidden' name='action' value='pluginadd' />
-                               <?php $manager->addTicketHidden() ?>
-                               <select name="filename" tabindex="30">
-                               <?php                                   foreach($candidates as $name)
-                                               echo '<option value="NP_',$name,'">',htmlspecialchars($name),'</option>';
-                               ?>
-                               </select>
-                               <input type='submit' tabindex="40" value='<?php echo _PLUGS_BTN_INSTALL?>' />
-                       </div></form>
-
-               <?php                   } else {        // sizeof(candidates) == 0
-                               echo '<p>',_PLUGS_NOCANDIDATES,'</p>';
-                       }
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginhelp() {
-               global $member, $manager, $DIR_PLUGINS, $CONF;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $plugid = intGetVar('plugid');
-
-               if (!$manager->pidInstalled($plugid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               $plugName = getPluginNameFromPid($plugid);
-
-               $this->pagehead();
-
-               echo '<p><a href="index.php?action=pluginlist">(',_PLUGS_BACK,')</a></p>';
-
-               echo '<h2>',_PLUGS_HELP_TITLE,': ',htmlspecialchars($plugName),'</h2>';
-
-               $plug =& $manager->getPlugin($plugName);
-               $helpFile = $DIR_PLUGINS.$plug->getShortName().'/help.html';
-
-               if (($plug->supportsFeature('HelpPage') > 0) && (@file_exists($helpFile))) {
-                       @readfile($helpFile);
-               } else {
-                       echo '<p>Error: ', _ERROR_PLUGNOHELPFILE,'</p>';
-                       echo '<p><a href="index.php?action=pluginlist">(',_BACK,')</a></p>';
-               }
-
-
-               $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginadd() {
-               global $member, $manager, $DIR_PLUGINS;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $name = postVar('filename');
-
-               if ($manager->pluginInstalled($name))
-                       $this->error(_ERROR_DUPPLUGIN);
-               if (!checkPlugin($name))
-                       $this->error(_ERROR_PLUGFILEERROR . ' (' . htmlspecialchars($name) . ')');
-
-               // get number of currently installed plugins
-               $res = sql_query('SELECT * FROM '.sql_table('plugin'));
-               $numCurrent = mysql_num_rows($res);
-
-               // plugin will be added as last one in the list
-               $newOrder = $numCurrent + 1;
-
-               $manager->notify(
-                       'PreAddPlugin',
-                       array(
-                               'file' => &$name
-                       )
-               );
-
-               // do this before calling getPlugin (in case the plugin id is used there)
-               $query = 'INSERT INTO '.sql_table('plugin').' (porder, pfile) VALUES ('.$newOrder.',"'.addslashes($name).'")';
-               sql_query($query);
-               $iPid = mysql_insert_id();
-
-               $manager->clearCachedInfo('installedPlugins');
-
-               // Load the plugin for condition checking and instalation
-               $plugin =& $manager->getPlugin($name);
-
-               // check if it got loaded (could have failed)
-               if (!$plugin)
-               {
-                       sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pid='. intval($iPid));
-                       $manager->clearCachedInfo('installedPlugins');
-                       $this->error(_ERROR_PLUGIN_LOAD);
-               }
-
-               // check if plugin needs a newer Nucleus version
-               if (getNucleusVersion() < $plugin->getMinNucleusVersion())
-               {
-                       // uninstall plugin again...
-                       $this->deleteOnePlugin($plugin->getID());
-
-                       // ...and show error
-                       $this->error(_ERROR_NUCLEUSVERSIONREQ . htmlspecialchars($plugin->getMinNucleusVersion()));
-               }
-
-               // check if plugin needs a newer Nucleus version
-               if ((getNucleusVersion() == $plugin->getMinNucleusVersion()) && (getNucleusPatchLevel() < $plugin->getMinNucleusPatchLevel()))
-               {
-                       // uninstall plugin again...
-                       $this->deleteOnePlugin($plugin->getID());
-
-                       // ...and show error
-                       $this->error(_ERROR_NUCLEUSVERSIONREQ . htmlspecialchars( $plugin->getMinNucleusVersion() . ' patch ' . $plugin->getMinNucleusPatchLevel() ) );
-               }
-
-               $pluginList = $plugin->getPluginDep();
-               foreach ($pluginList as $pluginName)
-               {
-
-                       $res = sql_query('SELECT * FROM '.sql_table('plugin') . ' WHERE pfile="' . $pluginName . '"');
-                       if (mysql_num_rows($res) == 0)
-                       {
-                               // uninstall plugin again...
-                               $this->deleteOnePlugin($plugin->getID());
-
-                               $this->error(_ERROR_INSREQPLUGIN . htmlspecialchars($pluginName));
-                       }
-               }
-
-               // call the install method of the plugin
-               $plugin->install();
-
-               $manager->notify(
-                       'PostAddPlugin',
-                       array(
-                               'plugin' => &$plugin
-                       )
-               );
-
-               // update all events
-               $this->action_pluginupdate();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginupdate() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               // delete everything from plugin_events
-               sql_query('DELETE FROM '.sql_table('plugin_event'));
-
-               // loop over all installed plugins
-               $res = sql_query('SELECT pid, pfile FROM '.sql_table('plugin'));
-               while($o = mysql_fetch_object($res)) {
-                       $pid = $o->pid;
-                       $plug =& $manager->getPlugin($o->pfile);
-                       if ($plug)
-                       {
-                               $eventList = $plug->getEventList();
-                               foreach ($eventList as $eventName)
-                                       sql_query('INSERT INTO '.sql_table('plugin_event').' (pid, event) VALUES ('.$pid.', \''.addslashes($eventName).'\')');
-                       }
-               }
-
-               $this->action_pluginlist();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_plugindelete() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $pid = intGetVar('plugid');
-
-               if (!$manager->pidInstalled($pid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               $this->pagehead();
-               ?>
-                       <h2><?php echo _DELETE_CONFIRM?></h2>
-
-                       <p><?php echo _CONFIRMTXT_PLUGIN?> <strong><?php echo getPluginNameFromPid($pid)?></strong>?</p>
-
-                       <form method="post" action="index.php"><div>
-                       <?php $manager->addTicketHidden() ?>
-                       <input type="hidden" name="action" value="plugindeleteconfirm" />
-                       <input type="hidden" name="plugid" value="<?php echo $pid; ?>" />
-                       <input type="submit" tabindex="10" value="<?php echo _DELETE_CONFIRM_BTN?>" />
-                       </div></form>
-               <?php           $this->pagefoot();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_plugindeleteconfirm() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $pid = intPostVar('plugid');
-
-               $error = $this->deleteOnePlugin($pid, 1);
-               if ($error) {
-                       $this->error($error);
-               }
-
-               $this->action_pluginlist();
-       }
-
-       /**
-        * @todo document this
-        */
-       function deleteOnePlugin($pid, $callUninstall = 0) {
-               global $manager;
-
-               $pid = intval($pid);
-
-               if (!$manager->pidInstalled($pid))
-                       return _ERROR_NOSUCHPLUGIN;
-
-               $name = quickQuery('SELECT pfile as result FROM '.sql_table('plugin').' WHERE pid='.$pid);
-
-               // call the unInstall method of the plugin
-               if ($callUninstall) {
-                       $plugin =& $manager->getPlugin($name);
-                       if ($plugin) $plugin->unInstall();
-               }
-
-               // check dependency before delete
-               $res = sql_query('SELECT pfile FROM '.sql_table('plugin'));
-               while($o = mysql_fetch_object($res)) {
-                       $plug =& $manager->getPlugin($o->pfile);
-                       if ($plug)
-                       {
-                               $depList = $plug->getPluginDep();
-                               foreach ($depList as $depName)
-                               {
-                                       if ($name == $depName)
-                                       {
-                                               return _ERROR_DELREQPLUGIN . $o->pfile;
-                                       }
-                               }
-                       }
-               }
-
-               $manager->notify('PreDeletePlugin', array('plugid' => $pid));
-
-               // delete all subscriptions
-               sql_query('DELETE FROM '.sql_table('plugin_event').' WHERE pid=' . $pid);
-
-               // delete all options
-               // get OIDs from plugin_option_desc
-               $res = sql_query('SELECT oid FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . $pid);
-               $aOIDs = array();
-               while ($o = mysql_fetch_object($res)) {
-                       array_push($aOIDs, $o->oid);
-               }
-
-               // delete from plugin_option and plugin_option_desc
-               sql_query('DELETE FROM '.sql_table('plugin_option_desc').' WHERE opid=' . $pid);
-               if (count($aOIDs) > 0)
-                       sql_query('DELETE FROM '.sql_table('plugin_option').' WHERE oid in ('.implode(',',$aOIDs).')');
-
-               // update order numbers
-               $res = sql_query('SELECT porder FROM '.sql_table('plugin').' WHERE pid=' . $pid);
-               $o = mysql_fetch_object($res);
-               sql_query('UPDATE '.sql_table('plugin').' SET porder=(porder - 1) WHERE porder>'.$o->porder);
-
-               // delete row
-               sql_query('DELETE FROM '.sql_table('plugin').' WHERE pid='.$pid);
-
-               $manager->clearCachedInfo('installedPlugins');
-               $manager->notify('PostDeletePlugin', array('plugid' => $pid));
-
-               return '';
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginup() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $plugid = intGetVar('plugid');
-
-               if (!$manager->pidInstalled($plugid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               // 1. get old order number
-               $res = sql_query('SELECT porder FROM '.sql_table('plugin').' WHERE pid='.$plugid);
-               $o = mysql_fetch_object($res);
-               $oldOrder = $o->porder;
-
-               // 2. calculate new order number
-               $newOrder = ($oldOrder > 1) ? ($oldOrder - 1) : 1;
-
-               // 3. update plug numbers
-               sql_query('UPDATE '.sql_table('plugin').' SET porder='.$oldOrder.' WHERE porder='.$newOrder);
-               sql_query('UPDATE '.sql_table('plugin').' SET porder='.$newOrder.' WHERE pid='.$plugid);
-
-               $this->action_pluginlist();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_plugindown() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $plugid = intGetVar('plugid');
-               if (!$manager->pidInstalled($plugid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               // 1. get old order number
-               $res = sql_query('SELECT porder FROM '.sql_table('plugin').' WHERE pid='.$plugid);
-               $o = mysql_fetch_object($res);
-               $oldOrder = $o->porder;
-
-               $res = sql_query('SELECT * FROM '.sql_table('plugin'));
-               $maxOrder = mysql_num_rows($res);
-
-               // 2. calculate new order number
-               $newOrder = ($oldOrder < $maxOrder) ? ($oldOrder + 1) : $maxOrder;
-
-               // 3. update plug numbers
-               sql_query('UPDATE '.sql_table('plugin').' SET porder='.$oldOrder.' WHERE porder='.$newOrder);
-               sql_query('UPDATE '.sql_table('plugin').' SET porder='.$newOrder.' WHERE pid='.$plugid);
-
-               $this->action_pluginlist();
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginoptions($message = '') {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $pid = intRequestVar('plugid');
-               if (!$manager->pidInstalled($pid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';
-               $this->pagehead($extrahead);
-
-               ?>
-                       <p><a href="index.php?action=pluginlist">(<?php echo _PLUGS_BACK?>)</a></p>
-
-                       <h2>Options for <?php echo htmlspecialchars(getPluginNameFromPid($pid))?></h2>
-
-                       <?php if  ($message) echo $message?>
-
-                       <form action="index.php" method="post">
-                       <div>
-                               <input type="hidden" name="action" value="pluginoptionsupdate" />
-                               <input type="hidden" name="plugid" value="<?php echo $pid?>" />
-
-               <?php
-
-               $manager->addTicketHidden();
-
-               $aOptions = array();
-               $aOIDs = array();
-               $query = 'SELECT * FROM ' . sql_table('plugin_option_desc') . ' WHERE ocontext=\'global\' and opid=' . $pid . ' ORDER BY oid ASC';
-               $r = sql_query($query);
-               while ($o = mysql_fetch_object($r)) {
-                       array_push($aOIDs, $o->oid);
-                       $aOptions[$o->oid] = array(
-                                               'oid' => $o->oid,
-                                               'value' => $o->odef,
-                                               'name' => $o->oname,
-                                               'description' => $o->odesc,
-                                               'type' => $o->otype,
-                                               'typeinfo' => $o->oextra,
-                                               'contextid' => 0
-                       );
-               }
-               // fill out actual values
-               if (count($aOIDs) > 0) {
-                       $r = sql_query('SELECT oid, ovalue FROM ' . sql_table('plugin_option') . ' WHERE oid in ('.implode(',',$aOIDs).')');
-                       while ($o = mysql_fetch_object($r))
-                               $aOptions[$o->oid]['value'] = $o->ovalue;
-               }
-
-               // call plugins
-               $manager->notify('PrePluginOptionsEdit',array('context' => 'global', 'plugid' => $pid, 'options'=>&$aOptions));
-
-               $template['content'] = 'plugoptionlist';
-               $amount = showlist($aOptions,'table',$template);
-               if ($amount == 0)
-                       echo '<p>',_ERROR_NOPLUGOPTIONS,'</p>';
-
-               ?>
-                       </div>
-                       </form>
-               <?php           $this->pagefoot();
-
-
-
-       }
-
-       /**
-        * @todo document this
-        */
-       function action_pluginoptionsupdate() {
-               global $member, $manager;
-
-               // check if allowed
-               $member->isAdmin() or $this->disallow();
-
-               $pid = intRequestVar('plugid');
-               if (!$manager->pidInstalled($pid))
-                       $this->error(_ERROR_NOSUCHPLUGIN);
-
-               $aOptions = requestArray('plugoption');
-               NucleusPlugin::_applyPluginOptions($aOptions);
-
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'global', 'plugid' => $pid));
-
-               $this->action_pluginoptions(_PLUGS_OPTIONS_UPDATED);
-       }
-
-       /**
-        * @static
-        * @todo document this
-        */
-       function _insertPluginOptions($context, $contextid = 0) {
-               // get all current values for this contextid
-               // (note: this might contain doubles for overlapping contextids)
-               $aIdToValue = array();
-               $res = sql_query('SELECT oid, ovalue FROM ' . sql_table('plugin_option') . ' WHERE ocontextid=' . intval($contextid));
-               while ($o = mysql_fetch_object($res)) {
-                       $aIdToValue[$o->oid] = $o->ovalue;
-               }
-
-               // get list of oids per pid
-               $query = 'SELECT * FROM ' . sql_table('plugin_option_desc') . ',' . sql_table('plugin')
-                          . ' WHERE opid=pid and ocontext=\''.addslashes($context).'\' ORDER BY porder, oid ASC';
-               $res = sql_query($query);
-               $aOptions = array();
-               while ($o = mysql_fetch_object($res)) {
-                       if (in_array($o->oid, array_keys($aIdToValue)))
-                               $value = $aIdToValue[$o->oid];
-                       else
-                               $value = $o->odef;
-
-                       array_push($aOptions, array(
-                               'pid' => $o->pid,
-                               'pfile' => $o->pfile,
-                               'oid' => $o->oid,
-                               'value' => $value,
-                               'name' => $o->oname,
-                               'description' => $o->odesc,
-                               'type' => $o->otype,
-                               'typeinfo' => $o->oextra,
-                               'contextid' => $contextid,
-                               'extra' => ''
-                       ));
-               }
-
-               global $manager;
-               $manager->notify('PrePluginOptionsEdit',array('context' => $context, 'contextid' => $contextid, 'options'=>&$aOptions));
-
-
-               $iPrevPid = -1;
-               foreach ($aOptions as $aOption) {
-
-                       // new plugin?
-                       if ($iPrevPid != $aOption['pid']) {
-                               $iPrevPid = $aOption['pid'];
-
-                               echo '<tr><th colspan="2">Options for ', htmlspecialchars($aOption['pfile']),'</th></tr>';
-                       }
-
-                       echo '<tr>';
-                       listplug_plugOptionRow($aOption);
-                       echo '</tr>';
-
-               }
-
-
-       }
-
-       /**
-        * Helper functions to create option forms etc.
-        * @todo document parameters
-        */
-       function input_yesno($name, $checkedval,$tabindex = 0, $value1 = 1, $value2 = 0, $yesval = _YES, $noval = _NO, $isAdmin = 0) {
-               $id = htmlspecialchars($name);
-               $id = str_replace('[','-',$id);
-               $id = str_replace(']','-',$id);
-               $id1 = $id . htmlspecialchars($value1);
-               $id2 = $id . htmlspecialchars($value2);
-
-               if ($name=="admin") {
-                       echo '<input onclick="selectCanLogin(true);" type="radio" name="', htmlspecialchars($name),'" value="', htmlspecialchars($value1),'" ';
-               } else {
-                       echo '<input type="radio" name="', htmlspecialchars($name),'" value="', htmlspecialchars($value1),'" ';
-               }
-
-                       if ($checkedval == $value1)
-                               echo "tabindex='$tabindex' checked='checked'";
-                       echo ' id="'.$id1.'" /><label for="'.$id1.'">' . $yesval . '</label>';
-               echo ' ';
-               if ($name=="admin") {
-                       echo '<input onclick="selectCanLogin(false);" type="radio" name="', htmlspecialchars($name),'" value="', htmlspecialchars($value2),'" ';
-               } else {
-                       echo '<input type="radio" name="', htmlspecialchars($name),'" value="', htmlspecialchars($value2),'" ';
-               }
-                       if ($checkedval != $value1)
-                               echo "tabindex='$tabindex' checked='checked'";
-                       if ($isAdmin && $name=="canlogin")
-                               echo " disabled='true'";
-                       echo ' id="'.$id2.'" /><label for="'.$id2.'">' . $noval . '</label>';
-       }
-
-} // class ADMIN
-
-?>
diff --git a/euc/nucleus/libs/BAN.php b/euc/nucleus/libs/BAN.php
deleted file mode 100755 (executable)
index 343b97d..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * PHP class responsible for ban-management.
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: BAN.php,v 1.4 2007-03-22 09:23:58 kimitake Exp $
- * $NucleusJP: BAN.php,v 1.7 2007/02/04 06:28:46 kimitake Exp $
- */
-
-class BAN {
-
-       /**
-         * Checks if a given IP is banned from commenting/voting
-         *
-         * Returns 0 when not banned, or a BANINFO object containing the
-         * message and other information of the ban
-         */
-       function isBanned($blogid, $ip) {
-               $blogid = intval($blogid);
-               $query = 'SELECT * FROM '.sql_table('ban').' WHERE blogid='.$blogid;
-               $res = sql_query($query);
-               while ($obj = mysql_fetch_object($res)) {
-                       $found = strpos ($ip, $obj->iprange);
-                       if (!($found === false))
-                               // found a match!
-                                       return new BANINFO($obj->iprange, $obj->reason);
-               }
-               return 0;
-       }
-
-       /**
-         * Adds a new ban to the banlist. Returns 1 on success, 0 on error
-         */
-       function addBan($blogid, $iprange, $reason) {
-               global $manager;
-
-               $blogid = intval($blogid);
-
-               $manager->notify(
-                       'PreAddBan',
-                       array(
-                               'blogid' => $blogid,
-                               'iprange' => &$iprange,
-                               'reason' => &$reason
-                       )
-               );
-
-               $query = 'INSERT INTO '.sql_table('ban')." (blogid, iprange, reason) VALUES "
-                          . "($blogid,'".addslashes($iprange)."','".addslashes($reason)."')";
-               $res = sql_query($query);
-
-               $manager->notify(
-                       'PostAddBan',
-                       array(
-                               'blogid' => $blogid,
-                               'iprange' => $iprange,
-                               'reason' => $reason
-                       )
-               );
-
-               return $res ? 1 : 0;
-       }
-
-       /**
-         * Removes a ban from the banlist (correct iprange is needed as argument)
-         * Returns 1 on success, 0 on error
-         */
-       function removeBan($blogid, $iprange) {
-               global $manager;
-               $blogid = intval($blogid);
-
-               $manager->notify('PreDeleteBan', array('blogid' => $blogid, 'range' => $iprange));
-
-               $query = 'DELETE FROM '.sql_table('ban')." WHERE blogid=$blogid and iprange='" .addslashes($iprange). "'";
-               sql_query($query);
-
-               $result = (mysql_affected_rows() > 0);
-
-               $manager->notify('PostDeleteBan', array('blogid' => $blogid, 'range' => $iprange));
-
-               return $result;
-       }
-}
-
-class BANINFO {
-       var $iprange;
-       var $message;
-
-       function BANINFO($iprange, $message) {
-               $this->iprange = $iprange;
-               $this->message = $message;
-       }
-}
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/BLOG.php b/euc/nucleus/libs/BLOG.php
deleted file mode 100755 (executable)
index ac569bf..0000000
+++ /dev/null
@@ -1,1115 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class representing a blog and containing functions to get that blog shown
- * on the screen
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: BLOG.php,v 1.6 2007-05-01 08:39:11 kimitake Exp $
- * $NucleusJP: BLOG.php,v 1.5 2007/04/20 08:20:31 kimitake Exp $
- */
-
-if ( !function_exists('requestVar') ) exit;
-require_once dirname(__FILE__) . '/ITEMACTIONS.php';
-
-class BLOG {
-
-       // blog id
-       var $blogid;
-
-       // ID of currently selected category
-       var $selectedcatid;
-
-       // After creating an object of the blog class, contains true if the BLOG object is
-       // valid (the blog exists)
-       var $isValid;
-
-       // associative array, containing all blogsettings (use the get/set functions instead)
-       var $settings;
-
-       /**
-        * Creates a new BLOG object for the given blog
-        *
-        * @param $id blogid
-        */
-       function BLOG($id) {
-               $this->blogid = intval($id);
-               $this->readSettings();
-
-               // try to set catid
-               // (the parse functions in SKIN.php will override this, so it's mainly useless)
-               global $catid;
-               $this->setSelectedCategory($catid);
-       }
-
-       /**
-        * Shows the given amount of items for this blog
-        *
-        * @param $template
-        *              String representing the template _NAME_ (!)
-        * @param $amountEntries
-        *              amount of entries to show
-        * @param $startpos
-        *              offset from where items should be shown (e.g. 5 = start at fifth item)
-        * @returns int
-        *              amount of items shown
-        */
-       function readLog($template, $amountEntries, $offset = 0, $startpos = 0) {
-               return $this->readLogAmount($template,$amountEntries,'','',1,1,$offset, $startpos);
-       }
-
-       /**
-        * Shows an archive for a given month
-        *
-        * @param $year
-        *              year
-        * @param $month
-        *              month
-        * @param $template
-        *              String representing the template name to be used
-        */
-       function showArchive($templatename, $year, $month, $day=0) {
-
-               // create extra where clause for select query
-               if ($day == 0) {
-                       $timestamp_start = mktime(0,0,0,$month,1,$year);
-                       $timestamp_end = mktime(0,0,0,$month+1,1,$year);  // also works when $month==12
-               } else {
-                       $timestamp_start = mktime(0,0,0,$month,$day,$year);
-                       $timestamp_end = mktime(0,0,0,$month,$day+1,$year);
-               }
-               $extra_query = ' and i.itime>=' . mysqldate($timestamp_start)
-                                        . ' and i.itime<' . mysqldate($timestamp_end);
-
-
-               $this->readLogAmount($templatename,0,$extra_query,'',1,1);
-
-       }
-
-
-       // sets/gets current category (only when category exists)
-       function setSelectedCategory($catid) {
-               if ($this->isValidCategory($catid) || (intval($catid) == 0))
-                       $this->selectedcatid = intval($catid);
-       }
-
-       function setSelectedCategoryByName($catname) {
-               $this->setSelectedCategory($this->getCategoryIdFromName($catname));
-       }
-
-       function getSelectedCategory() {
-               return $this->selectedcatid;
-       }
-
-       /**
-        * Shows the given amount of items for this blog
-        *
-        * @param $template
-        *              String representing the template _NAME_ (!)
-        * @param $amountEntries
-        *              amount of entries to show (0 = no limit)
-        * @param $extraQuery
-        *              extra conditions to be added to the query
-        * @param $highlight
-        *              contains a query that should be highlighted
-        * @param $comments
-        *              1=show comments 0=don't show comments
-        * @param $dateheads
-        *              1=show dateheads 0=don't show dateheads
-        * @param $offset
-        *              offset
-        * @returns int
-        *              amount of items shown
-        */
-       function readLogAmount($template, $amountEntries, $extraQuery, $highlight, $comments, $dateheads, $offset = 0, $startpos = 0) {
-
-               $query = $this->getSqlBlog($extraQuery);
-
-               if ($amountEntries > 0) {
-                               // $offset zou moeten worden:
-                               // (($startpos / $amountentries) + 1) * $offset ... later testen ...
-                          $query .= ' LIMIT ' . intval($startpos + $offset).',' . intval($amountEntries);
-               }
-               return $this->showUsingQuery($template, $query, $highlight, $comments, $dateheads);
-       }
-
-       function showUsingQuery($templateName, $query, $highlight = '', $comments = 0, $dateheads = 1) {
-               global $CONF, $manager;
-
-               $lastVisit = cookieVar($CONF['CookiePrefix'] .'lastVisit');
-               if ($lastVisit != 0)
-                       $lastVisit = $this->getCorrectTime($lastVisit);
-
-               // set templatename as global variable (so plugins can access it)
-               global $currentTemplateName;
-               $currentTemplateName = $templateName;
-
-               $template =& $manager->getTemplate($templateName);
-
-               // create parser object & action handler
-               $actions =& new ITEMACTIONS($this);
-               $parser =& new PARSER($actions->getDefinedActions(),$actions);
-               $actions->setTemplate($template);
-               $actions->setHighlight($highlight);
-               $actions->setLastVisit($lastVisit);
-               $actions->setParser($parser);
-               $actions->setShowComments($comments);
-
-               // execute query
-               $items = sql_query($query);
-
-               // loop over all items
-               $old_date = 0;
-               while ($item = mysql_fetch_object($items)) {
-
-                       $item->timestamp = strtotime($item->itime);     // string timestamp -> unix timestamp
-
-                       // action handler needs to know the item we're handling
-                       $actions->setCurrentItem($item);
-
-                       // add date header if needed
-                       if ($dateheads) {
-                               $new_date = date('dFY',$item->timestamp);
-                               if ($new_date != $old_date) {
-                                       // unless this is the first time, write date footer
-                                       $timestamp = $item->timestamp;
-                                       if ($old_date != 0) {
-                                               $oldTS = strtotime($old_date);
-                                               $manager->notify('PreDateFoot',array('blog' => &$this, 'timestamp' => $oldTS));
-                                               $tmp_footer = strftime($template['DATE_FOOTER'], $oldTS);
-                                               $parser->parse($tmp_footer);
-                                               $manager->notify('PostDateFoot',array('blog' => &$this, 'timestamp' => $oldTS));
-                                       }
-                                       $manager->notify('PreDateHead',array('blog' => &$this, 'timestamp' => $timestamp));
-                                       // note, to use templatvars in the dateheader, the %-characters need to be doubled in
-                                       // order to be preserved by strftime
-                                       $tmp_header = strftime((isset($template['DATE_HEADER']) ? $template['DATE_HEADER'] : null), $timestamp);
-                                       $parser->parse($tmp_header);
-                                       $manager->notify('PostDateHead',array('blog' => &$this, 'timestamp' => $timestamp));
-                               }
-                               $old_date = $new_date;
-                       }
-
-                       // parse item
-                       $parser->parse($template['ITEM_HEADER']);
-                       $manager->notify('PreItem', array('blog' => &$this, 'item' => &$item));
-                       $parser->parse($template['ITEM']);
-                       $manager->notify('PostItem', array('blog' => &$this, 'item' => &$item));
-                       $parser->parse($template['ITEM_FOOTER']);
-
-               }
-
-               $numrows = mysql_num_rows($items);
-
-               // add another date footer if there was at least one item
-               if (($numrows > 0) && $dateheads) {
-                       $manager->notify('PreDateFoot',array('blog' => &$this, 'timestamp' => strtotime($old_date)));
-                       $parser->parse($template['DATE_FOOTER']);
-                       $manager->notify('PostDateFoot',array('blog' => &$this, 'timestamp' => strtotime($old_date)));
-               }
-
-               mysql_free_result($items);      // free memory
-
-               return $numrows;
-
-       }
-
-       function showOneitem($itemid, $template, $highlight) {
-               $extraQuery = ' and inumber=' . intval($itemid);
-
-               return $this->readLogAmount($template, 1, $extraQuery, $highlight, 0, 0);
-       }
-
-
-       /**
-         * Adds an item to this blog
-         */
-       function additem($catid, $title, $body, $more, $blogid, $authorid, $timestamp, $closed, $draft) {
-               global $manager;
-
-               $blogid         = intval($blogid);
-               $authorid       = intval($authorid);
-               $title          = $title;
-               $body           = $body;
-               $more           = $more;
-               $catid          = intval($catid);
-
-               // convert newlines to <br />
-               if ($this->convertBreaks()) {
-                       $body = addBreaks($body);
-                       $more = addBreaks($more);
-               }
-
-               if ($closed != '1')     $closed = '0';
-               if ($draft != '0') $draft = '1';
-
-               if (!$this->isValidCategory($catid))
-                       $catid = $this->getDefaultCategory();
-
-               if ($timestamp > $this->getCorrectTime())
-                       $isFuture = 1;
-
-               $timestamp = date('Y-m-d H:i:s',$timestamp);
-
-               $manager->notify('PreAddItem',array('title' => &$title, 'body' => &$body, 'more' => &$more, 'blog' => &$this, 'authorid' => &$authorid, 'timestamp' => &$timestamp, 'closed' => &$closed, 'draft' => &$draft, 'catid' => &$catid));
-
-               $title = addslashes($title);
-               $body = addslashes($body);
-               $more = addslashes($more);
-
-               $query = 'INSERT INTO '.sql_table('item').' (ITITLE, IBODY, IMORE, IBLOG, IAUTHOR, ITIME, ICLOSED, IDRAFT, ICAT) '
-                          . "VALUES ('$title', '$body', '$more', $blogid, $authorid, '$timestamp', $closed, $draft, $catid)";
-               sql_query($query);
-               $itemid = mysql_insert_id();
-
-               $manager->notify('PostAddItem',array('itemid' => $itemid));
-
-               if (!$draft)
-                       $this->updateUpdateFile();
-
-               // send notification mail
-               if (!$draft && !$isFuture && $this->getNotifyAddress() && $this->notifyOnNewItem())
-                       $this->sendNewItemNotification($itemid, stripslashes($title), stripslashes($body));
-
-               return $itemid;
-       }
-
-       function sendNewItemNotification($itemid, $title, $body) {
-               global $CONF, $member;
-
-               // create text version of html post
-               $ascii = toAscii($body);
-
-               $mailto_msg = _NOTIFY_NI_MSG . " \n";
-//             $mailto_msg .= $CONF['IndexURL'] . 'index.php?itemid=' . $itemid . "\n\n";
-               $temp = parse_url($CONF['Self']);
-               if ($temp['scheme']) {
-                       $mailto_msg .= createItemLink($itemid) . "\n\n";
-               } else {
-                       $tempurl = $this->getURL();
-                       if (substr($tempurl, -1) == '/' || substr($tempurl, -4) == '.php') {
-                               $mailto_msg .= $tempurl . '?itemid=' . $itemid . "\n\n";
-                       } else {
-                               $mailto_msg .= $tempurl . '/?itemid=' . $itemid . "\n\n";
-                       }
-               }
-               $mailto_msg .= _NOTIFY_TITLE . ' ' . strip_tags($title) . "\n";
-               $mailto_msg .= _NOTIFY_CONTENTS . "\n " . $ascii . "\n";
-               $mailto_msg .= getMailFooter();
-
-               $mailto_title = $this->getName() . ': ' . _NOTIFY_NI_TITLE;
-
-               $frommail = $member->getNotifyFromMailAddress();
-
-               $notify =& new NOTIFICATION($this->getNotifyAddress());
-               $notify->notify($mailto_title, $mailto_msg , $frommail);
-
-
-
-       }
-
-
-       /**
-         * Creates a new category for this blog
-         *
-         * @param $catName
-         *             name of the new category. When empty, a name is generated automatically
-         *             (starting with newcat)
-         * @param $catDescription
-         *             description of the new category. Defaults to 'New Category'
-         *
-         * @returns
-         *             the new category-id in case of success.
-         *             0 on failure
-         */
-       function createNewCategory($catName = '', $catDescription = 'New category') {
-               global $member, $manager;
-
-               if ($member->blogAdminRights($this->getID())) {
-                       // generate
-                       if ($catName == '')
-                       {
-                               $catName = 'newcat';
-                               $i = 1;
-
-                               $res = sql_query('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());
-                               while (mysql_num_rows($res) > 0)
-                               {
-                                       $i++;
-                                       $res = sql_query('SELECT * FROM '.sql_table('category')." WHERE cname='".$catName.$i."' and cblog=".$this->getID());
-                               }
-
-                               $catName = $catName . $i;
-                       }
-
-                       $manager->notify(
-                               'PreAddCategory',
-                               array(
-                                       'blog' => &$this,
-                                       'name' => &$catName,
-                                       'description' => $catDescription
-                               )
-                       );
-
-                       $query = 'INSERT INTO '.sql_table('category').' (cblog, cname, cdesc) VALUES (' . $this->getID() . ", '" . addslashes($catName) . "', '" . addslashes($catDescription) . "')";
-                       sql_query($query);
-                       $catid = mysql_insert_id();
-
-                       $manager->notify(
-                               'PostAddCategory',
-                               array(
-                                       'blog' => &$this,
-                                       'name' => $catName,
-                                       'description' => $catDescription,
-                                       'catid' => $catid
-                               )
-                       );
-
-                       return $catid;
-               } else {
-                       return 0;
-               }
-
-       }
-
-
-       /**
-        * Searches all months of this blog for the given query
-        *
-        * @param $query
-        *              search query
-        * @param $template
-        *              template to be used (__NAME__ of the template)
-        * @param $amountMonths
-        *              max amount of months to be search (0 = all)
-        * @param $maxresults
-        *              max number of results to show
-        * @param $startpos
-        *              offset
-        * @returns
-        *              amount of hits found
-        */
-       function search($query, $template, $amountMonths, $maxresults, $startpos) {
-               global $CONF, $manager;
-
-               $highlight      = '';
-               $sqlquery       = $this->getSqlSearch($query, $amountMonths, $highlight);
-
-               if ($sqlquery == '')
-               {
-                       // no query -> show everything
-                       $extraquery = '';
-                       $amountfound = $this->readLogAmount($template, $maxresults, $extraQuery, $query, 1, 1);
-               } else {
-
-                       // add LIMIT to query (to split search results into pages)
-                       if (intval($maxresults > 0))
-                               $sqlquery .= ' LIMIT ' . intval($startpos).',' . intval($maxresults);
-
-                       // show results
-                       $amountfound = $this->showUsingQuery($template, $sqlquery, $highlight, 1, 1);
-
-                       // when no results were found, show a message
-                       if ($amountfound == 0)
-                       {
-                               $template =& $manager->getTemplate($template);
-                               $vars = array(
-                                       'query'         => htmlspecialchars($query),
-                                       'blogid'        => $this->getID()
-                               );
-                               echo TEMPLATE::fill($template['SEARCH_NOTHINGFOUND'],$vars);
-                       }
-               }
-
-               return $amountfound;
-       }
-
-       /**
-        * Returns an SQL query to use for a search query
-        *
-        * @param $query
-        *              search query
-        * @param $amountMonths
-        *              amount of months to search back. Default = 0 = unlimited
-        * @param $mode
-        *              either empty, or 'count'. In this case, the query will be a SELECT COUNT(*) query
-        * @returns $highlight
-        *              words to highlight (out parameter)
-        * @returns
-        *              either a full SQL query, or an empty string (if querystring empty)
-        * @note
-        *              No LIMIT clause is added. (caller should add this if multiple pages are requested)
-        */
-       function getSqlSearch($query, $amountMonths = 0, &$highlight, $mode = '')
-       {
-               $searchclass =& new SEARCH($query);
-
-               $highlight        = $searchclass->inclusive;
-
-               // if querystring is empty, return empty string
-               if ($searchclass->inclusive == '')
-                       return '';
-
-
-               $where  = $searchclass->boolean_sql_where('ititle,ibody,imore');
-               $select = $searchclass->boolean_sql_select('ititle,ibody,imore');
-
-               // get list of blogs to search
-               $blogs          = $searchclass->blogs;          // array containing blogs that always need to be included
-               $blogs[]        = $this->getID();                       // also search current blog (duh)
-               $blogs          = array_unique($blogs);         // remove duplicates
-               $selectblogs = '';
-               if (count($blogs) > 0)
-                       $selectblogs = ' and i.iblog in (' . implode(',', $blogs) . ')';
-
-               if ($mode == '')
-               {
-                       $query = 'SELECT i.inumber as itemid, i.ititle as title, i.ibody as body, m.mname as author, m.mrealname as authorname, i.itime, i.imore as more, m.mnumber as authorid, m.memail as authormail, m.murl as authorurl, c.cname as category, i.icat as catid, i.iclosed as closed';
-                       if ($select)
-                               $query .= ', '.$select. ' as score ';
-               } else {
-                       $query = 'SELECT COUNT(*) as result ';
-               }
-
-               $query .= ' FROM '.sql_table('item').' as i, '.sql_table('member').' as m, '.sql_table('category').' as c'
-                          . ' WHERE i.iauthor=m.mnumber'
-                          . ' and i.icat=c.catid'
-                          . ' and i.idraft=0'  // exclude drafts
-                          . $selectblogs
-                                       // don't show future items
-                          . ' and i.itime<=' . mysqldate($this->getCorrectTime())
-                          . ' and '.$where;
-
-               // take into account amount of months to search
-               if ($amountMonths > 0)
-               {
-                       $localtime = getdate($this->getCorrectTime());
-                       $timestamp_start = mktime(0,0,0,$localtime['mon'] - $amountMonths,1,$localtime['year']);
-                       $query .= ' and i.itime>' . mysqldate($timestamp_start);
-               }
-
-               if ($mode == '')
-               {
-                       if ($select)
-                               $query .= ' ORDER BY score DESC';
-                       else
-                               $query .= ' ORDER BY i.itime DESC ';
-               }
-
-               return $query;
-       }
-
-       /**
-        * Returns the SQL query that's normally used to display the blog items on the index type skins
-        *
-        * @param $mode
-        *              either empty, or 'count'. In this case, the query will be a SELECT COUNT(*) query
-        * @returns
-        *              either a full SQL query, or an empty string
-        * @note
-        *              No LIMIT clause is added. (caller should add this if multiple pages are requested)
-        */
-       function getSqlBlog($extraQuery, $mode = '')
-       {
-               if ($mode == '')
-                       $query = 'SELECT i.inumber as itemid, i.ititle as title, i.ibody as body, m.mname as author, m.mrealname as authorname, i.itime, i.imore as more, m.mnumber as authorid, m.memail as authormail, m.murl as authorurl, c.cname as category, i.icat as catid, i.iclosed as closed';
-               else
-                       $query = 'SELECT COUNT(*) as result ';
-
-               $query .= ' FROM '.sql_table('item').' as i, '.sql_table('member').' as m, '.sql_table('category').' as c'
-                          . ' WHERE i.iblog='.$this->blogid
-                          . ' and i.iauthor=m.mnumber'
-                          . ' and i.icat=c.catid'
-                          . ' and i.idraft=0'  // exclude drafts
-                                       // don't show future items
-                          . ' and i.itime<=' . mysqldate($this->getCorrectTime());
-
-               if ($this->getSelectedCategory())
-                       $query .= ' and i.icat=' . $this->getSelectedCategory() . ' ';
-
-
-               $query .= $extraQuery;
-
-               if ($mode == '')
-                       $query .= ' ORDER BY i.itime DESC';
-
-               return $query;
-       }
-
-       /**
-         * Shows the archivelist using the given template
-         */
-       function showArchiveList($template, $mode = 'month', $limit = 0) {
-               global $CONF, $catid, $manager;
-
-               if ($catid)
-                       $linkparams = array('catid' => $catid);
-
-               $template =& $manager->getTemplate($template);
-               $data['blogid'] = $this->getID();
-
-               echo TEMPLATE::fill($template['ARCHIVELIST_HEADER'],$data);
-
-               $query = 'SELECT itime, SUBSTRING(itime,1,4) AS Year, SUBSTRING(itime,6,2) AS Month, SUBSTRING(itime,9,2) as Day FROM '.sql_table('item')
-               . ' WHERE iblog=' . $this->getID()
-               . ' and itime <=' . mysqldate($this->getCorrectTime())  // don't show future items!
-               . ' and idraft=0'; // don't show draft items
-
-               if ($catid)
-                       $query .= ' and icat=' . intval($catid);
-
-               $query .= ' GROUP BY Year, Month';
-               if ($mode == 'day')
-                       $query .= ', Day';
-
-
-               $query .= ' ORDER BY itime DESC';
-
-               if ($limit > 0)
-                       $query .= ' LIMIT ' . intval($limit);
-
-               $res = sql_query($query);
-
-               while ($current = mysql_fetch_object($res)) {
-                       $current->itime = strtotime($current->itime);   // string time -> unix timestamp
-
-                       if ($mode == 'day') {
-                               $archivedate = date('Y-m-d',$current->itime);
-                               $archive['day'] = date('d',$current->itime);
-                       } else {
-                               $archivedate = date('Y-m',$current->itime);
-                       }
-                       $data['month'] = date('m',$current->itime);
-                       $data['year'] = date('Y',$current->itime);
-                       $data['archivelink'] = createArchiveLink($this->getID(),$archivedate,$linkparams);
-
-                       $temp = TEMPLATE::fill($template['ARCHIVELIST_LISTITEM'],$data);
-                       echo strftime($temp,$current->itime);
-
-               }
-
-               mysql_free_result($res);
-
-               echo TEMPLATE::fill($template['ARCHIVELIST_FOOTER'],$data);
-       }
-
-
-       /**
-         * Shows the list of categories using a given template
-         */
-       function showCategoryList($template) {
-               global $CONF, $manager;
-
-               // determine arguments next to catids
-               // I guess this can be done in a better way, but it works
-               global $archive, $archivelist;
-
-               $linkparams = array();
-               if ($archive) {
-                       $blogurl = createArchiveLink($this->getID(), $archive, '');
-                       $linkparams['blogid'] = $this->getID();
-                       $linkparams['archive'] = $archive;
-               } else if ($archivelist) {
-                       $blogurl = createArchiveListLink($this->getID(), '');
-                       $linkparams['archivelist'] = $archivelist;
-               } else {
-                       $blogurl = createBlogidLink($this->getID(), '');
-                       $linkparams['blogid'] = $this->getID();
-               }
-
-               //$blogurl = $this->getURL() . $qargs;
-               //$blogurl = createBlogLink($this->getURL(), $linkparams);
-
-               $template =& $manager->getTemplate($template);
-
-               echo TEMPLATE::fill((isset($template['CATLIST_HEADER']) ? $template['CATLIST_HEADER'] : null),
-                                                       array(
-                                                               'blogid' => $this->getID(),
-                                                               'blogurl' => $blogurl,
-                                                               'self' => $CONF['Self']
-                                                       ));
-
-               $query = 'SELECT catid, cdesc as catdesc, cname as catname FROM '.sql_table('category').' WHERE cblog=' . $this->getID() . ' ORDER BY cname ASC';
-               $res = sql_query($query);
-
-
-               while ($data = mysql_fetch_assoc($res)) {
-                       $data['blogid'] = $this->getID();
-                       $data['blogurl'] = $blogurl;
-                       $data['catlink'] = createLink(
-                                                               'category',
-                                                               array(
-                                                                       'catid' => $data['catid'],
-                                                                       'name' => $data['catname'],
-                                                                       'extra' => $linkparams
-                                                               )
-                                                          );
-                       $data['self'] = $CONF['Self'];
-
-                       echo TEMPLATE::fill((isset($template['CATLIST_LISTITEM']) ? $template['CATLIST_LISTITEM'] : null), $data);
-                       //$temp = TEMPLATE::fill((isset($template['CATLIST_LISTITEM']) ? $template['CATLIST_LISTITEM'] : null), $data);
-                       //echo strftime($temp, $current->itime);
-
-               }
-
-               mysql_free_result($res);
-
-               echo TEMPLATE::fill((isset($template['CATLIST_FOOTER']) ? $template['CATLIST_FOOTER'] : null),
-                                                       array(
-                                                               'blogid' => $this->getID(),
-                                                               'blogurl' => $blogurl,
-                                                               'self' => $CONF['Self']
-                                                       ));
-       }
-       
-       /**
-         * Shows a list of all blogs in the system using a given template
-         */
-       function showBlogList($template, $bnametype) {
-               global $CONF, $manager;
-               
-               $template =& $manager->getTemplate($template);
-               
-               echo TEMPLATE::fill((isset($template['BLOGLIST_HEADER']) ? $template['BLOGLIST_HEADER'] : null),
-                                                       array(
-                                                               'sitename' => $CONF['SiteName'],
-                                                               'siteurl' => $CONF['IndexURL']
-                                                       ));
-               
-               $query = 'SELECT bnumber, bname, bshortname, bdesc, burl FROM '.sql_table('blog').' ORDER BY bnumber ASC';
-               $res = sql_query($query);
-               
-               while ($data = mysql_fetch_assoc($res)) {
-               
-                       $list = array();
-               
-//                     $list['bloglink'] = createLink('blog', array('blogid' => $data['bnumber']));
-                       $list['bloglink'] = createBlogidLink($data['bnumber']);
-               
-                       $list['blogdesc'] = $data['bdesc'];
-                       
-                       if ($bnametype=='shortname') {
-                               $list['blogname'] = $data['bshortname'];
-                       }
-                       else { // all other cases
-                               $list['blogname'] = $data['bname'];
-                       }
-                       
-                       echo TEMPLATE::fill((isset($template['BLOGLIST_LISTITEM']) ? $template['BLOGLIST_LISTITEM'] : null), $list);
-                       
-               }
-               
-               mysql_free_result($res);
-               
-               echo TEMPLATE::fill((isset($template['BLOGLIST_FOOTER']) ? $template['BLOGLIST_FOOTER'] : null),
-                                                       array(
-                                                               'sitename' => $CONF['SiteName'],
-                                                               'siteurl' => $CONF['IndexURL']
-                                                       ));
-
-       }
-
-       /**
-         * Blogsettings functions
-         */
-
-       function readSettings() {
-               $query =  'SELECT *'
-                          . ' FROM '.sql_table('blog')
-                          . ' WHERE bnumber=' . $this->blogid;
-               $res = sql_query($query);
-
-               $this->isValid = (mysql_num_rows($res) > 0);
-               if (!$this->isValid)
-                       return;
-
-               $this->settings = mysql_fetch_assoc($res);
-       }
-
-       function writeSettings() {
-
-               // (can't use floatval since not available prior to PHP 4.2)
-               $offset = $this->getTimeOffset();
-               if (!is_float($offset))
-                       $offset = intval($offset);
-
-               $query =  'UPDATE '.sql_table('blog')
-                          . " SET bname='" . addslashes($this->getName()) . "',"
-                          . "     bshortname='". addslashes($this->getShortName()) . "',"
-                          . "     bcomments=". intval($this->commentsEnabled()) . ","
-                          . "     bmaxcomments=" . intval($this->getMaxComments()) . ","
-                          . "     btimeoffset=" . $offset . ","
-                          . "     bpublic=" . intval($this->isPublic()) . ","
-                          . "     breqemail=" . intval($this->emailRequired()) . ","
-                          . "     bsendping=" . intval($this->pingUserland()) . ","
-                          . "     bconvertbreaks=" . intval($this->convertBreaks()) . ","
-                          . "     ballowpast=" . intval($this->allowPastPosting()) . ","
-                          . "     bnotify='" . addslashes($this->getNotifyAddress()) . "',"
-                          . "     bnotifytype=" . intval($this->getNotifyType()) . ","
-                          . "     burl='" . addslashes($this->getURL()) . "',"
-                          . "     bupdate='" . addslashes($this->getUpdateFile()) . "',"
-                          . "     bdesc='" . addslashes($this->getDescription()) . "',"
-                          . "     bdefcat=" . intval($this->getDefaultCategory()) . ","
-                          . "     bdefskin=" . intval($this->getDefaultSkin()) . ","
-                          . "     bincludesearch=" . intval($this->getSearchable())
-                          . " WHERE bnumber=" . intval($this->getID());
-               sql_query($query);
-
-       }
-
-
-
-       // update update file if requested
-       function updateUpdatefile() {
-                if ($this->getUpdateFile()) {
-                       $f_update = fopen($this->getUpdateFile(),'w');
-                       fputs($f_update,$this->getCorrectTime());
-                       fclose($f_update);
-                }
-
-       }
-
-       /**
-         * Sends a XML-RPC ping message to Userland, so the weblog can
-         * show up in the weblogs.com updates-list
-         */
-       function sendUserlandPing() {
-               global $php_errormsg;
-
-                if ($this->pingUserland()) {
-                         // testmessage for adding an item
-                         $message = new xmlrpcmsg('weblogUpdates.ping',array(
-                                       new xmlrpcval($this->getName(),'string'),
-                                       new xmlrpcval($this->getURL(),'string')
-                         ));
-
-                         $c = new xmlrpc_client('/RPC2', 'rpc.weblogs.com', 80);
-
-                         // $c->setDebug(1);
-
-                         $r = $c->send($message,15); // 15 seconds timeout...
-
-                         if (($r == 0) && ($r->errno || $r->errstring)) {
-                               return 'Error ' . $r->errno . ' : ' . $r->errstring;
-                         } elseif (($r == 0) && ($php_errormsg)) {
-                               return 'PHP Error: ' . $php_errormsg;
-                         } elseif ($r == 0) {
-                               return 'Error while trying to send ping. Sorry about that.';
-                         } elseif ($r->faultCode() != 0) {
-                               return 'Error: ' . $r->faultString();
-                         } else {
-                                 $r = $r->value();     // get response struct
-                                 // get values
-                                 $flerror = $r->structmem('flerror');
-                                 $flerror = $flerror->scalarval();
-
-
-                                 $message = $r->structmem('message');
-                                 $message = $message->scalarval();
-
-                                 if ($flerror != 0)
-                                       return 'Error (flerror=1): ' . $message;
-                                 else
-                                       return 'Success: ' . $message;
-                         }
-                }
-       }
-
-       function isValidCategory($catid) {
-               $query = 'SELECT * FROM '.sql_table('category').' WHERE cblog=' . $this->getID() . ' and catid=' . intval($catid);
-               $res = mysql_query($query);
-               return (mysql_num_rows($res) != 0);
-       }
-
-       function getCategoryName($catid) {
-               $res = mysql_query('SELECT cname FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));
-               $o = mysql_fetch_object($res);
-               return $o->cname;
-       }
-
-       function getCategoryDesc($catid) {
-               $res = mysql_query('SELECT cdesc FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and catid=' . intval($catid));
-               $o = mysql_fetch_object($res);
-               return $o->cdesc;
-       }
-
-       function getCategoryIdFromName($name) {
-               $res = mysql_query('SELECT catid FROM '.sql_table('category').' WHERE cblog='.$this->getID().' and cname="' . addslashes($name) . '"');
-               if (mysql_num_rows($res) > 0) {
-                       $o = mysql_fetch_object($res);
-                       return $o->catid;
-               } else {
-                       return $this->getDefaultCategory();
-               }
-       }
-
-       function pingUserland() {
-               return $this->getSetting('bsendping');
-       }
-
-       function setPingUserland($val) {
-               $this->setSetting('bsendping',$val);
-       }
-
-       function convertBreaks() {
-               return $this->getSetting('bconvertbreaks');
-       }
-
-       function insertJavaScriptInfo($authorid = '') {
-               global $member, $CONF;
-
-               if ($authorid == '')
-                       $authorid = $member->getID();
-
-               ?>
-               <script type="text/javascript">
-                       setConvertBreaks(<?php echo  $this->convertBreaks() ? 'true' : 'false' ?>);
-                       setMediaUrl("<?php echo $CONF['MediaURL']?>");
-                       setAuthorId(<?php echo $authorid?>);
-               </script><?php  }
-
-       function setConvertBreaks($val) {
-               $this->setSetting('bconvertbreaks',$val);
-       }
-       function setAllowPastPosting($val) {
-               $this->setSetting('ballowpast',$val);
-       }
-       function allowPastPosting() {
-               return $this->getSetting('ballowpast');
-       }
-
-       function getCorrectTime($t=0) {
-               if ($t == 0) $t = time();
-               return ($t + 3600 * $this->getTimeOffset());
-       }
-
-       function getName() {
-               return $this->getSetting('bname');
-       }
-
-       function getShortName() {
-               return $this->getSetting('bshortname');
-       }
-
-       function getMaxComments() {
-               return $this->getSetting('bmaxcomments');
-       }
-
-       function getNotifyAddress() {
-               return $this->getSetting('bnotify');
-       }
-
-       function getNotifyType() {
-               return $this->getSetting('bnotifytype');
-       }
-
-       function notifyOnComment() {
-               $n = $this->getNotifyType();
-               return (($n != 0) && (($n % 3) == 0));
-       }
-
-       function notifyOnVote() {
-               $n = $this->getNotifyType();
-               return (($n != 0) && (($n % 5) == 0));
-       }
-
-       function notifyOnNewItem() {
-               $n = $this->getNotifyType();
-               return (($n != 0) && (($n % 7) == 0));
-       }
-
-       function setNotifyType($val) {
-               $this->setSetting('bnotifytype',$val);
-       }
-
-
-       function getTimeOffset() {
-               return $this->getSetting('btimeoffset');
-       }
-
-       function commentsEnabled() {
-               return $this->getSetting('bcomments');
-       }
-
-       function getURL() {
-               return $this->getSetting('burl');
-       }
-
-       function getDefaultSkin() {
-               return $this->getSetting('bdefskin');
-       }
-
-       function getUpdateFile() {
-               return $this->getSetting('bupdate');
-       }
-
-       function getDescription() {
-               return $this->getSetting('bdesc');
-       }
-
-       function isPublic() {
-               return $this->getSetting('bpublic');
-       }
-
-       function emailRequired() {
-               return $this->getSetting('breqemail');
-       }
-
-       function getSearchable() {
-               return $this->getSetting('bincludesearch');
-       }
-
-       function getDefaultCategory() {
-               return $this->getSetting('bdefcat');
-       }
-
-       function setPublic($val) {
-               $this->setSetting('bpublic',$val);
-       }
-
-       function setSearchable($val) {
-               $this->setSetting('bincludesearch',$val);
-       }
-
-       function setDescription($val) {
-               $this->setSetting('bdesc',$val);
-       }
-
-       function setUpdateFile($val) {
-               $this->setSetting('bupdate',$val);
-       }
-
-       function setDefaultSkin($val) {
-               $this->setSetting('bdefskin',$val);
-       }
-
-       function setURL($val) {
-               $this->setSetting('burl',$val);
-       }
-
-       function setName($val) {
-               $this->setSetting('bname',$val);
-       }
-
-       function setShortName($val) {
-               $this->setSetting('bshortname',$val);
-       }
-
-       function setCommentsEnabled($val) {
-               $this->setSetting('bcomments',$val);
-       }
-
-       function setMaxComments($val) {
-               $this->setSetting('bmaxcomments',$val);
-       }
-
-       function setNotifyAddress($val) {
-               $this->setSetting('bnotify',$val);
-       }
-
-       function setEmailRequired($val) {
-               $this->setSetting('breqemail',$val);
-       }
-
-       function setTimeOffset($val) {
-               // check validity of value
-               // 1. replace , by . (common mistake)
-               $val = str_replace(',','.',$val);
-               // 2. cast to float or int
-               if (is_numeric($val) && strstr($val,'.5')) {
-                       $val = (float) $val;
-               } else {
-                       $val = intval($val);
-               }
-
-               $this->setSetting('btimeoffset',$val);
-       }
-
-       function setDefaultCategory($val) {
-               $this->setSetting('bdefcat',$val);
-       }
-
-       function getSetting($key) {
-               return $this->settings[$key];
-       }
-
-       function setSetting($key,$value) {
-               $this->settings[$key] = $value;
-       }
-
-
-       // tries to add a member to the team. Returns false if the member was already on
-       // the team
-       function addTeamMember($memberid, $admin) {
-               global $manager;
-
-               $memberid = intval($memberid);
-               $admin = intval($admin);
-
-               // check if member is already a member
-               $tmem = MEMBER::createFromID($memberid);
-
-               if ($tmem->isTeamMember($this->getID()))
-                       return 0;
-
-               $manager->notify(
-                       'PreAddTeamMember',
-                       array(
-                               'blog' => &$this,
-                               'member' => &$tmem,
-                               'admin' => &$admin
-                       )
-               );
-
-               // add to team
-               $query = 'INSERT INTO '.sql_table('team').' (TMEMBER, TBLOG, TADMIN) '
-                          . 'VALUES (' . $memberid .', '.$this->getID().', "'.$admin.'")';
-               sql_query($query);
-
-               $manager->notify(
-                       'PostAddTeamMember',
-                       array(
-                               'blog' => &$this,
-                               'member' => &$tmem,
-                               'admin' => $admin
-                       )
-
-               );
-
-               ACTIONLOG::add(INFO, 'Added ' . $tmem->getDisplayName() . ' (ID=' .
-                                          $memberid .') to the team of blog "' . $this->getName() . '"');
-
-               return 1;
-       }
-
-       function getID() {
-               return intVal($this->blogid);
-       }
-
-       // returns true if there is a blog with the given shortname (static)
-       function exists($name) {
-               $r = sql_query('select * FROM '.sql_table('blog').' WHERE bshortname="'.addslashes($name).'"');
-               return (mysql_num_rows($r) != 0);
-       }
-
-       // returns true if there is a blog with the given ID (static)
-       function existsID($id) {
-               $r = sql_query('select * FROM '.sql_table('blog').' WHERE bnumber='.intval($id));
-               return (mysql_num_rows($r) != 0);
-       }
-
-
-}
-
-?>
diff --git a/euc/nucleus/libs/BODYACTIONS.php b/euc/nucleus/libs/BODYACTIONS.php
deleted file mode 100644 (file)
index 2277be7..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class to parses plugin calls inside items
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: BODYACTIONS.php,v 1.2 2007-04-20 08:27:13 kimitake Exp $
- * @version $NucleusJP: BODYACTIONS.php,v 1.6 2007/04/19 06:13:50 kimitake Exp $
- */
-
-class BODYACTIONS extends BaseActions {
-
-       var $currentItem;
-
-       var $template;
-
-       function BODYACTIONS () {
-               $this->BaseActions();   
-       }
-       
-       function setCurrentItem(&$item) {
-               $this->currentItem =& $item;
-       }
-       
-       function setTemplate($template) {
-               $this->template =& $template;
-       }
-
-       function getDefinedActions() {
-               return array('image', 'media', 'popup', 'plugin');
-       }
-
-       function parse_plugin($pluginName) {
-               global $manager;
-
-               // only continue when the plugin is really installed
-               if (!$manager->pluginInstalled('NP_' . $pluginName)) {
-                       return;
-               }
-
-               $plugin =& $manager->getPlugin('NP_' . $pluginName);
-               if (!$plugin) return;
-
-               // get arguments
-               $params = func_get_args();
-
-               // remove plugin name
-               array_shift($params);
-
-               // add item reference (array_unshift didn't work)
-               $params = array_merge(array(&$this->currentItem),$params);
-
-               call_user_func_array(array(&$plugin,'doItemVar'), $params);
-       }
-       
-       function parse_image() {
-               // image/popup calls have arguments separated by |
-               $args = func_get_args();
-               $args = explode('|',implode($args,', '));
-               call_user_func_array(array(&$this,'createImageCode'),$args);
-       }
-       
-       function createImageCode($filename, $width, $height, $text = '') {
-               global $CONF;
-
-               // select private collection when no collection given
-               if (!strstr($filename,'/')) {
-                       $filename = $this->currentItem->authorid . '/' . $filename;
-               }
-
-               $windowwidth = $width;
-               $windowheight = $height;
-
-               $vars['link']                   = htmlspecialchars($CONF['MediaURL']. $filename ,ENT_QUOTES);
-               $vars['text']                   = htmlspecialchars($text ,ENT_QUOTES);
-               $vars['image'] = '<img src="' . $vars['link'] . '" width="' . $width . '" height="' . $height . '" alt="' . $vars['text'] . '" title="' . $vars['text'] . '" />';
-               $vars['width']                  = $width;
-               $vars['height']                 = $height;
-               $vars['media']                  = '<a href="' . $vars['link'] . '">' . $vars['text'] . '</a>';
-
-
-               echo TEMPLATE::fill($this->template['IMAGE_CODE'],$vars);;
-
-       }
-       
-       function parse_media() {
-               // image/popup calls have arguments separated by |
-               $args = func_get_args();
-               $args = explode('|',implode($args,', '));
-               call_user_func_array(array(&$this,'createMediaCode'),$args);
-       }
-
-       function createMediaCode($filename, $text = '') {
-               global $CONF;
-
-               // select private collection when no collection given
-               if (!strstr($filename,'/')) {
-                       $filename = $this->currentItem->authorid . '/' . $filename;
-               }
-
-               $vars['link']                   = htmlspecialchars($CONF['MediaURL'] . $filename ,ENT_QUOTES);
-               $vars['text']                   = htmlspecialchars($text ,ENT_QUOTES);
-               $vars['media']                  = '<a href="' . $vars['link'] . '">' . $vars['text'] . '</a>';
-
-               echo TEMPLATE::fill($this->template['MEDIA_CODE'],$vars);;
-       }
-
-
-       function parse_popup() {
-               // image/popup calls have arguments separated by |
-               $args = func_get_args();
-               $args = explode('|',implode($args,', '));
-               call_user_func_array(array(&$this,'createPopupCode'),$args);
-       }
-
-       function createPopupCode($filename, $width, $height, $text = '') {
-               global $CONF;
-
-               // select private collection when no collection given
-               if (!strstr($filename,'/')) {
-                       $filename = $this->currentItem->authorid . '/' . $filename;
-               }
-
-               $windowwidth = $width;
-               $windowheight = $height;
-
-               $vars['rawpopuplink']   = $CONF['Self'] . "?imagepopup=" . htmlspecialchars($filename,ENT_QUOTES) . "&amp;width=$width&amp;height=$height&amp;imagetext=" . urlencode(htmlspecialchars($text));
-               $vars['popupcode']              = "window.open(this.href,'imagepopup','status=no,toolbar=no,scrollbars=no,resizable=yes,width=$windowwidth,height=$windowheight');return false;";
-               $vars['popuptext']              = htmlspecialchars($text,ENT_QUOTES);
-               $vars['popuplink']              = '<a href="' . $vars['rawpopuplink']. '" onclick="'. $vars['popupcode'].'" >' . $vars['popuptext'] . '</a>';
-               $vars['width']                  = $width;
-               $vars['height']                 = $height;
-               $vars['text']                   = $text;
-               $vars['link']                   = htmlspecialchars($CONF['MediaURL'] . $filename ,ENT_QUOTES);
-               $vars['media']                  = '<a href="' . $vars['link'] . '">' . $vars['popuptext'] . '</a>';
-
-               echo TEMPLATE::fill($this->template['POPUP_CODE'],$vars);
-       }
-
-}
-?>
diff --git a/euc/nucleus/libs/BaseActions.php b/euc/nucleus/libs/BaseActions.php
deleted file mode 100644 (file)
index 129233f..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This class contains parse actions that are available in all ACTION classes
- * e.g. include, phpinclude, parsedinclude, skinfile, ...
- *
- * It should never be used on it's own
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: BaseActions.php,v 1.1 2007-04-04 07:52:08 kimitake Exp $
- * @version $NucleusJP: BaseActions.php,v 1.3 2007/02/04 06:28:46 kimitake Exp $
- */
-
-class BaseActions {
-
-       // depth level for includes (max. level is 3)
-       var $level;
-
-       // array of evaluated conditions (true/false). The element at the end is the one for the most nested
-       // if block.
-       var $if_conditions;
-
-       // in the "elseif" / "elseifnot" sequences, if one of the conditions become "true" remained conditions should not
-       // be tested. this variable (actually a stack) holds this information.
-       var $if_execute;
-
-       // at all times, can be evaluated to either true if the current block needs to be displayed. This
-       // variable is used to decide to skip skinvars in parts that will never be outputted.
-       var $if_currentlevel;
-
-       // contains a search string with keywords that need to be highlighted. These get parsed into $aHighlight
-       var $strHighlight;
-
-       // array of keywords that need to be highlighted in search results (see the highlight()
-       // and parseHighlight() methods)
-       var $aHighlight;
-
-       // reference to the parser object that is using this object as actions-handler
-       var $parser;
-
-       function BaseActions() {
-               $this->level = 0;
-
-               // if nesting level
-               $this->if_conditions = array(); // array on which condition values are pushed/popped
-               $this->if_execute = array();    // array on which condition values are pushed/popped
-               $this->if_currentlevel = 1;             // 1 = current level is displayed; 0 = current level not displayed
-
-               // highlights
-               $this->strHighlight = '';                       // full highlight
-               $this->aHighlight = array();            // parsed highlight
-
-       }
-
-       // include file (no parsing of php)
-       function parse_include($filename) {
-               @readfile($this->getIncludeFileName($filename));
-       }
-
-       // php-include file
-       function parse_phpinclude($filename) {
-               includephp($this->getIncludeFileName($filename));
-       }
-
-       // parsed include
-       function parse_parsedinclude($filename) {
-               // check current level
-               if ($this->level > 3) return;   // max. depth reached (avoid endless loop)
-               $filename = $this->getIncludeFileName($filename);
-               if (!file_exists($filename)) return '';
-
-               $fsize = filesize($filename);
-
-               // nothing to include
-               if ($fsize <= 0)
-                       return;
-
-               $this->level = $this->level + 1;
-
-               // read file
-               $fd = fopen ($filename, 'r');
-               $contents = fread ($fd, $fsize);
-               fclose ($fd);
-
-               // parse file contents
-               $this->parser->parse($contents);
-
-               $this->level = $this->level - 1;
-       }
-
-       /**
-        * Returns the correct location of the file to be included, according to
-        * parser properties
-        *
-        * IF IncludeMode = 'skindir' => use skindir
-        */
-       function getIncludeFileName($filename) {
-               // leave absolute filenames and http urls as they are
-               if (
-                               (substr($filename,0,1) == '/')
-                       ||      (substr($filename,0,7) == 'http://')
-                       ||      (substr($filename,0,6) == 'ftp://')
-                       )
-                       return $filename;
-
-               $filename = PARSER::getProperty('IncludePrefix') . $filename;
-               if (PARSER::getProperty('IncludeMode') == 'skindir') {
-                       global $DIR_SKINS;
-                       return $DIR_SKINS . $filename;
-               } else {
-                       return $filename;
-               }
-       }
-
-       /**
-        * Inserts an url relative to the skindir (useful when doing import/export)
-        *
-        * e.g. <skinfile(default/myfile.sth)>
-        */
-       function parse_skinfile($filename) {
-               global $CONF;
-
-               echo $CONF['SkinsURL'] . PARSER::getProperty('IncludePrefix') . $filename;
-       }
-
-       /**
-        * Sets a property for the parser
-        */
-       function parse_set($property, $value) {
-               PARSER::setProperty($property, $value);
-       }
-
-       /**
-        * Helper function: add if condition
-        */
-       function _addIfCondition($condition) {
-
-               array_push($this->if_conditions,$condition);
-
-               $this->_updateTopIfCondition();
-
-               ob_start();
-       }
-
-       function _updateTopIfCondition() {
-               if (sizeof($this->if_conditions) == 0)
-                       $this->if_currentlevel = 1;
-               else
-                       $this->if_currentlevel = $this->if_conditions[sizeof($this->if_conditions) - 1];
-       }
-
-       /**
-        * Helper function for elseif / elseifnot
-        */
-       function _addIfExecute() {
-               array_push($this->if_execute, 0);
-       }
-
-       /**
-        * Helper function for elseif / elseifnot
-        * @param string condition to be fullfilled
-        */
-       function _updateIfExecute($condition) {
-               $index = sizeof($this->if_execute) - 1;
-               $this->if_execute[$index] = $this->if_execute[$index] || $condition;
-       }
-
-       /**
-        * returns the currently top if condition
-        */
-       function _getTopIfCondition() {
-               return $this->if_currentlevel;
-       }
-
-       /**
-        * Sets the search terms to be highlighted
-        *
-        * @param $highlight
-        *              A series of search terms
-        */
-       function setHighlight($highlight) {
-               $this->strHighlight = $highlight;
-               if ($highlight) {
-                       $this->aHighlight = parseHighlight($highlight);
-               }
-       }
-
-       /**
-        * Applies the highlight to the given piece of text
-        *
-        * @param &$data
-        *              Data that needs to be highlighted
-        * @see setHighlight
-        */
-       function highlight(&$data) {
-               if ($this->aHighlight)
-                       return highlight($data,$this->aHighlight,$this->template['SEARCH_HIGHLIGHT']);
-               else
-                       return $data;
-       }
-
-       /**
-        * Parses <%if%> statements
-        */
-       function parse_if() {
-               $this->_addIfExecute();
-
-               $args = func_get_args();
-               $condition = call_user_func_array(array(&$this,'checkCondition'), $args);
-               $this->_addIfCondition($condition);
-       }
-
-       /**
-        * Parses <%else%> statements
-        */
-       function parse_else() {
-               if (sizeof($this->if_conditions) == 0) return;
-               array_pop($this->if_conditions);
-               if ($this->if_currentlevel) {
-                       ob_end_flush();
-                       $this->_updateIfExecute(1);
-                       $this->_addIfCondition(0);
-               } elseif ($this->if_execute[sizeof($this->if_execute) - 1]) {
-                       ob_end_clean();
-                       $this->_addIfCondition(0);
-               } else {
-                       ob_end_clean();
-                       $this->_addIfCondition(1);
-               }
-       }
-
-       /**
-        * Parses <%elseif%> statements
-        */
-       function parse_elseif() {
-               if (sizeof($this->if_conditions) == 0) return;
-               array_pop($this->if_conditions);
-               if ($this->if_currentlevel) {
-                       ob_end_flush();
-                       $this->_updateIfExecute(1);
-                       $this->_addIfCondition(0);
-               } elseif ($this->if_execute[sizeof($this->if_execute) - 1]) {
-                       ob_end_clean();
-                       $this->_addIfCondition(0);
-               } else {
-                       ob_end_clean();
-                       $args = func_get_args();
-                       $condition = call_user_func_array(array(&$this,'checkCondition'), $args);
-                       $this->_addIfCondition($condition);
-               }
-       }
-
-       /**
-        * Parses <%ifnot%> statements
-        */
-       function parse_ifnot() {
-               $this->_addIfExecute();
-
-               $args = func_get_args();
-               $condition = call_user_func_array(array(&$this,'checkCondition'), $args);
-               $this->_addIfCondition(!$condition);
-       }
-
-       /**
-        * Parses <%elseifnot%> statements
-        */
-       function parse_elseifnot() {
-               if (sizeof($this->if_conditions) == 0) return;
-               array_pop($this->if_conditions);
-               if ($this->if_currentlevel) {
-                       ob_end_flush();
-                       $this->_updateIfExecute(1);
-                       $this->_addIfCondition(0);
-               } elseif ($this->if_execute[sizeof($this->if_execute) - 1]) {
-                       ob_end_clean();
-                       $this->_addIfCondition(0);
-               } else {
-                       ob_end_clean();
-                       $args = func_get_args();
-                       $condition = call_user_func_array(array(&$this,'checkCondition'), $args);
-                       $this->_addIfCondition(!$condition);
-               }
-       }
-
-       /**
-        * Ends a conditional if-block
-        * see e.g. ifcat (BLOG), ifblogsetting (PAGEFACTORY)
-        */
-       function parse_endif() {
-               // we can only close what has been opened
-               if (sizeof($this->if_conditions) == 0) return;
-
-               if ($this->if_currentlevel) {
-                       ob_end_flush();
-               } else {
-                       ob_end_clean();
-               }
-               array_pop($this->if_conditions);
-               array_pop($this->if_execute);
-
-               $this->_updateTopIfCondition();
-       }
-}
-?>
diff --git a/euc/nucleus/libs/COMMENT.php b/euc/nucleus/libs/COMMENT.php
deleted file mode 100755 (executable)
index 4142c3f..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class representing a single comment
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: COMMENT.php,v 1.4 2007-03-22 09:23:58 kimitake Exp $
- * $NucleusJP: COMMENT.php,v 1.5 2007/02/04 06:28:46 kimitake Exp $
- */
-class COMMENT {
-
-       /**
-         * Returns the requested comment (static)
-         */
-       function getComment($commentid) {
-               $query =  'SELECT cnumber as commentid, cbody as body, cuser as user, cmail as userid, cemail as email, cmember as memberid, ctime, chost as host, mname as member, cip as ip, cblog as blogid'
-                          . ' FROM '.sql_table('comment').' left outer join '.sql_table('member').' on cmember=mnumber'
-                          . ' WHERE cnumber=' . intval($commentid);
-               $comments = sql_query($query);
-
-               $aCommentInfo = mysql_fetch_assoc($comments);
-               if ($aCommentInfo)
-               {
-                       $aCommentInfo['timestamp'] = strtotime($aCommentInfo['ctime']);
-               }
-               return $aCommentInfo;
-       }
-
-       /**
-         * prepares a comment to be saved
-         * (static)
-         */
-       function prepare($comment) {
-               $comment['user'] = strip_tags($comment['user']);
-               $comment['userid'] = strip_tags($comment['userid']);
-               $comment['email'] = strip_tags($comment['email']);
-
-               // remove quotes and newlines from user and userid
-               $comment['user'] = strtr($comment['user'], "\'\"\n",'-- ');
-               $comment['userid'] = strtr($comment['userid'], "\'\"\n",'-- ');
-               $comment['email'] = strtr($comment['email'], "\'\"\n",'-- ');
-
-               $comment['body'] = COMMENT::prepareBody($comment['body']);
-
-               return $comment;
-       }
-
-       // prepares the body of a comment (static)
-       function prepareBody($body) {
-
-               // remove newlines when too many in a row
-               $body = ereg_replace("\n.\n.\n","\n",$body);
-
-               // encode special characters as entities
-               $body = htmlspecialchars($body);
-
-               // trim away whitespace and newlines at beginning and end
-               $body = trim($body);
-
-               // add <br /> tags
-               $body = addBreaks($body);
-
-               // create hyperlinks for http:// addresses
-               // there's a testcase for this in /build/testcases/urllinking.txt
-               $replaceFrom = array(
-                       '/([^:\/\/\w]|^)((https:\/\/)([\w\.-]+)([\/\w+\.~%&?@=_:;#,-]+))/ie',
-                       '/([^:\/\/\w]|^)((http:\/\/|www\.)([\w\.-]+)([\/\w+\.~%&?@=_:;#,-]+))/ie',
-                       '/([^:\/\/\w]|^)((ftp:\/\/|ftp\.)([\w\.-]+)([\/\w+\.~%&?@=_:;#,-]+))/ie',
-                       '/([^:\/\/\w]|^)(mailto:(([a-zA-Z\@\%\.\-\+_])+))/ie'
-               );
-               $replaceTo = array(
-                       'COMMENT::createLinkCode("\\1", "\\2","https")',
-                       'COMMENT::createLinkCode("\\1", "\\2","http")',
-                       'COMMENT::createLinkCode("\\1", "\\2","ftp")',
-                       'COMMENT::createLinkCode("\\1", "\\3","mailto")'
-               );
-               $body = preg_replace($replaceFrom, $replaceTo, $body);
-
-               return $body;
-       }
-
-       function createLinkCode($pre, $url, $protocol = 'http') {
-               $post = '';
-
-               // it's possible that $url ends contains entities we don't want,
-               // since htmlspecialchars is applied _before_ URL linking
-               // move the part of URL, starting from the disallowed entity to the 'post' link part
-               $aBadEntities = array('&quot;', '&gt;', '&lt;');
-               foreach ($aBadEntities as $entity)
-               {
-                       $pos = strpos($url, $entity);
-                       if ($pos)
-                       {
-                               $post = substr($url, $pos) . $post;
-                               $url = substr($url, 0, $pos);
-
-                       }
-               }
-
-               // remove entities at end (&&&&)
-               if (preg_match('/(&\w+;)+$/i', $url, $matches)) {
-                       $post = $matches[0] . $post;    // found entities (1 or more)
-                       $url = substr($url, 0, strlen($url) - strlen($post));
-               }
-
-               // move ending comma from url to 'post' part
-               if (substr($url, strlen($url) - 1) == ',')
-               {
-                       $url = substr($url, 0, strlen($url) - 1);
-                       $post = ',' . $post;
-               }
-
-               if (!ereg('^'.$protocol.'://',$url))
-                       $linkedUrl = $protocol . (($protocol == 'mailto') ? ':' : '://') . $url;
-               else
-                       $linkedUrl = $url;
-
-
-               if ($protocol != 'mailto')
-                       $displayedUrl = $linkedUrl;
-               else
-                       $displayedUrl = $url;
-               return $pre . '<a href="'.$linkedUrl.'" rel="nofollow">'.shorten($displayedUrl,30,'...').'</a>' . $post;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/COMMENTACTIONS.php b/euc/nucleus/libs/COMMENTACTIONS.php
deleted file mode 100644 (file)
index 5b511cd..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This class is used when parsing comment templates
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: COMMENTACTIONS.php,v 1.2 2007-04-20 08:45:05 kimitake Exp $
- * @version $NucleusJP: COMMENTACTIONS.php,v 1.1 2007/04/04 07:52:08 kimitake Exp $
- */
-
-class COMMENTACTIONS extends BaseActions {
-
-       // ref to COMMENTS object which is using this object to handle
-       // its templatevars
-       var $commentsObj;
-
-       // template to use to parse the comments
-       var $template;
-
-       // comment currenlty being handled (mysql result assoc array; see COMMENTS::showComments())
-       var $currentComment;
-
-       function COMMENTACTIONS(&$comments) {
-               // call constructor of superclass first
-               $this->BaseActions();
-
-               // reference to the comments object
-               $this->setCommentsObj($comments);
-       }
-
-       function getDefinedActions() {
-               return array(
-                       'blogurl',
-                       'commentcount',
-                       'commentword',
-                       'email',
-                       'itemlink',
-                       'itemid',
-                       'itemtitle',
-                       'date',
-                       'time',
-                       'commentid',
-                       'body',
-                       'memberid',
-                       'timestamp',
-                       'host',
-                       'ip',
-                       'blogid',
-                       'authtext',
-                       'user',
-                       'userid',
-                       'userlinkraw',
-                       'userlink',
-                       'useremail',
-                       'userwebsite',
-                       'excerpt',
-                       'short',
-                       'skinfile',
-                       'set',
-                       'plugin',
-                       'include',
-                       'phpinclude',
-                       'parsedinclude'
-               );
-       }
-
-       function setParser(&$parser) {
-               $this->parser =& $parser;
-       }
-       
-       function setCommentsObj(&$commentsObj) {
-               $this->commentsObj =& $commentsObj;
-       }
-       
-       function setTemplate($template) {
-               $this->template =& $template;
-       }
-       
-       function setCurrentComment(&$comment) {
-               global $manager;
-               if ($comment['memberid'] != 0) {
-                       $comment['authtext'] = $template['COMMENTS_AUTH'];
-
-                       $mem =& $manager->getMember($comment['memberid']);
-                       $comment['user'] = $mem->getDisplayName();
-                       if ($mem->getURL())
-                               $comment['userid'] = $mem->getURL();
-                       else
-                               $comment['userid'] = $mem->getEmail();
-
-                       $comment['userlinkraw'] = createLink(
-                                                                               'member',
-                                                                               array(
-                                                                                       'memberid' => $comment['memberid'],
-                                                                                       'name' => $mem->getDisplayName(),
-                                                                                       'extra' => $this->commentsObj->itemActions->linkparams
-                                                                               )
-                                                                         );
-
-               } else {
-
-                       // create smart links
-/*                     if (isValidMailAddress($comment['userid']))
-                               $comment['userlinkraw'] = 'mailto:'.$comment['userid'];
-                       elseif (strstr($comment['userid'],'http://') != false)
-                               $comment['userlinkraw'] = $comment['userid'];
-                       elseif (strstr($comment['userid'],'www') != false)
-                               $comment['userlinkraw'] = 'http://'.$comment['userid'];*/
-                       if (strstr($comment['userid'],'http://') != false)
-                               $comment['userlinkraw'] = $comment['userid'];
-                       elseif (strstr($comment['userid'],'www') != false)
-                               $comment['userlinkraw'] = 'http://'.$comment['userid'];
-                       elseif (isValidMailAddress($comment['email']))
-                               $comment['userlinkraw'] = 'mailto:'.$comment['email'];
-                       elseif (isValidMailAddress($comment['userid']))
-                               $comment['userlinkraw'] = 'mailto:'.$comment['userid'];
-               }
-
-               $this->currentComment =& $comment;
-       }
-
-       function parse_blogurl() {
-               global $manager;
-               $blogid = getBlogIDFromItemID($this->commentsObj->itemid);
-               $blog =& $manager->getBlog($blogid);
-               echo $blog->getURL();
-       }
-
-       function parse_commentcount() {
-                       echo $this->commentsObj->commentcount;
-       }
-       
-       function parse_commentword() {
-               if ($this->commentsObj->commentcount == 1)
-                       echo $this->template['COMMENTS_ONE'];
-               else
-                       echo $this->template['COMMENTS_MANY'];
-       }
-
-       function parse_itemlink() {
-               echo createLink(
-                       'item',
-                       array(
-                               'itemid' => $this->commentsObj->itemid,
-                               'timestamp' => $this->commentsObj->itemActions->currentItem->timestamp,
-                               'title' => $this->commentsObj->itemActions->currentItem->title,
-                               'extra' => $this->commentsObj->itemActions->linkparams
-                       )
-               );
-       }
-       
-       function parse_itemid() {
-               echo $this->commentsObj->itemid;
-       }
-       
-       function parse_itemtitle($maxLength = 0) {
-               if ($maxLength == 0)
-                       $this->commentsObj->itemActions->parse_title();
-               else
-                       $this->commentsObj->itemActions->parse_syndicate_title($maxLength);
-       }
-
-       function parse_date($format = '') {
-               echo formatDate($format, $this->currentComment['timestamp'], $this->template['FORMAT_DATE'], $this->commentsObj->itemActions->blog);
-       }
-       
-       function parse_time($format = '') {
-               echo strftime(
-                               ($format == '') ? $this->template['FORMAT_TIME'] : $format,
-                               $this->currentComment['timestamp']
-                       );
-       }
-
-       function parse_commentid() {
-               echo $this->currentComment['commentid'];
-       }
-       
-       function parse_body() {
-               echo $this->highlight($this->currentComment['body']);
-       }
-       
-       function parse_memberid() {
-               echo $this->currentComment['memberid'];
-       }
-       
-       function parse_timestamp() {
-               echo $this->currentComment['timestamp'];
-       }
-       
-       function parse_host() {
-               echo $this->currentComment['host'];
-       }
-       
-       function parse_ip() {
-               echo $this->currentComment['ip'];
-       }
-       
-       function parse_blogid() {
-               echo $this->currentComment['blogid'];
-       }
-
-//     function parse_user() {
-       function parse_user($mode='') {
-               global $manager;
-               if ($mode == 'realname' && $this->currentComment['memberid'] > 0) {
-                       $member =& $manager->getMember($this->currentComment['memberid']);
-                       echo $member->getRealName();
-               } else {
-                       echo $this->currentComment['user'];
-               }
-       }
-       
-       function parse_userid() {
-                       echo $this->currentComment['userid'];
-       }
-       
-       function parse_email() {
-               $email = $this->currentComment['email'];
-               $email = str_replace('@', ' (at) ', $email);
-               $email = str_replace('.', ' (dot) ', $email);
-               echo $email;
-       }
-       
-       function parse_userlinkraw() {
-               echo $this->currentComment['userlinkraw'];
-       }
-       
-       function parse_userlink() {
-               if ($this->currentComment['userlinkraw']) {
-                       echo '<a href="'.$this->currentComment['userlinkraw'].'" rel="nofollow">'.$this->currentComment['user'].'</a>';
-               } else {
-                       echo $this->currentComment['user'];
-               }
-       }
-
-       function parse_useremail() {
-               global $manager;
-               if ($this->currentComment['memberid'] > 0)
-               {
-                       $member =& $manager->getMember($this->currentComment['memberid']);
-
-                       if ($member->email != '')
-                               echo $member->email;
-               }
-               else
-               {
-                       if (isValidMailAddress($this->currentComment['email']))
-                               echo $this->currentComment['email'];
-                       elseif (isValidMailAddress($this->currentComment['userid']))
-                               echo $this->currentComment['userid'];
-//                     if (!(strpos($this->currentComment['userlinkraw'], 'mailto:') === false))
-//                             echo str_replace('mailto:', '', $this->currentComment['userlinkraw']);
-               }
-       }
-
-       function parse_userwebsite() {
-               if (!(strpos($this->currentComment['userlinkraw'], 'http://') === false))
-                       echo $this->currentComment['userlinkraw'];
-       }
-
-       function parse_excerpt() {
-               echo stringToXML(shorten($this->currentComment['body'], 60, '...'));
-       }
-       
-       function parse_short() {
-               $tmp = strtok($this->currentComment['body'],"\n");
-               $tmp = str_replace('<br />','',$tmp);
-               echo $tmp;
-               if ($tmp != $this->currentComment['body'])
-                       $this->parser->parse($this->template['COMMENTS_CONTINUED']);
-       }
-       
-       function parse_authtext() {
-               if ($this->currentComment['memberid'] != 0)
-                       $this->parser->parse($this->template['COMMENTS_AUTH']);
-       }
-
-       /**
-         * Executes a plugin templatevar
-         *
-         * @param pluginName name of plugin (without the NP_)
-         *
-         * extra parameters can be added
-         */
-       function parse_plugin($pluginName) {
-               global $manager;
-
-               // only continue when the plugin is really installed
-               if (!$manager->pluginInstalled('NP_' . $pluginName))
-                       return;
-
-               $plugin =& $manager->getPlugin('NP_' . $pluginName);
-               if (!$plugin) return;
-
-               // get arguments
-               $params = func_get_args();
-
-               // remove plugin name
-               array_shift($params);
-
-               // pass info on current item and current comment as well
-               $params = array_merge(array(&$this->currentComment),$params);
-               $params = array_merge(array(&$this->commentsObj->itemActions->currentItem),$params);
-
-               call_user_func_array(array(&$plugin,'doTemplateCommentsVar'), $params);
-       }
-}
-?>
diff --git a/euc/nucleus/libs/COMMENTS.php b/euc/nucleus/libs/COMMENTS.php
deleted file mode 100755 (executable)
index 517a7b3..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class representing the comments (all of them) for a certain post on a ceratin blog
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: COMMENTS.php,v 1.5 2007-04-04 07:52:08 kimitake Exp $
- * $NucleusJP: COMMENTS.php,v 1.4 2007/03/27 12:13:56 kimitake Exp $
- */
-
-if ( !function_exists('requestVar') ) exit;
-require_once dirname(__FILE__) . '/COMMENTACTIONS.php';
-
-class COMMENTS {
-
-       // item for which comment are being displayed
-       var $itemid;
-
-       // reference to the itemActions object that is calling the showComments function
-       var $itemActions;
-
-       // total amount of comments displayed
-       var $commentcount;
-
-       /**
-        * Creates a new COMMENTS object for the given blog and item
-        *
-        * @param $itemid
-        *              id of the item
-        */
-       function COMMENTS($itemid) {
-               $this->itemid = intval($itemid);
-       }
-       /**
-        * Used when parsing comments
-        *
-        * @param $itemActions
-        *              itemActions object, that will take care of the parsing
-        */
-       function setItemActions(&$itemActions) {
-               $this->itemActions =& $itemActions;
-       }
-
-       /**
-        * Shows maximum $max comments to the given item using the given template
-        * returns the amount of shown comments (if maxToShow = -1, then there is no limit)
-        *
-        * @param template
-        *              template to use
-        * @param maxToShow
-        *              max. comments to show
-        * @param showNone
-        *              indicates if the 'no comments' thingie should be outputted when there are no comments
-        *              (useful for closed items)
-        * @param highlight
-        *              Highlight to use (if any)
-        */
-       function showComments($template, $maxToShow = -1, $showNone = 1, $highlight = '') {
-               global $CONF, $manager;
-
-               // create parser object & action handler
-               $actions =& new COMMENTACTIONS($this);
-               $parser =& new PARSER($actions->getDefinedActions(),$actions);
-               $actions->setTemplate($template);
-               $actions->setParser($parser);
-
-               if ($maxToShow == 0) {
-                       $this->commentcount = $this->amountComments();
-               } else {
-                       $query =  'SELECT c.citem as itemid, c.cnumber as commentid, c.cbody as body, c.cuser as user, c.cmail as userid, c.cemail as email, c.cmember as memberid, c.ctime, c.chost as host, c.cip as ip, c.cblog as blogid'
-                                  . ' FROM '.sql_table('comment').' as c'
-                                  . ' WHERE c.citem=' . $this->itemid
-                                  . ' ORDER BY c.ctime';
-
-                       $comments = sql_query($query);
-                       $this->commentcount = mysql_num_rows($comments);
-               }
-
-               // if no result was found
-               if ($this->commentcount == 0) {
-                       // note: when no reactions, COMMENTS_HEADER and COMMENTS_FOOTER are _NOT_ used
-                       if ($showNone) $parser->parse($template['COMMENTS_NONE']);
-                       return 0;
-               }
-
-               // if too many comments to show
-               if (($maxToShow != -1) && ($this->commentcount > $maxToShow)) {
-                       $parser->parse($template['COMMENTS_TOOMUCH']);
-                       return 0;
-               }
-
-               $parser->parse($template['COMMENTS_HEADER']);
-
-               while ( $comment = mysql_fetch_assoc($comments) ) {
-                       $comment['timestamp'] = strtotime($comment['ctime']);
-                       $actions->setCurrentComment($comment);
-                       $actions->setHighlight($highlight);
-                       $manager->notify('PreComment', array('comment' => &$comment));
-                       $parser->parse($template['COMMENTS_BODY']);
-                       $manager->notify('PostComment', array('comment' => &$comment));
-               }
-
-               $parser->parse($template['COMMENTS_FOOTER']);
-
-               mysql_free_result($comments);
-
-               return $this->commentcount;
-       }
-
-       /**
-        * Returns the amount of comments for this itemid
-        */
-       function amountComments() {
-               $query =  'SELECT COUNT(*)'
-                          . ' FROM '.sql_table('comment').' as c'
-                          . ' WHERE c.citem='. $this->itemid;
-               $res = sql_query($query);
-               $arr = mysql_fetch_row($res);
-
-               return $arr[0];
-       }
-
-
-       function addComment($timestamp, $comment) {
-               global $CONF, $member, $manager;
-
-               $blogid = getBlogIDFromItemID($this->itemid);
-
-               $settings =& $manager->getBlog($blogid);
-               $settings->readSettings();
-
-               if (!$settings->commentsEnabled())
-                       return _ERROR_COMMENTS_DISABLED;
-
-               if (!$settings->isPublic() && !$member->isLoggedIn())
-                       return _ERROR_COMMENTS_NONPUBLIC;
-
-               // member name protection
-               if ($CONF['ProtectMemNames'] && !$member->isLoggedIn() && MEMBER::isNameProtected($comment['user']))
-                       return _ERROR_COMMENTS_MEMBERNICK;
-
-               // email required protection
-               if ($settings->emailRequired() && strlen($comment['email']) == 0 && !$member->isLoggedIn()) {
-                       return _ERROR_EMAIL_REQUIRED;
-               }
-
-               $comment['timestamp'] = $timestamp;
-               $comment['host'] = gethostbyaddr(serverVar('REMOTE_ADDR'));
-               $comment['ip'] = serverVar('REMOTE_ADDR');
-
-               // if member is logged in, use that data
-               if ($member->isLoggedIn()) {
-                       $comment['memberid'] = $member->getID();
-                       $comment['user'] = '';
-                       $comment['userid'] = '';
-                       $comment['email'] = '';
-               } else {
-                       $comment['memberid'] = 0;
-               }
-
-               // spam check
-               $continue = false;
-               $plugins = array();
-
-               if (isset($manager->subscriptions['ValidateForm']))
-                       $plugins = array_merge($plugins, $manager->subscriptions['ValidateForm']);
-
-               if (isset($manager->subscriptions['PreAddComment']))
-                       $plugins = array_merge($plugins, $manager->subscriptions['PreAddComment']);
-
-               if (isset($manager->subscriptions['PostAddComment']))
-                       $plugins = array_merge($plugins, $manager->subscriptions['PostAddComment']);
-
-               $plugins = array_unique($plugins);
-
-               while (list(,$plugin) = each($plugins)) {
-                       $p = $manager->getPlugin($plugin);
-                       $continue = $continue || $p->supportsFeature('handleSpam');
-               }
-
-               $spamcheck = array (
-                       'type'          => 'comment',
-                       'body'          => $comment['body'],
-                       'id'        => $comment['itemid'],
-                       'live'          => true,
-                       'return'        => $continue
-               );
-
-               if ($member->isLoggedIn()) {
-                       $spamcheck['author'] = $member->displayname;
-                       $spamcheck['email'] = $member->email;
-               } else {
-                       $spamcheck['author'] = $comment['user'];
-                       $spamcheck['email'] = $comment['email'];
-                       $spamcheck['url'] = $comment['userid'];
-               }
-
-               $manager->notify('SpamCheck', array ('spamcheck' => &$spamcheck));
-
-               if (!$continue && isset($spamcheck['result']) && $spamcheck['result'] == true)
-                       return _ERROR_COMMENTS_SPAM;
-
-
-               // isValidComment returns either "1" or an error message
-               $isvalid = $this->isValidComment($comment, $spamcheck);
-               if ($isvalid != 1)
-                       return $isvalid;
-
-               // send email to notification address, if any
-               if ($settings->getNotifyAddress() && $settings->notifyOnComment()) {
-
-                       $mailto_msg = _NOTIFY_NC_MSG . ' ' . $this->itemid . "\n";
-//                     $mailto_msg .= $CONF['IndexURL'] . 'index.php?itemid=' . $this->itemid . "\n\n";
-                       $temp = parse_url($CONF['Self']);
-                       if ($temp['scheme']) {
-                               $mailto_msg .= createItemLink($this->itemid) . "\n\n";
-                       } else {
-                               $tempurl = $settings->getURL();
-                               if (substr($tempurl, -1) == '/' || substr($tempurl, -4) == '.php') {
-                                       $mailto_msg .= $tempurl . '?itemid=' . $this->itemid . "\n\n";
-                               } else {
-                                       $mailto_msg .= $tempurl . '/?itemid=' . $this->itemid . "\n\n";
-                               }
-                       }
-                       if ($comment['memberid'] == 0) {
-                               $mailto_msg .= _NOTIFY_USER . ' ' . $comment['user'] . "\n";
-                               $mailto_msg .= _NOTIFY_USERID . ' ' . $comment['userid'] . "\n";
-                       } else {
-                               $mailto_msg .= _NOTIFY_MEMBER .' ' . $member->getDisplayName() . ' (ID=' . $member->getID() . ")\n";
-                       }
-                       $mailto_msg .= _NOTIFY_HOST . ' ' . $comment['host'] . "\n";
-                       $mailto_msg .= _NOTIFY_COMMENT . "\n " . $comment['body'] . "\n";
-                       $mailto_msg .= getMailFooter();
-
-                       $item =& $manager->getItem($this->itemid, 0, 0);
-                       $mailto_title = _NOTIFY_NC_TITLE . ' ' . strip_tags($item['title']) . ' (' . $this->itemid . ')';
-
-                       $frommail = $member->getNotifyFromMailAddress($comment['userid']);
-
-                       $notify =& new NOTIFICATION($settings->getNotifyAddress());
-                       $notify->notify($mailto_title, $mailto_msg , $frommail);
-               }
-
-               $comment = COMMENT::prepare($comment);
-
-               $manager->notify('PreAddComment',array('comment' => &$comment, 'spamcheck' => &$spamcheck));
-
-               $name           = addslashes($comment['user']);
-               $url            = addslashes($comment['userid']);
-               $email      = addslashes($comment['email']);
-               $body           = addslashes($comment['body']);
-               $host           = addslashes($comment['host']);
-               $ip                     = addslashes($comment['ip']);
-               $memberid       = intval($comment['memberid']);
-               $timestamp      = date('Y-m-d H:i:s', $comment['timestamp']);
-               $itemid         = $this->itemid;
-
-               $query = 'INSERT INTO '.sql_table('comment').' (CUSER, CMAIL, CEMAIL, CMEMBER, CBODY, CITEM, CTIME, CHOST, CIP, CBLOG) '
-                          . "VALUES ('$name', '$url', '$email', $memberid, '$body', $itemid, '$timestamp', '$host', '$ip', '$blogid')";
-
-               sql_query($query);
-
-               // post add comment
-               $commentid = mysql_insert_id();
-               $manager->notify('PostAddComment',array('comment' => &$comment, 'commentid' => &$commentid, 'spamcheck' => &$spamcheck));
-
-               // succeeded !
-               return true;
-       }
-
-
-       function isValidComment($comment, & $spamcheck) {
-               global $member, $manager;
-
-               // check if there exists a item for this date
-               $item =& $manager->getItem($this->itemid,0,0);
-
-               if (!$item)
-                       return _ERROR_NOSUCHITEM;
-
-               if ($item['closed'])
-                       return _ERROR_ITEMCLOSED;
-
-               // don't allow words that are too long
-               if (eregi('[a-zA-Z0-9|\.,;:!\?=\/\\]{90,90}',$comment['body']) != false)
-                       return _ERROR_COMMENT_LONGWORD;
-
-               // check lengths of comment
-               if (strlen($comment['body'])<3)
-                       return _ERROR_COMMENT_NOCOMMENT;
-
-               if (strlen($comment['body'])>5000)
-                       return _ERROR_COMMENT_TOOLONG;
-
-               // only check username if no member logged in
-               if (!$member->isLoggedIn())
-                       if (strlen($comment['user'])<2)
-                               return _ERROR_COMMENT_NOUSERNAME;
-
-               if ((strlen($comment['email']) != 0) && !(isValidMailAddress($comment['email']))) {
-                       return _ERROR_BADMAILADDRESS;
-               }
-
-               // let plugins do verification (any plugin which thinks the comment is invalid
-               // can change 'error' to something other than '1')
-               $result = 1;
-               $manager->notify('ValidateForm', array('type' => 'comment', 'comment' => &$comment, 'error' => &$result, 'spamcheck' => &$spamcheck));
-
-               return $result;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/ENCAPSULATE.php b/euc/nucleus/libs/ENCAPSULATE.php
deleted file mode 100644 (file)
index be5df5a..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * Part of the code for the Nucleus admin area
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ENCAPSULATE.php,v 1.1 2007-04-04 07:52:08 kimitake Exp $
- * @version $NucleusJP: ENCAPSULATE.php,v 1.4 2007/03/22 03:30:14 kmorimatsu Exp $
- */
-
-class ENCAPSULATE {
-       /**
-         * Uses $call to call a function using parameters $params
-         * This function should return the amount of entries shown.
-         * When entries are show, batch operation handlers are shown too.
-         * When no entries were shown, $errormsg is used to display an error
-         *
-         * Passes on the amount of results found (for further encapsulation)
-         */
-       function doEncapsulate($call, $params, $errorMessage = 'No entries') {
-               // start output buffering
-               ob_start();
-
-               $nbOfRows = call_user_func_array($call, $params);
-
-               // get list contents and stop buffering
-               $list = ob_get_contents();
-               ob_end_clean();
-
-               if ($nbOfRows > 0) {
-                       $this->showHead();
-                       echo $list;
-                       $this->showFoot();
-               } else {
-                       echo $errorMessage;
-               }
-
-               return $nbOfRows;
-       }
-}
-
-/**
-  * A class used to encapsulate a list of some sort inside next/prev buttons
-  */
-class NAVLIST extends ENCAPSULATE {
-
-       function NAVLIST($action, $start, $amount, $minamount, $maxamount, $blogid, $search, $itemid) {
-               $this->action = $action;
-               $this->start = $start;
-               $this->amount = $amount;
-               $this->minamount = $minamount;
-               $this->maxamount = $maxamount;
-               $this->blogid = $blogid;
-               $this->search = $search;
-               $this->itemid = $itemid;
-       }
-
-       function showBatchList($batchtype, $query, $type, $template, $errorMessage = _LISTS_NOMORE) {
-               $batch =& new BATCH($batchtype);
-
-               $this->doEncapsulate(
-                               array(&$batch, 'showlist'),
-                               array(&$query, $type, $template),
-                               $errorMessage
-               );
-
-       }
-
-
-       function showHead() {
-               $this->showNavigation();
-       }
-       function showFoot() {
-               $this->showNavigation();
-       }
-
-       /**
-         * Displays a next/prev bar for long tables
-         */
-       function showNavigation() {
-               $action = $this->action;
-               $start = $this->start;
-               $amount = $this->amount;
-               $minamount = $this->minamount;
-               $maxamount = $this->maxamount;
-               $blogid = $this->blogid;
-               $search = htmlspecialchars($this->search);
-               $itemid = $this->itemid;
-
-               $prev = $start - $amount;
-               if ($prev < $minamount) $prev=$minamount;
-
-               // maxamount not used yet
-       //      if ($start + $amount <= $maxamount)
-                       $next = $start + $amount;
-       //      else
-       //              $next = $start;
-
-       ?>
-       <table class="navigation">
-       <tr><td>
-               <form method="post" action="index.php"><div>
-               <input type="submit" value="&lt;&lt; <?php echo  _LISTS_PREV?>" />
-               <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-               <input type="hidden" name="action" value="<?php echo  $action; ?>" />
-               <input type="hidden" name="amount" value="<?php echo  $amount; ?>" />
-               <input type="hidden" name="search" value="<?php echo  $search; ?>" />
-               <input type="hidden" name="start" value="<?php echo  $prev; ?>" />
-               </div></form>
-       </td><td>
-               <form method="post" action="index.php"><div>
-               <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-               <input type="hidden" name="action" value="<?php echo  $action; ?>" />
-               <input name="amount" size="3" value="<?php echo  $amount; ?>" /> <?php echo _LISTS_PERPAGE?>
-               <input type="hidden" name="start" value="<?php echo  $start; ?>" />
-               <input type="hidden" name="search" value="<?php echo  $search; ?>" />
-               <input type="submit" value="&gt; <?php echo _LISTS_CHANGE?>" />
-               </div></form>
-       </td><td>
-               <form method="post" action="index.php"><div>
-               <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-               <input type="hidden" name="action" value="<?php echo  $action; ?>" />
-               <input type="hidden" name="amount" value="<?php echo  $amount; ?>" />
-               <input type="hidden" name="start" value="0" />
-               <input type="text" name="search" value="<?php echo  $search; ?>" size="7" />
-               <input type="submit" value="&gt; <?php echo  _LISTS_SEARCH?>" />
-               </div></form>
-       </td><td>
-               <form method="post" action="index.php"><div>
-               <input type="submit" value="<?php echo _LISTS_NEXT?> &gt; &gt;" />
-               <input type="hidden" name="search" value="<?php echo  $search; ?>" />
-               <input type="hidden" name="blogid" value="<?php echo  $blogid; ?>" />
-               <input type="hidden" name="itemid" value="<?php echo  $itemid; ?>" />
-               <input type="hidden" name="action" value="<?php echo  $action; ?>" />
-               <input type="hidden" name="amount" value="<?php echo  $amount; ?>" />
-               <input type="hidden" name="start" value="<?php echo  $next; ?>" />
-               </div></form>
-       </td></tr>
-       </table>
-       <?php   }
-
-
-}
-
-
-/**
- * A class used to encapsulate a list of some sort in a batch selection
- */
-class BATCH extends ENCAPSULATE {
-       function BATCH($type) {
-               $this->type = $type;
-       }
-
-       function showHead() {
-               ?>
-                       <form method="post" action="index.php">
-               <?php
-// TODO: get a list op operations above the list too
-// (be careful not to use the same names for the select...)
-//             $this->showOperationList();
-       }
-
-       function showFoot() {
-               $this->showOperationList();
-               ?>
-                       </form>
-               <?php   }
-
-       function showOperationList() {
-               global $manager;
-               ?>
-               <div class="batchoperations">
-                       <?php echo _BATCH_WITH_SEL ?>
-                       <select name="batchaction">
-                       <?php                           $options = array();
-                               switch($this->type) {
-                                       case 'item':
-                                               $options = array(
-                                                       'delete'        => _BATCH_ITEM_DELETE,
-                                                       'move'          => _BATCH_ITEM_MOVE
-                                               );
-                                               break;
-                                       case 'member':
-                                               $options = array(
-                                                       'delete'        => _BATCH_MEMBER_DELETE,
-                                                       'setadmin'      => _BATCH_MEMBER_SET_ADM,
-                                                       'unsetadmin' => _BATCH_MEMBER_UNSET_ADM
-                                               );
-                                               break;
-                                       case 'team':
-                                               $options = array(
-                                                       'delete'        => _BATCH_TEAM_DELETE,
-                                                       'setadmin'      => _BATCH_TEAM_SET_ADM,
-                                                       'unsetadmin' => _BATCH_TEAM_UNSET_ADM,
-                                               );
-                                               break;
-                                       case 'category':
-                                               $options = array(
-                                                       'delete'        => _BATCH_CAT_DELETE,
-                                                       'move'          => _BATCH_CAT_MOVE,
-                                               );
-                                               break;
-                                       case 'comment':
-                                               $options = array(
-                                                       'delete'        => _BATCH_COMMENT_DELETE,
-                                               );
-                                       break;
-                               }
-                               foreach ($options as $option => $label) {
-                                       echo '<option value="',$option,'">',$label,'</option>';
-                               }
-                       ?>
-                       </select>
-                       <input type="hidden" name="action" value="batch<?php echo $this->type?>" />
-                       <?php
-                               $manager->addTicketHidden();
-
-                               // add hidden fields for 'team' and 'comment' batchlists
-                               if ($this->type == 'team')
-                               {
-                                       echo '<input type="hidden" name="blogid" value="',intRequestVar('blogid'),'" />';
-                               }
-                               if ($this->type == 'comment')
-                               {
-                                       echo '<input type="hidden" name="itemid" value="',intRequestVar('itemid'),'" />';
-                               }
-
-                               echo '<input type="submit" value="',_BATCH_EXEC,'" />';
-                       ?>(
-                        <a href="" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); return batchSelectAll(1); "><?php echo _BATCH_SELECTALL?></a> -
-                        <a href="" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); return batchSelectAll(0); "><?php echo _BATCH_DESELECTALL?></a>
-                       )
-               </div>
-               <?php   }
-
-       // shortcut :)
-       function showList($query, $type, $template, $errorMessage = _LISTS_NOMORE) {
-               return $this->doEncapsulate(    'showlist',
-                                                                       array($query, $type, $template),
-                                                                       $errorMessage
-                                                               );
-       }
-
-}
-?>
diff --git a/euc/nucleus/libs/ITEM.php b/euc/nucleus/libs/ITEM.php
deleted file mode 100755 (executable)
index 0396850..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-<?php\r
-\r
-/*\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2007 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- */\r
-/**\r
- * A class representing an item\r
- *\r
- * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2007 The Nucleus Group\r
- * @version $Id: ITEM.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $\r
- * $NucleusJP: ITEM.php,v 1.7 2007/02/04 06:28:46 kimitake Exp $\r
- */\r
-class ITEM {\r
-\r
-       var $itemid;\r
-\r
-       function ITEM($itemid) {\r
-               $this->itemid = $itemid;\r
-       }\r
-\r
-       /**\r
-         * Returns one item with the specific itemid\r
-         * (static)\r
-         */\r
-       function getitem($itemid, $allowdraft, $allowfuture) {\r
-               global $manager;\r
-\r
-               $itemid = intval($itemid);\r
-\r
-               $query =  'SELECT i.idraft as draft, i.inumber as itemid, i.iclosed as closed, '\r
-                          . ' i.ititle as title, i.ibody as body, m.mname as author, '\r
-                          . ' i.iauthor as authorid, i.itime, i.imore as more, i.ikarmapos as karmapos, '\r
-                          . ' i.ikarmaneg as karmaneg, i.icat as catid, i.iblog as blogid '\r
-                          . ' FROM '.sql_table('item').' as i, '.sql_table('member').' as m, ' . sql_table('blog') . ' as b '\r
-                          . ' WHERE i.inumber=' . $itemid\r
-                          . ' and i.iauthor=m.mnumber '\r
-                          . ' and i.iblog=b.bnumber';\r
-\r
-               if (!$allowdraft)\r
-                       $query .= ' and i.idraft=0';\r
-\r
-               if (!$allowfuture) {\r
-                       $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));\r
-                       $query .= ' and i.itime <=' . mysqldate($blog->getCorrectTime());\r
-               }\r
-\r
-               $query .= ' LIMIT 1';\r
-\r
-               $res = sql_query($query);\r
-\r
-               if (mysql_num_rows($res) == 1)\r
-               {\r
-                       $aItemInfo = mysql_fetch_assoc($res);\r
-                       $aItemInfo['timestamp'] = strtotime($aItemInfo['itime']);\r
-                       return $aItemInfo;\r
-               } else {\r
-                       return 0;\r
-               }\r
-\r
-       }\r
-\r
-       /**\r
-        * Tries to create an item from the data in the current request (comes from\r
-        * bookmarklet or admin area\r
-        *\r
-        * Returns an array with status info (status = 'added', 'error', 'newcategory')\r
-        *\r
-        * (static)\r
-        */\r
-       function createFromRequest() {\r
-                global $member, $manager;\r
-\r
-                $i_author =            $member->getID();\r
-                $i_body =                      postVar('body');\r
-                $i_title =                     postVar('title');\r
-                $i_more =                      postVar('more');\r
-                $i_actiontype =        postVar('actiontype');\r
-                $i_closed =            intPostVar('closed');\r
-                $i_hour =                      intPostVar('hour');\r
-                $i_minutes =           intPostVar('minutes');\r
-                $i_month =             intPostVar('month');\r
-                $i_day =                       intPostVar('day');\r
-                $i_year =                      intPostVar('year');\r
-\r
-                $i_catid =             postVar('catid');\r
-\r
-                $i_draftid =           intPostVar('draftid');\r
-\r
-                if (!$member->canAddItem($i_catid))\r
-                       return array('status' => 'error', 'message' => _ERROR_DISALLOWED);\r
-\r
-                if (!$i_actiontype) $i_actiontype = 'addnow';\r
-\r
-                switch ($i_actiontype) {\r
-                       case 'adddraft':\r
-                               $i_draft = 1;\r
-                               break;\r
-                       case 'addfuture':\r
-                       case 'addnow':\r
-                       default:\r
-                               $i_draft = 0;\r
-                }\r
-\r
-                if (!trim($i_body))\r
-                       return array('status' => 'error', 'message' => _ERROR_NOEMPTYITEMS);\r
-\r
-               // create new category if needed\r
-               if (strstr($i_catid,'newcat')) {\r
-                       // get blogid\r
-                       list($i_blogid) = sscanf($i_catid,"newcat-%d");\r
-\r
-                       // create\r
-                       $blog =& $manager->getBlog($i_blogid);\r
-                       $i_catid = $blog->createNewCategory();\r
-\r
-                       // show error when sth goes wrong\r
-                       if (!$i_catid)\r
-                               return array('status' => 'error','message' => 'Could not create new category');\r
-               } else {\r
-                       // force blogid (must be same as category id)\r
-                       $i_blogid = getBlogIDFromCatID($i_catid);\r
-                       $blog =& $manager->getBlog($i_blogid);\r
-               }\r
-\r
-               if ($i_actiontype == 'addfuture') {\r
-                       $posttime = mktime($i_hour, $i_minutes, 0, $i_month, $i_day, $i_year);\r
-\r
-                       // make sure the date is in the future, unless we allow past dates\r
-                       if ((!$blog->allowPastPosting()) && ($posttime < $blog->getCorrectTime()))\r
-                               $posttime = $blog->getCorrectTime();\r
-               } else {\r
-                       // time with offset, or 0 for drafts\r
-                       $posttime = $i_draft ? 0 : $blog->getCorrectTime();\r
-               }\r
-\r
-               $itemid = $blog->additem($i_catid, $i_title,$i_body,$i_more,$i_blogid,$i_author,$posttime,$i_closed,$i_draft);\r
-\r
-               //Setting the itemOptions\r
-               $aOptions = requestArray('plugoption');\r
-               NucleusPlugin::_applyPluginOptions($aOptions, $itemid);\r
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'item', 'itemid' => $itemid, 'item' => array('title' => $i_title, 'body' => $i_body, 'more' => $i_more, 'closed' => $i_closed, 'catid' => $i_catid)));\r
-\r
-               if ($i_draftid > 0 && $member->canAlterItem($i_draftid) ) {\r
-                       ITEM::delete($i_draftid);\r
-               }\r
-\r
-               // success\r
-               if ($i_catid != intRequestVar('catid'))\r
-                       return array('status' => 'newcategory', 'itemid' => $itemid, 'catid' => $i_catid);\r
-               else\r
-                       return array('status' => 'added', 'itemid' => $itemid);\r
-       }\r
-\r
-\r
-       /**\r
-         * Updates an item (static)\r
-         */\r
-       function update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, $timestamp = 0) {\r
-               global $manager;\r
-\r
-               $itemid = intval($itemid);\r
-\r
-               // make sure value is 1 or 0\r
-               if ($closed != 1) $closed = 0;\r
-\r
-               // get destination blogid\r
-               $new_blogid = getBlogIDFromCatID($catid);\r
-               $old_blogid = getBlogIDFromItemID($itemid);\r
-\r
-               // move will be done on end of method\r
-               if ($new_blogid != $old_blogid)\r
-                       $moveNeeded = 1;\r
-\r
-               // add <br /> before newlines\r
-               $blog =& $manager->getBlog($new_blogid);\r
-               if ($blog->convertBreaks()) {\r
-                       $body = addBreaks($body);\r
-                       $more = addBreaks($more);\r
-               }\r
-\r
-               // call plugins\r
-               $manager->notify('PreUpdateItem',array('itemid' => $itemid, 'title' => &$title, 'body' => &$body, 'more' => &$more, 'blog' => &$blog, 'closed' => &$closed, 'catid' => &$catid));\r
-\r
-               // update item itsself\r
-               $query =  'UPDATE '.sql_table('item')\r
-                          . ' SET'\r
-                          . " ibody='". addslashes($body) ."',"\r
-                          . " ititle='" . addslashes($title) . "',"\r
-                          . " imore='" . addslashes($more) . "',"\r
-                          . " iclosed=" . intval($closed) . ","\r
-                          . " icat=" . intval($catid);\r
-\r
-               // if we received an updated timestamp in the past, but past posting is not allowed,\r
-               // reject that date change (timestamp = 0 will make sure the current date is kept)\r
-               if ( (!$blog->allowPastPosting()) && ($timestamp < $blog->getCorrectTime()))\r
-                               $timestamp = 0;\r
-\r
-               if ($wasdraft && $publish) {\r
-                       $query .= ', idraft=0';\r
-\r
-                       // set timestamp to current date only if it's not a future item\r
-                       // draft items have timestamp == 0\r
-                       // don't allow timestamps in the past (unless otherwise defined in blogsettings)\r
-                       if ($timestamp > $blog->getCorrectTime())\r
-                               $isFuture = 1;\r
-\r
-                       if ($timestamp == 0)\r
-                               $timestamp = $blog->getCorrectTime();\r
-\r
-                       // send new item notification\r
-                       if (!$isFuture && $blog->getNotifyAddress() && $blog->notifyOnNewItem())\r
-                               $blog->sendNewItemNotification($itemid, $title, $body);\r
-               }\r
-\r
-               // update timestamp when needed\r
-               if ($timestamp != 0)\r
-                       $query .= ", itime=" . mysqldate($timestamp);\r
-\r
-               // make sure the correct item is updated\r
-               $query .= ' WHERE inumber=' . $itemid;\r
-\r
-               // off we go!\r
-               sql_query($query);\r
-\r
-               $manager->notify('PostUpdateItem',array('itemid' => $itemid));\r
-\r
-               // when needed, move item and comments to new blog\r
-               if ($moveNeeded)\r
-                       ITEM::move($itemid, $catid);\r
-\r
-               //update the itemOptions\r
-               $aOptions = requestArray('plugoption');\r
-               NucleusPlugin::_applyPluginOptions($aOptions);\r
-               $manager->notify('PostPluginOptionsUpdate',array('context' => 'item', 'itemid' => $itemid, 'item' => array('title' => $title, 'body' => $body, 'more' => $more, 'closed' => $closed, 'catid' => $catid)));\r
-\r
-       }\r
-\r
-       // move an item to another blog (no checks, static)\r
-       function move($itemid, $new_catid) {\r
-               global $manager;\r
-\r
-               $itemid = intval($itemid);\r
-               $new_catid = intval($new_catid);\r
-\r
-               $new_blogid = getBlogIDFromCatID($new_catid);\r
-\r
-               $manager->notify(\r
-                       'PreMoveItem',\r
-                       array(\r
-                               'itemid' => $itemid,\r
-                               'destblogid' => $new_blogid,\r
-                               'destcatid' => $new_catid\r
-                       )\r
-               );\r
-\r
-\r
-               // update item table\r
-               $query = 'UPDATE '.sql_table('item')." SET iblog=$new_blogid, icat=$new_catid WHERE inumber=$itemid";\r
-               sql_query($query);\r
-\r
-               // update comments\r
-               $query = 'UPDATE '.sql_table('comment')." SET cblog=" . $new_blogid." WHERE citem=" . $itemid;\r
-               sql_query($query);\r
-\r
-               $manager->notify(\r
-                       'PostMoveItem',\r
-                       array(\r
-                               'itemid' => $itemid,\r
-                               'destblogid' => $new_blogid,\r
-                               'destcatid' => $new_catid\r
-                       )\r
-               );\r
-       }\r
-\r
-       /**\r
-         * Deletes an item\r
-         */\r
-       function delete($itemid) {\r
-               global $manager, $member;\r
-\r
-               $itemid = intval($itemid);\r
-               if (!$member->canAlterItem($itemid)) return;\r
-\r
-               $manager->notify('PreDeleteItem', array('itemid' => $itemid));\r
-\r
-               // delete item\r
-               $query = 'DELETE FROM '.sql_table('item').' WHERE inumber=' . $itemid;\r
-               sql_query($query);\r
-\r
-               // delete the comments associated with the item\r
-               $query = 'DELETE FROM '.sql_table('comment').' WHERE citem=' . $itemid;\r
-               sql_query($query);\r
-\r
-               // delete all associated plugin options\r
-               NucleusPlugin::_deleteOptionValues('item', $itemid);\r
-\r
-               $manager->notify('PostDeleteItem', array('itemid' => $itemid));\r
-       }\r
-\r
-       // returns true if there is an item with the given ID (static)\r
-       function exists($id,$future,$draft) {\r
-               global $manager;\r
-\r
-               $id = intval($id);\r
-\r
-               $r = 'select * FROM '.sql_table('item').' WHERE inumber='.$id;\r
-               if (!$future) {\r
-                       $bid = getBlogIDFromItemID($id);\r
-                       if (!$bid) return 0;\r
-                       $b =& $manager->getBlog($bid);\r
-                       $r .= ' and itime<='.mysqldate($b->getCorrectTime());\r
-               }\r
-               if (!$draft) {\r
-                       $r .= ' and idraft=0';\r
-               }\r
-               $r = sql_query($r);\r
-\r
-               return (mysql_num_rows($r) != 0);\r
-       }\r
-\r
-       /**\r
-        * Tries to create an draft from the data in the current request (comes from\r
-        * bookmarklet or admin area\r
-        *\r
-        * Returns an array with status info (status = 'added', 'error', 'newcategory')\r
-        *\r
-        * (static)\r
-        *\r
-        * Used by xmlHTTPRequest AutoDraft\r
-        */\r
-       function createDraftFromRequest() {\r
-               global $member, $manager;\r
-\r
-               $i_author = $member->getID();\r
-               $i_body = postVar('body');\r
-               $i_title = postVar('title');\r
-               $i_more = postVar('more');\r
-               //$i_actiontype = postVar('actiontype');\r
-               $i_closed = intPostVar('closed');\r
-               //$i_hour = intPostVar('hour');\r
-               //$i_minutes = intPostVar('minutes');\r
-               //$i_month = intPostVar('month');\r
-               //$i_day = intPostVar('day');\r
-               //$i_year = intPostVar('year');\r
-               $i_catid = postVar('catid');\r
-               $i_draft = 1;\r
-               $type = postVar('type');\r
-               if ($type == 'edit') {\r
-                       $i_blogid = getBlogIDFromItemID(intPostVar('itemid'));\r
-               }\r
-               else {\r
-                       $i_blogid = intPostVar('blogid');\r
-               }\r
-               $i_draftid = intPostVar('draftid');\r
-\r
-               if (!$member->canAddItem($i_catid)) {\r
-                       return array('status' => 'error', 'message' => _ERROR_DISALLOWED);\r
-               }\r
-\r
-               if (!trim($i_body)) {\r
-                       return array('status' => 'error', 'message' => _ERROR_NOEMPTYITEMS);\r
-               }\r
-\r
-               // create new category if needed\r
-               if (strstr($i_catid, 'newcat')) {\r
-                       // Set in default category\r
-                       $blog =& $manager->getBlog($i_blogid);\r
-                       $i_catid = $blog->getDefaultCategory();\r
-               }\r
-               else {\r
-                       // force blogid (must be same as category id)\r
-                       $i_blogid = getBlogIDFromCatID($i_catid);\r
-                       $blog =& $manager->getBlog($i_blogid);\r
-               }\r
-\r
-               $posttime = 0;\r
-\r
-               if ($i_draftid > 0) {\r
-                       ITEM::update($i_draftid, $i_catid, $i_title, $i_body, $i_more, $i_closed, 1, 0, 0);\r
-                       $itemid = $i_draftid;\r
-               }\r
-               else {\r
-                       $itemid = $blog->additem($i_catid, $i_title, $i_body, $i_more, $i_blogid, $i_author, $posttime, $i_closed, $i_draft);\r
-               }\r
-\r
-               // No plugin support in AutoSaveDraft yet\r
-               //Setting the itemOptions\r
-               //$aOptions = requestArray('plugoption');\r
-               //NucleusPlugin::_applyPluginOptions($aOptions, $itemid);\r
-               //$manager->notify('PostPluginOptionsUpdate',array('context' => 'item', 'itemid' => $itemid, 'item' => array('title' => $i_title, 'body' => $i_body, 'more' => $i_more, 'closed' => $i_closed, 'catid' => $i_catid)));\r
-\r
-               // success\r
-               return array('status' => 'added', 'draftid' => $itemid);\r
-       }\r
-\r
-}\r
-\r
-?>\r
diff --git a/euc/nucleus/libs/ITEMACTIONS.php b/euc/nucleus/libs/ITEMACTIONS.php
deleted file mode 100644 (file)
index d62132c..0000000
+++ /dev/null
@@ -1,430 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This class to parse item templates
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: ITEMACTIONS.php,v 1.1 2007-04-04 07:52:08 kimitake Exp $
- * @version $NucleusJP: ITEMACTIONS.php,v 1.5 2007/03/22 03:30:14 kmorimatsu Exp $
- */
-class ITEMACTIONS extends BaseActions {
-
-       // contains an assoc array with parameters that need to be included when
-       // generating links to items/archives/... (e.g. catid)
-       var $linkparams;
-
-       // true when the current user is a blog admin (and thus allowed to edit all items)
-       var $allowEditAll;
-
-       // timestamp of last visit
-       var $lastVisit;
-
-       // item currently being handled (mysql result object, see BLOG::showUsingQuery)
-       var $currentItem;
-
-       // reference to the blog currently being displayed
-       var $blog;
-
-       // associative array with template info (part name => contents)
-       var $template;
-
-       // true when comments need to be displayed
-       var $showComments;
-
-       function ITEMACTIONS(&$blog) {
-               // call constructor of superclass first
-               $this->BaseActions();
-
-               // extra parameters for created links
-               global $catid;
-               if ($catid)
-                       $this->linkparams = array('catid' => $catid);
-
-               // check if member is blog admin (and thus allowed to edit all items)
-               global $member;
-               $this->allowEditAll = ($member->isLoggedIn() && $member->blogAdminRights($blog->getID()));
-               $this->setBlog($blog);
-       }
-
-       function getDefinedActions() {
-               return array(
-                       'blogid',
-                       'title',
-                       'body',
-                       'more',
-                       'smartbody',
-                       'itemid',
-                       'morelink',
-                       'category',
-                       'categorylink',
-                       'author',
-                       'authorid',
-                       'authorlink',
-                       'catid',
-                       'karma',
-                       'date',
-                       'time',
-                       'query',
-                       'itemlink',
-                       'blogurl',
-                       'closed',
-                       'syndicate_title',
-                       'syndicate_description',
-                       'karmaposlink',
-                       'karmaneglink',
-                       'new',
-                       'image',
-                       'popup',
-                       'media',
-                       'daylink',
-                       'query',
-                       'include',
-                       'phpinclude',
-                       'parsedinclude',
-                       'skinfile',
-                       'set',
-                       'plugin',
-                       'edit',
-                       'editlink',
-                       'editpopupcode',
-                       'comments',
-                       'relevance'/*,
-                       'if',
-                       'else',
-                       'endif',
-                       'elseif',
-                       'ifnot',
-                       'elseifnot'*/
-               );
-       }
-
-       function setLastVisit($lastVisit) {
-               $this->lastVisit = $lastVisit;
-       }
-       
-       function setParser(&$parser) {
-               $this->parser =& $parser;
-       }
-       
-       function setCurrentItem(&$item) {
-               $this->currentItem =& $item;
-       }
-       
-       function setBlog(&$blog) {
-               $this->blog =& $blog;
-       }
-       
-       function setTemplate($template) {
-               $this->template =& $template;
-       }
-       
-       function setShowComments($val) {
-               $this->showComments = $val;
-       }
-
-       // methods used by parser to insert content
-
-       function parse_blogid() {
-               echo $this->blog->getID();
-       }
-       
-       function parse_body() {
-               $this->highlightAndParse($this->currentItem->body);
-       }
-       
-       function parse_more() {
-               $this->highlightAndParse($this->currentItem->more);
-       }
-       
-       function parse_itemid() {
-               echo $this->currentItem->itemid;
-       }
-       
-       function parse_category() {
-               echo $this->currentItem->category;
-       }
-       
-       function parse_categorylink() {
-               echo createLink('category', array('catid' => $this->currentItem->catid, 'name' => $this->currentItem->category));
-       }
-       
-       function parse_catid() {
-               echo $this->currentItem->catid;
-       }
-       
-       function parse_authorid() {
-               echo $this->currentItem->authorid;
-       }
-       
-       function parse_authorlink() {
-               echo createLink(
-                       'member',
-                       array(
-                               'memberid' => $this->currentItem->authorid,
-                               'name' => $this->currentItem->author,
-                               'extra' => $this->linkparams
-                       )
-               );
-       }
-       
-       function parse_query() {
-               echo $this->strHighlight;
-       }
-       
-       function parse_itemlink() {
-               echo createLink(
-                       'item',
-                       array(
-                               'itemid' => $this->currentItem->itemid,
-                               'title' => $this->currentItem->title,
-                               'timestamp' => $this->currentItem->timestamp,
-                               'extra' => $this->linkparams
-                       )
-               );
-       }
-       
-       function parse_blogurl() {
-               echo $this->blog->getURL();
-       }
-       
-       function parse_closed() {
-               echo $this->currentItem->closed;
-       }
-       
-       function parse_relevance() {
-               echo round($this->currentItem->score,2);
-       }
-
-       function parse_title($format = '') {
-               switch ($format) {
-                       case 'xml':
-                               echo stringToXML ($this->currentItem->title);
-                               break;
-                       case 'attribute':
-                               echo stringToAttribute ($this->currentItem->title);
-                               break;
-                       case 'raw':
-                               echo $this->currentItem->title;
-                               break;
-                       default:
-                               $this->highlightAndParse($this->currentItem->title);
-                               break;
-               }
-       }
-
-       function parse_karma($type = 'totalscore') {
-               global $manager;
-
-               // get karma object
-               $karma =& $manager->getKarma($this->currentItem->itemid);
-
-               switch($type) {
-                       case 'pos':
-                               echo $karma->getNbPosVotes();
-                               break;
-                       case 'neg':
-                               echo $karma->getNbNegVotes();
-                               break;
-                       case 'votes':
-                               echo $karma->getNbOfVotes();
-                               break;
-                       case 'posp':
-                               $percentage = $karma->getNbOfVotes() ? 100 * ($karma->getNbPosVotes() / $karma->getNbOfVotes()) : 50;
-                               echo number_format($percentage,2), '%';
-                               break;
-                       case 'negp':
-                               $percentage = $karma->getNbOfVotes() ? 100 * ($karma->getNbNegVotes() / $karma->getNbOfVotes()) : 50;
-                               echo number_format($percentage,2), '%';
-                               break;
-                       case 'totalscore':
-                       default:
-                               echo $karma->getTotalScore();
-                               break;
-               }
-
-       }
-
-       function parse_author($which = '') {
-               switch($which)
-               {
-                       case 'realname':
-                               echo $this->currentItem->authorname;
-                               break;
-                       case 'id':
-                               echo $this->currentItem->authorid;
-                               break;
-                       case 'email':
-                               echo $this->currentItem->authormail;
-                               break;
-                       case 'url':
-                               echo $this->currentItem->authorurl;
-                               break;
-                       case 'name':
-                       default:
-                               echo $this->currentItem->author;
-               }
-       }
-
-       function parse_smartbody() {
-               if (!$this->currentItem->more) {
-                       $this->highlightAndParse($this->currentItem->body);
-               } else {
-                       $this->highlightAndParse($this->currentItem->more);
-               }
-       }
-
-       function parse_morelink() {
-               if ($this->currentItem->more)
-                       $this->parser->parse($this->template['MORELINK']);
-       }
-
-       function parse_date($format = '') {
-               echo formatDate($format, $this->currentItem->timestamp, $this->template['FORMAT_DATE'], $this->blog);
-       }
-
-       /**
-         * @param format optional strftime format
-         */
-       function parse_time($format = '') {
-               echo strftime($format ? $format : $this->template['FORMAT_TIME'],$this->currentItem->timestamp);
-       }
-
-       /**
-         * @param maxLength optional maximum length
-         */
-       function parse_syndicate_title($maxLength = 100) {
-               $syndicated = strip_tags($this->currentItem->title);
-               echo htmlspecialchars(shorten($syndicated,$maxLength,'...'),ENT_QUOTES);
-       }
-
-       /**
-         * @param maxLength optional maximum length
-         */
-       function parse_syndicate_description($maxLength = 250, $addHighlight = 0) {
-               $syndicated = strip_tags($this->currentItem->body);
-               if ($addHighlight) {
-                       $tmp_highlight = htmlspecialchars(shorten($syndicated,$maxLength,'...'),ENT_QUOTES);
-                       echo $this->highlightAndParse($tmp_highlight);
-               } else {
-                       echo htmlspecialchars(shorten($syndicated,$maxLength,'...'),ENT_QUOTES);
-               }
-       }
-
-       function parse_karmaposlink($text = '') {
-               global $CONF;
-               $link = $CONF['ActionURL'] . '?action=votepositive&amp;itemid='.$this->currentItem->itemid;
-               echo $text ? '<a href="'.$link.'">'.$text.'</a>' : $link;
-       }
-
-       function parse_karmaneglink($text = '') {
-               global $CONF;
-               $link = $CONF['ActionURL'] . '?action=votenegative&amp;itemid='.$this->currentItem->itemid;
-               echo $text ? '<a href="'.$link.'">'.$text.'</a>' : $link;
-       }
-
-       function parse_new() {
-               if (($this->lastVisit != 0) && ($this->currentItem->timestamp > $this->lastVisit))
-                       echo $this->template['NEW'];
-       }
-
-       function parse_daylink() {
-               echo createArchiveLink($this->blog->getID(), strftime('%Y-%m-%d',$this->currentItem->timestamp), $this->linkparams);
-       }
-
-       function parse_comments($maxToShow = 0) {
-               if ($maxToShow == 0)
-                       $maxToShow = $this->blog->getMaxComments();
-
-               // add comments
-               if ($this->showComments && $this->blog->commentsEnabled()) {
-                       $comments =& new COMMENTS($this->currentItem->itemid);
-                       $comments->setItemActions($this);
-                       $comments->showComments($this->template, $maxToShow, $this->currentItem->closed ? 0 : 1, $this->strHighlight);
-               }
-       }
-
-       /**
-         * Executes a plugin templatevar
-         *
-         * @param pluginName name of plugin (without the NP_)
-         *
-         * extra parameters can be added
-         */
-       function parse_plugin($pluginName) {
-               global $manager;
-
-               // only continue when the plugin is really installed
-               if (!$manager->pluginInstalled('NP_' . $pluginName))
-                       return;
-
-               $plugin =& $manager->getPlugin('NP_' . $pluginName);
-               if (!$plugin) return;
-
-               // get arguments
-               $params = func_get_args();
-
-               // remove plugin name
-               array_shift($params);
-
-               // add item reference (array_unshift didn't work)
-               $params = array_merge(array(&$this->currentItem),$params);
-
-               call_user_func_array(array(&$plugin,'doTemplateVar'), $params);
-       }
-
-       function parse_edit() {
-               global $member, $CONF;
-               if ($this->allowEditAll || ($member->isLoggedIn() && ($member->getID() == $this->currentItem->authorid)) ) {
-                       $this->parser->parse($this->template['EDITLINK']);
-               }
-       }
-
-       function parse_editlink() {
-               global $CONF;
-               echo $CONF['AdminURL'],'bookmarklet.php?action=edit&amp;itemid=',$this->currentItem->itemid;
-       }
-
-       function parse_editpopupcode() {
-               echo "if (event &amp;&amp; event.preventDefault) event.preventDefault();winbm=window.open(this.href,'nucleusbm','scrollbars=yes,width=600,height=500,left=10,top=10,status=yes,resizable=yes');winbm.focus();return false;";
-       }
-
-       // helper functions
-
-       /**
-        * Parses highlighted text, with limited actions only (to prevent not fully trusted team members
-        * from hacking your weblog.
-        * 'plugin variables in items' implementation by Andy
-        */
-       function highlightAndParse(&$data) {
-               $actions =& new BODYACTIONS($this->blog);
-               $parser =& new PARSER($actions->getDefinedActions(), $actions);
-               $actions->setTemplate($this->template);
-               $actions->setHighlight($this->strHighlight);
-               $actions->setCurrentItem($this->currentItem);
-               //$actions->setParser($parser);
-               $parser->parse($actions->highlight($data));
-       }
-
-       /*
-       // this is the function previous to the 'plugin variables in items' implementation by Andy
-       function highlightAndParse(&$data) {
-               // allow only a limited subset of actions (do not allow includes etc, they might be evil)
-               $this->parser->actions = array('image','media','popup');
-               $tmp_highlight = $this->highlight($data);
-               $this->parser->parse($tmp_highlight);
-               $this->parser->actions = $this->getDefinedActions();
-       }
-       */
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/KARMA.php b/euc/nucleus/libs/KARMA.php
deleted file mode 100755 (executable)
index 0774f8d..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Class representing the karma votes for a certain item
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: KARMA.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: KARMA.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-class KARMA {
-
-       // id of item about which this object contains information
-       var $itemid;
-
-       // indicates if the karma vote info has already been intialized from the DB
-       var $inforead;
-
-       // amount of positive/negative votes
-       var $karmapos;
-       var $karmaneg;
-
-       function KARMA($itemid, $initpos = 0, $initneg = 0, $initread = 0) {
-               // itemid
-               $this->itemid = intval($itemid);
-
-               // have we read the karma info yet?
-               $this->inforead = intval($initread);
-
-               // number of positive and negative votes
-               $this->karmapos = intval($initpos);
-               $this->karmaneg = intval($initneg);
-       }
-
-       function getNbPosVotes() {
-               if (!$this->inforead) $this->readFromDatabase();
-               return $this->karmapos;
-       }
-       function getNbNegVotes() {
-               if (!$this->inforead) $this->readFromDatabase();
-               return $this->karmaneg;
-       }
-       function getNbOfVotes() {
-               if (!$this->inforead) $this->readFromDatabase();
-               return ($this->karmapos + $this->karmaneg);
-       }
-       function getTotalScore() {
-               if (!$this->inforead) $this->readFromDatabase();
-               return ($this->karmapos - $this->karmaneg);
-       }
-
-       function setNbPosVotes($val) {
-               $this->karmapos = intval($val);
-       }
-       function setNbNegVotes($val) {
-               $this->karmaneg = intval($val);
-       }
-
-
-       // adds a positive vote
-       function votePositive() {
-               $newKarma = $this->getNbPosVotes() + 1;
-               $this->setNbPosVotes($newKarma);
-               $this->writeToDatabase();
-               $this->saveIP();
-       }
-
-       // adds a negative vote
-       function voteNegative() {
-               $newKarma = $this->getNbNegVotes() + 1;
-               $this->setNbNegVotes($newKarma);
-               $this->writeToDatabase();
-               $this->saveIP();
-       }
-
-
-
-       // these methods shouldn't be called directly
-       function readFromDatabase() {
-               $query = 'SELECT ikarmapos, ikarmaneg FROM '.sql_table('item').' WHERE inumber=' . $this->itemid;
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-
-               $this->karmapos = $obj->ikarmapos;
-               $this->karmaneg = $obj->ikarmaneg;
-               $this->inforead = 1;
-       }
-
-
-       function writeToDatabase() {
-               $query = 'UPDATE '.sql_table('item').' SET ikarmapos=' . $this->karmapos . ', ikarmaneg='.$this->karmaneg.' WHERE inumber=' . $this->itemid;
-               sql_query($query);
-       }
-
-       // checks if a vote is still allowed for an IP
-       function isVoteAllowed($ip) {
-               $query = 'SELECT * FROM '.sql_table('karma')." WHERE itemid=$this->itemid and ip='".addslashes($ip)."'";
-               $res = sql_query($query);
-               return (mysql_num_rows($res) == 0);
-       }
-
-       // save IP in database so no multiple votes are possible
-       function saveIP() {
-               $query = 'INSERT INTO '.sql_table('karma').' (itemid, ip) VALUES ('.$this->itemid.",'".addslashes(serverVar('REMOTE_ADDR'))."')";
-               sql_query($query);
-       }
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/MANAGER.php b/euc/nucleus/libs/MANAGER.php
deleted file mode 100755 (executable)
index 5cf440d..0000000
+++ /dev/null
@@ -1,521 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This class makes sure each item/weblog/comment object gets requested from
- * the database only once, by keeping them in a cache. The class also acts as
- * a dynamic classloader, loading classes _only_ when they are first needed,
- * hoping to diminish execution time
- *
- * The class is a singleton, meaning that there will be only one object of it
- * active at all times. The object can be requested using MANAGER::instance()
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: MANAGER.php,v 1.5 2007-04-06 19:37:07 kmorimatsu Exp $
- * $NucleusJP: MANAGER.php,v 1.4 2007/03/27 12:13:56 kimitake Exp $
- */
-class MANAGER {
-
-       /**
-        * Cached ITEM, BLOG, PLUGIN, KARMA and MEMBER objects. When these objects are requested
-        * through the global $manager object (getItem, getBlog, ...), only the first call
-        * will create an object. Subsequent calls will return the same object.
-        *
-        * The $items, $blogs, ... arrays map an id to an object (for plugins, the name is used
-        * rather than an ID)
-        */
-       var $items;
-       var $blogs;
-       var $plugins;
-       var $karma;
-       var $templates;
-       var $members;
-
-       /**
-        * cachedInfo to avoid repeated SQL queries (see pidInstalled/pluginInstalled/getPidFromName)
-        * e.g. which plugins exists?
-        *
-        * $cachedInfo['installedPlugins'] = array($pid -> $name)
-        */
-       var $cachedInfo;
-
-       /**
-         * The plugin subscriptionlist
-         *
-         * The subcription array has the following structure
-         *             $subscriptions[$EventName] = array containing names of plugin classes to be
-         *                                                                      notified when that event happens
-         */
-       var $subscriptions;
-
-       /**
-         * Returns the only instance of this class. Creates the instance if it
-         * does not yet exists. Users should use this function as
-         * $manager =& MANAGER::instance(); to get a reference to the object
-         * instead of a copy
-         */
-       function &instance() {
-               static $instance = array();
-               if (empty($instance)) {
-                       $instance[0] =& new MANAGER();
-               }
-               return $instance[0];
-       }
-
-       /**
-         * The constructor of this class initializes the object caches
-         */
-       function MANAGER() {
-               $this->items = array();
-               $this->blogs = array();
-               $this->plugins = array();
-               $this->karma = array();
-               $this->parserPrefs = array();
-               $this->cachedInfo = array();
-       }
-
-       /**
-         * Returns the requested item object. If it is not in the cache, it will
-         * first be loaded and then placed in the cache.
-         * Intended use: $item =& $manager->getItem(1234)
-         */
-       function &getItem($itemid, $allowdraft, $allowfuture) {
-               $item =& $this->items[$itemid];
-
-               // check the draft and future rules if the item was already cached
-               if ($item) {
-                       if ((!$allowdraft) && ($item['draft']))
-                               return 0;
-
-                       $blog =& $this->getBlog(getBlogIDFromItemID($itemid));
-                       if ((!$allowfuture) && ($item['timestamp'] > $blog->getCorrectTime()))
-                               return 0;
-               }
-               if (!$item) {
-                       // load class if needed
-                       $this->loadClass('ITEM');
-                       // load item object
-                       $item = ITEM::getitem($itemid, $allowdraft, $allowfuture);
-                       $this->items[$itemid] = $item;
-               }
-               return $item;
-       }
-
-       /**
-         * Loads a class if it has not yet been loaded
-         */
-       function loadClass($name) {
-               $this->_loadClass($name, $name . '.php');
-       }
-
-       /**
-         * Checks if an item exists
-         */
-       function existsItem($id,$future,$draft) {
-               $this->_loadClass('ITEM','ITEM.php');
-               return ITEM::exists($id,$future,$draft);
-       }
-
-       /**
-         * Checks if a category exists
-         */
-       function existsCategory($id) {
-               return (quickQuery('SELECT COUNT(*) as result FROM '.sql_table('category').' WHERE catid='.intval($id)) > 0);
-       }
-
-       function &getBlog($blogid) {
-               $blog =& $this->blogs[$blogid];
-
-               if (!$blog) {
-                       // load class if needed
-                       $this->_loadClass('BLOG','BLOG.php');
-                       // load blog object
-                       $blog =& new BLOG($blogid);
-                       $this->blogs[$blogid] =& $blog;
-               }
-               return $blog;
-       }
-
-       function existsBlog($name) {
-               $this->_loadClass('BLOG','BLOG.php');
-               return BLOG::exists($name);
-       }
-
-       function existsBlogID($id) {
-               $this->_loadClass('BLOG','BLOG.php');
-               return BLOG::existsID($id);
-       }
-
-       /**
-        * Returns a previously read template
-        */
-       function &getTemplate($templateName) {
-               $template =& $this->templates[$templateName];
-
-               if (!$template) {
-                       $template = TEMPLATE::read($templateName);
-                       $this->templates[$templateName] =& $template;
-               }
-               return $template;
-       }
-
-       /**
-        * Returns a KARMA object (karma votes)
-        */
-       function &getKarma($itemid) {
-               $karma =& $this->karma[$itemid];
-
-               if (!$karma) {
-                       // load class if needed
-                       $this->_loadClass('KARMA','KARMA.php');
-                       // create KARMA object
-                       $karma =& new KARMA($itemid);
-                       $this->karma[$itemid] =& $karma;
-               }
-               return $karma;
-       }
-
-       /**
-        * Returns a MEMBER object
-        */
-       function &getMember($memberid) {
-               $mem =& $this->members[$memberid];
-
-               if (!$mem) {
-                       // load class if needed
-                       $this->_loadClass('MEMBER','MEMBER.php');
-                       // create MEMBER object
-                       $mem =& MEMBER::createFromID($memberid);
-                       $this->members[$memberid] =& $mem;
-               }
-               return $mem;
-       }
-
-       /**
-        * Global parser preferences
-        */
-       function setParserProperty($name, $value) {
-               $this->parserPrefs[$name] = $value;
-       }
-       function getParserProperty($name) {
-               return $this->parserPrefs[$name];
-       }
-
-       /**
-         * A private helper class to load classes
-         */
-       function _loadClass($name, $filename) {
-               if (!class_exists($name)) {
-                               global $DIR_LIBS;
-                               include($DIR_LIBS . $filename);
-               }
-       }
-
-       function _loadPlugin($name) {
-               if (!class_exists($name)) {
-                               global $DIR_PLUGINS;
-
-                               $fileName = $DIR_PLUGINS . $name . '.php';
-
-                               if (!file_exists($fileName))
-                               {
-                                       ACTIONLOG::add(WARNING, 'Plugin ' . $name . ' was not loaded (File not found)');
-                                       return 0;
-                               }
-
-                               // load plugin
-                               include($fileName);
-
-                               // check if class exists (avoid errors in eval'd code)
-                               if (!class_exists($name))
-                               {
-                                       ACTIONLOG::add(WARNING, 'Plugin ' . $name . ' was not loaded (Class not found in file, possible parse error)');
-                                       return 0;
-                               }
-
-                               // add to plugin array
-                               eval('$this->plugins[$name] =& new ' . $name . '();');
-
-                               // get plugid
-                               $this->plugins[$name]->plugid = $this->getPidFromName($name);
-
-                               // unload plugin if a prefix is used and the plugin cannot handle this^
-                               global $MYSQL_PREFIX;
-                               if (($MYSQL_PREFIX != '') && !$this->plugins[$name]->supportsFeature('SqlTablePrefix'))
-                               {
-                                       unset($this->plugins[$name]);
-                                       ACTIONLOG::add(WARNING, 'Plugin ' . $name . ' was not loaded (does not support SqlTablePrefix)');
-                                       return 0;
-                               }
-
-                               // call init method
-                               $this->plugins[$name]->init();
-
-               }
-       }
-
-       function &getPlugin($name) {
-               $plugin =& $this->plugins[$name];
-
-               if (!$plugin) {
-                       // load class if needed
-                       $this->_loadPlugin($name);
-                       $plugin =& $this->plugins[$name];
-               }
-               return $plugin;
-       }
-
-       /**
-         * checks if the given plugin IS loaded or not
-         */
-       function &pluginLoaded($name) {
-               $plugin =& $this->plugins[$name];
-               return $plugin;
-       }
-       function &pidLoaded($pid) {
-               $plugin=false;
-               reset($this->plugins);
-               while (list($name) = each($this->plugins)) {
-                       if ($pid!=$this->plugins[$name]->getId()) continue;
-                       $plugin= & $this->plugins[$name];
-                       break;
-               }
-               return $plugin;
-       }
-
-       /**
-         * checks if the given plugin IS installed or not
-         */
-       function pluginInstalled($name) {
-               $this->_initCacheInfo('installedPlugins');
-               return ($this->getPidFromName($name) != -1);
-       }
-       function pidInstalled($pid) {
-               $this->_initCacheInfo('installedPlugins');
-               return ($this->cachedInfo['installedPlugins'][$pid] != '');
-       }
-       function getPidFromName($name) {
-               $this->_initCacheInfo('installedPlugins');
-               foreach ($this->cachedInfo['installedPlugins'] as $pid => $pfile)
-               {
-                       if ($pfile == $name)
-                               return $pid;
-               }
-               return -1;
-       }
-       function clearCachedInfo($what) {
-               unset($this->cachedInfo[$what]);
-       }
-
-       /**
-        * Loads some info on the first call only
-        */
-       function _initCacheInfo($what)
-       {
-               if (isset($this->cachedInfo[$what]) && is_array($this->cachedInfo[$what]))
-                       return;
-               switch ($what)
-               {
-                       // 'installedPlugins' = array ($pid => $name)
-                       case 'installedPlugins':
-                               $this->cachedInfo['installedPlugins'] = array();
-                               $res = sql_query('SELECT pid, pfile FROM ' . sql_table('plugin'));
-                               while ($o = mysql_fetch_object($res))
-                               {
-                                       $this->cachedInfo['installedPlugins'][$o->pid] = $o->pfile;
-                               }
-                               break;
-               }
-       }
-
-       /**
-         * A function to notify plugins that something has happened. Only the plugins
-         * that are subscribed to the event will get notified.
-         * Upon the first call, the list of subscriptions will be fetched from the
-         * database. The plugins itsself will only get loaded when they are first needed
-         *
-         * @param $eventName
-         *             Name of the event (method to be called on plugins)
-         * @param $data
-         *             Can contain any type of data, depending on the event type. Usually this is
-         *             an itemid, blogid, ... but it can also be an array containing multiple values
-         */
-       function notify($eventName, $data) {
-               // load subscription list if needed
-               if (!is_array($this->subscriptions))
-                       $this->_loadSubscriptions();
-
-
-               // get listening objects
-               $listeners = false;
-               if (isset($this->subscriptions[$eventName])) {
-                       $listeners = $this->subscriptions[$eventName];
-               }
-
-               // notify all of them
-               if (is_array($listeners)) {
-                       foreach($listeners as $listener) {
-                               // load class if needed
-                               $this->_loadPlugin($listener);
-                               // do notify (if method exists)
-                               if (method_exists($this->plugins[$listener], 'event_' . $eventName))
-                                       call_user_func(array(&$this->plugins[$listener],'event_' . $eventName), $data);
-                       }
-               }
-
-       }
-
-       /**
-         * Loads plugin subscriptions
-         */
-       function _loadSubscriptions() {
-               // initialize as array
-               $this->subscriptions = array();
-
-               $res = sql_query('SELECT p.pfile as pfile, e.event as event FROM '.sql_table('plugin_event').' as e, '.sql_table('plugin').' as p WHERE e.pid=p.pid ORDER BY p.porder ASC');
-               while ($o = mysql_fetch_object($res)) {
-                       $pluginName = $o->pfile;
-                       $eventName = $o->event;
-                       $this->subscriptions[$eventName][] = $pluginName;
-               }
-
-       }
-
-       /*
-               Ticket functions. These are uses by the admin area to make it impossible to simulate certain GET/POST
-               requests. tickets are user specific
-       */
-
-       var $currentRequestTicket = '';
-
-       /**
-        * GET requests: Adds ticket to URL (URL should NOT be html-encoded!, ticket is added at the end)
-        */
-       function addTicketToUrl($url)
-       {
-               $ticketCode = 'ticket=' . $this->_generateTicket();
-               if (strstr($url, '?'))
-                       return $url . '&' . $ticketCode;
-               else
-                       return $url . '?' . $ticketCode;
-       }
-
-       /**
-        * POST requests: Adds ticket as hidden formvar
-        */
-       function addTicketHidden()
-       {
-               $ticket = $this->_generateTicket();
-
-               echo '<input type="hidden" name="ticket" value="', htmlspecialchars($ticket), '" />';
-       }
-
-       /**
-        * Get a new ticket
-        * (xmlHTTPRequest AutoSaveDraft uses this to refresh the ticket)
-        */
-       function getNewTicket()
-       {
-               $this->currentRequestTicket = '';
-               return $this->_generateTicket();
-       }
-
-       /**
-        * Checks the ticket that was passed along with the current request
-        */
-       function checkTicket()
-       {
-               global $member;
-
-               // get ticket from request
-               $ticket = requestVar('ticket');
-
-               // no ticket -> don't allow
-               if ($ticket == '')
-                       return false;
-
-               // remove expired tickets first
-               $this->_cleanUpExpiredTickets();
-
-               // get member id
-               if (!$member->isLoggedIn())
-                       $memberId = -1;
-               else
-                       $memberId = $member->getID();
-
-               // check if ticket is a valid one
-               $query = 'SELECT COUNT(*) as result FROM ' . sql_table('tickets') . ' WHERE member=' . intval($memberId). ' and ticket=\''.addslashes($ticket).'\'';
-               if (quickQuery($query) == 1)
-               {
-                       // [in the original implementation, the checked ticket was deleted. This would lead to invalid
-                       //  tickets when using the browsers back button and clicking another link/form
-                       //  leaving the keys in the database is not a real problem, since they're member-specific and
-                       //  only valid for a period of one hour
-                       // ]
-                       // sql_query('DELETE FROM '.sql_table('tickets').' WHERE member=' . intval($memberId). ' and ticket=\''.addslashes($ticket).'\'');
-                       return true;
-               } else {
-                       // not a valid ticket
-                       return false;
-               }
-
-       }
-
-       /**
-        * (internal method) Removes the expired tickets
-        */
-       function _cleanUpExpiredTickets()
-       {
-               // remove tickets older than 1 hour
-               $oldTime = time() - 60 * 60;
-               $query = 'DELETE FROM ' . sql_table('tickets'). ' WHERE ctime < \'' . date('Y-m-d H:i:s',$oldTime) .'\'';
-               sql_query($query);
-       }
-
-       /**
-        * (internal method) Generates/returns a ticket (one ticket per page request)
-        */
-       function _generateTicket()
-       {
-               if ($this->currentRequestTicket == '')
-               {
-                       // generate new ticket (only one ticket will be generated per page request)
-                       // and store in database
-                       global $member;
-                       // get member id
-                       if (!$member->isLoggedIn())
-                               $memberId = -1;
-                       else
-                               $memberId = $member->getID();
-
-                       $ok = false;
-                       while (!$ok)
-                       {
-                               // generate a random token
-                               srand((double)microtime()*1000000);
-                               $ticket = md5(uniqid(rand(), true));
-
-                               // add in database as non-active
-                               $query = 'INSERT INTO ' . sql_table('tickets') . ' (ticket, member, ctime) ';
-                               $query .= 'VALUES (\'' . addslashes($ticket). '\', \'' . intval($memberId). '\', \'' . date('Y-m-d H:i:s',time()) . '\')';
-                               if (sql_query($query))
-                                       $ok = true;
-                       }
-
-                       $this->currentRequestTicket = $ticket;
-               }
-               return $this->currentRequestTicket;
-       }
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/MEDIA.php b/euc/nucleus/libs/MEDIA.php
deleted file mode 100755 (executable)
index 1d5d057..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Media classes for nucleus
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: MEDIA.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: MEDIA.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-
-define('PRIVATE_COLLECTION', 'Private Collection');
-define('READ_ONLY_MEDIA_FOLDER', '(Read Only)');
-
-/**
-  * Represents the media objects for a certain member
-  */
-class MEDIA {
-
-       /**
-         * Gets the list of collections available to the currently logged
-         * in member
-         *
-         * @returns array of dirname => display name
-         */
-       function getCollectionList($exceptReadOnly = false) {
-               global $member, $DIR_MEDIA;
-
-               $collections = array();
-
-               // add private directory for member
-               $collections[$member->getID()] = PRIVATE_COLLECTION;
-               
-               // add global collections
-               if (!is_dir($DIR_MEDIA)) return $collections;
-
-               $dirhandle = opendir($DIR_MEDIA);
-               while ($dirname = readdir($dirhandle)) {
-                       // only add non-numeric (numeric=private) dirs
-                       if (@is_dir($DIR_MEDIA . $dirname) &&
-                               ($dirname != '.') &&
-                               ($dirname != '..') &&
-                               ($dirname != 'CVS') &&
-                               (!is_numeric($dirname)))  {
-                               if (@is_writable($DIR_MEDIA . $dirname))
-                                       $collections[$dirname] = $dirname;
-                               else if ($exceptReadOnly == false)
-                                       $collections[$dirname] = $dirname . ' ' . READ_ONLY_MEDIA_FOLDER;
-                       }
-               }
-               closedir($dirhandle);
-
-               return $collections;
-
-       }
-
-       /**
-         * Returns an array of MEDIAOBJECT objects for a certain collection
-         *
-         * @param $collection
-         *             name of the collection
-         * @param $filter
-         *             filter on filename (defaults to none)
-         */
-       function getMediaListByCollection($collection, $filter = '') {
-               global $DIR_MEDIA;
-
-               $filelist = array();
-
-               // 1. go through all objects and add them to the filelist
-
-               $mediadir = $DIR_MEDIA . $collection . '/';
-
-               // return if dir does not exist
-               if (!is_dir($mediadir)) return $filelist;
-
-               $dirhandle = opendir($mediadir);
-               while ($filename = readdir($dirhandle)) {
-                       // only add files that match the filter
-                       if (!@is_dir($filename) && MEDIA::checkFilter($filename, $filter))
-                               array_push($filelist, new MEDIAOBJECT($collection, $filename, filemtime($mediadir . $filename)));
-               }
-               closedir($dirhandle);
-
-               // sort array so newer files are shown first
-               usort($filelist, 'sort_media');
-
-               return $filelist;
-       }
-
-       function checkFilter($strText, $strFilter) {
-               if ($strFilter == '')
-                       return 1;
-               else
-                       return is_integer(strpos(strtolower($strText), strtolower($strFilter)));
-       }
-
-       /**
-         * checks if a collection exists with the given name, and if it's
-         * allowed for the currently logged in member to upload files to it
-         */
-       function isValidCollection($collectionName, $exceptReadOnly = false) {
-               global $member, $DIR_MEDIA;
-
-               // allow creating new private directory
-               if ($collectionName === (string)$member->getID())
-                       return true;
-                       
-               $collections = MEDIA::getCollectionList($exceptReadOnly);
-               $dirname = $collections[$collectionName];
-               if ($dirname == NULL || $dirname === PRIVATE_COLLECTION)
-                       return false;  
-
-               // other collections should exist and be writable
-               $collectionDir = $DIR_MEDIA . $collectionName;
-               if ($exceptReadOnly)
-                       return (@is_dir($collectionDir) && @is_writable($collectionDir));
-
-               // other collections should exist
-               return @is_dir($collectionDir);
-       }
-
-       /**
-         * Adds an uploaded file to the media archive
-         *
-         * @param collection
-         *             collection
-         * @param uploadfile
-         *             the postFileInfo(..) array
-         * @param filename
-         *             the filename that should be used to save the file as
-         *             (date prefix should be already added here)
-         */
-       function addMediaObject($collection, $uploadfile, $filename) {
-               global $DIR_MEDIA, $manager;
-
-               $manager->notify('PreMediaUpload',array('collection' => &$collection, 'uploadfile' => $uploadfile, 'filename' => &$filename));
-
-               // don't allow uploads to unknown or forbidden collections
-               $exceptReadOnly = true;
-               if (!MEDIA::isValidCollection($collection,$exceptReadOnly))
-                       return _ERROR_DISALLOWED;
-
-               // check dir permissions (try to create dir if it does not exist)
-               $mediadir = $DIR_MEDIA . $collection;
-
-               // try to create new private media directories if needed
-               if (!@is_dir($mediadir) && is_numeric($collection)) {
-                       $oldumask = umask(0000);
-                       if (!@mkdir($mediadir, 0777))
-                               return _ERROR_BADPERMISSIONS;
-                       umask($oldumask);
-               }
-
-               // if dir still not exists, the action is disallowed
-               if (!@is_dir($mediadir))
-                       return _ERROR_DISALLOWED;
-
-               if (!is_writeable($mediadir))
-                       return _ERROR_BADPERMISSIONS;
-
-               // add trailing slash (don't add it earlier since it causes mkdir to fail on some systems)
-               $mediadir .= '/';
-
-               if (file_exists($mediadir . $filename))
-                       return _ERROR_UPLOADDUPLICATE;
-
-               // move file to directory
-               if (is_uploaded_file($uploadfile)) {
-                       if (!@move_uploaded_file($uploadfile, $mediadir . $filename))
-                               return _ERROR_UPLOADMOVEP;
-               } else {
-                       if (!copy($uploadfile, $mediadir . $filename))
-                               return _ERROR_UPLOADCOPY ;
-               }
-
-               // chmod uploaded file
-               $oldumask = umask(0000);
-               @chmod($mediadir . $filename, 0644);
-               umask($oldumask);
-
-               $manager->notify('PostMediaUpload',array('collection' => $collection, 'mediadir' => $mediadir, 'filename' => $filename));
-
-               return '';
-
-       }
-
-       /**
-        * Adds an uploaded file to the media dir.
-        *
-        * @param $collection
-        *              collection to use
-        * @param $filename
-        *              the filename that should be used to save the file as
-        *              (date prefix should be already added here)
-        * @param &$data
-        *              File data (binary)
-        *
-        * NOTE: does not check if $collection is valid.
-        */
-       function addMediaObjectRaw($collection, $filename, &$data) {
-               global $DIR_MEDIA;
-
-               // check dir permissions (try to create dir if it does not exist)
-               $mediadir = $DIR_MEDIA . $collection;
-
-               // try to create new private media directories if needed
-               if (!@is_dir($mediadir) && is_numeric($collection)) {
-                       $oldumask = umask(0000);
-                       if (!@mkdir($mediadir, 0777))
-                               return _ERROR_BADPERMISSIONS;
-                       umask($oldumask);
-               }
-
-               // if dir still not exists, the action is disallowed
-               if (!@is_dir($mediadir))
-                       return _ERROR_DISALLOWED;
-
-               if (!is_writeable($mediadir))
-                       return _ERROR_BADPERMISSIONS;
-
-               // add trailing slash (don't add it earlier since it causes mkdir to fail on some systems)
-               $mediadir .= '/';
-
-               if (file_exists($mediadir . $filename))
-                       return _ERROR_UPLOADDUPLICATE;
-
-               // create file
-               $fh = @fopen($mediadir . $filename, 'wb');
-               if (!$fh)
-                       return _ERROR_UPLOADFAILED;
-               $ok = @fwrite($fh, $data);
-               @fclose($fh);
-               if (!$ok)
-                       return _ERROR_UPLOADFAILED;
-
-               // chmod uploaded file
-               $oldumask = umask(0000);
-               @chmod($mediadir . $filename, 0644);
-               umask($oldumask);
-
-               return '';
-
-       }
-
-}
-
-/**
-  * Represents the characteristics of one single media-object
-  *
-  * Description of properties:
-  *  - filename: filename, without paths
-  *  - timestamp: last modification (unix timestamp)
-  *  - collection: collection to which the file belongs (can also be a owner ID, for private collections)
-  *  - private: true if the media belongs to a private member collection
-  */
-class MEDIAOBJECT {
-
-       var $private;
-       var $collection;
-       var $filename;
-       var $timestamp;
-
-       function MEDIAOBJECT($collection, $filename, $timestamp) {
-               $this->private = is_numeric($collection);
-               $this->collection = $collection;
-               $this->filename = $filename;
-               $this->timestamp = $timestamp;
-       }
-
-}
-
-/**
-  * User-defined sort method to sort an array of MEDIAOBJECTS
-  */
-function sort_media($a, $b) {
-       if ($a->timestamp == $b->timestamp) return 0;
-       return ($a->timestamp > $b->timestamp) ? -1 : 1;
-}
-
-?>
diff --git a/euc/nucleus/libs/MEMBER.php b/euc/nucleus/libs/MEMBER.php
deleted file mode 100755 (executable)
index a6de188..0000000
+++ /dev/null
@@ -1,729 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class representing site members
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: MEMBER.php,v 1.6 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: MEMBER.php,v 1.7 2007/02/04 06:28:46 kimitake Exp $
- */
-class MEMBER {
-
-       // 1 when authenticated, 0 when not
-       var $loggedin = 0;
-       var $password;          // not the actual password, but rather a MD5 hash
-
-       var $cookiekey;         // value that should also be in the client cookie to allow authentication
-
-       // member info
-       var $id = -1;
-       var $realname;
-       var $displayname;
-       var $email;
-       var $url;
-       var $language = '';             // name of the language file to use (e.g. 'english' -> english.php)
-       var $admin = 0;                 // (either 0 or 1)
-       var $canlogin = 0;              // (either 0 or 1)
-       var $notes;
-
-       // (private)
-       function MEMBER() {
-
-       }
-
-       // (static)
-       function &createFromName($displayname) {
-               $mem =& new MEMBER();
-               $mem->readFromName($displayname);
-               return $mem;
-       }
-
-       // (static)
-       function &createFromID($id) {
-               $mem =& new MEMBER();
-               $mem->readFromID($id);
-               return $mem;
-       }
-
-       function readFromName($displayname) {
-               return $this->read("mname='".addslashes($displayname)."'");
-       }
-
-       function readFromID($id) {
-               return $this->read("mnumber=" . intval($id));
-       }
-
-       /**
-         * Tries to login as a given user. Returns true when succeeded,
-         * returns false when failed
-         */
-       function login($login, $password) {
-               $this->loggedin = 0;
-               if (!$this->readFromName($login))
-                       return 0;
-               if (!$this->checkPassword($password))
-                       return 0;
-               $this->loggedin = 1;
-               return $this->isLoggedIn();
-       }
-
-       // login using cookie key
-       function cookielogin($login, $cookiekey) {
-               $this->loggedin = 0;
-               if (!$this->readFromName($login))
-                       return 0;
-               if (!$this->checkCookieKey($cookiekey))
-                       return 0;
-               $this->loggedin = 1;
-               return $this->isLoggedIn();
-       }
-
-       function logout() {
-               $this->loggedin=0;
-       }
-
-       function isLoggedIn() {
-               return $this->loggedin;
-       }
-
-       function read($where) {
-               // read info
-               $query =  'SELECT * FROM '.sql_table('member') . ' WHERE ' . $where;
-
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-
-               $this->setRealName($obj->mrealname);
-               $this->setEmail($obj->memail);
-               $this->password = $obj->mpassword;
-               $this->setCookieKey($obj->mcookiekey);
-               $this->setURL($obj->murl);
-               $this->setDisplayName($obj->mname);
-               $this->setAdmin($obj->madmin);
-               $this->id = $obj->mnumber;
-               $this->setCanLogin($obj->mcanlogin);
-               $this->setNotes($obj->mnotes);
-               $this->setLanguage($obj->deflang);
-
-               return mysql_num_rows($res);
-       }
-
-
-       /**
-         * Returns true if member is an admin for the given blog
-         * (returns false if not a team member)
-         */
-       function isBlogAdmin($blogid) {
-               $query = 'SELECT tadmin FROM '.sql_table('team').' WHERE'
-                          . ' tblog=' . intval($blogid)
-                          . ' and tmember='. $this->getID();
-               $res = sql_query($query);
-               if (mysql_num_rows($res) == 0)
-                       return 0;
-               else
-                       return (mysql_result($res,0,0) == 1) ;
-       }
-
-       function blogAdminRights($blogid) {
-               return ($this->isAdmin() || $this->isBlogAdmin($blogid));
-       }
-
-
-       function teamRights($blogid) {
-               return ($this->isAdmin() || $this->isTeamMember($blogid));
-       }
-
-       /**
-         * Returns true if this member is a team member of the given blog
-         */
-       function isTeamMember($blogid) {
-               $query = 'SELECT * FROM '.sql_table('team').' WHERE'
-                          . ' tblog=' . intval($blogid)
-                          . ' and tmember='. $this->getID();
-               $res = sql_query($query);
-               return (mysql_num_rows($res) != 0);
-       }
-
-       /**
-         * Returns true if this member can edit/delete a commentitem. This can be in the
-         * following cases:
-         *       - member is a super-admin
-         *   - member is the author of the comment
-         *   - member is admin of the blog associated with the comment
-         *   - member is author of the item associated with the comment
-         */
-       function canAlterComment($commentid) {
-               if ($this->isAdmin()) return 1;
-
-               $query =  'SELECT citem as itemid, iblog as blogid, cmember as cauthor, iauthor'
-                          . ' FROM '.sql_table('comment') .', '.sql_table('item').', '.sql_table('blog')
-                          . ' WHERE citem=inumber and iblog=bnumber and cnumber=' . intval($commentid);
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-
-               return ($obj->cauthor == $this->getID()) or $this->isBlogAdmin($obj->blogid) or ($obj->iauthor == $this->getID());
-       }
-
-       /**
-         * Returns true if this member can edit/delete an item. This is true in the following
-         * cases: - member is a super-admin
-         *            - member is the author of the item
-         *        - member is admin of the the associated blog
-         */
-       function canAlterItem($itemid) {
-               if ($this->isAdmin()) return 1;
-
-               $query =  'SELECT iblog, iauthor FROM '.sql_table('item').' WHERE inumber=' . intval($itemid);
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-               return ($obj->iauthor == $this->getID()) or $this->isBlogAdmin($obj->iblog);
-       }
-
-       /**
-         * returns true if this member can move/update an item to a given category,
-         * false if not (see comments fot the tests that are executed)
-         *
-         * @param itemid
-         * @param newcat (can also be of form 'newcat-x' with x=blogid)
-         */
-       function canUpdateItem($itemid, $newcat) {
-               global $manager;
-
-               // item does not exists -> NOK
-               if (!$manager->existsItem($itemid,1,1)) return 0;
-
-               // cannot alter item -> NOK
-               if (!$this->canAlterItem($itemid)) return 0;
-
-               // if this is a 'newcat' style newcat
-               // no blog admin of destination blog -> NOK
-               // blog admin of destination blog -> OK
-               if (strstr($newcat,'newcat')) {
-                       // get blogid
-                       list($blogid) = sscanf($newcat,'newcat-%d');
-                       return $this->blogAdminRights($blogid);
-               }
-
-               // category does not exist -> NOK
-               if (!$manager->existsCategory($newcat)) return 0;
-
-
-               // get item
-               $item =& $manager->getItem($itemid,1,1);
-
-               // old catid = new catid -> OK
-               if ($item['catid'] == $newcat) return 1;
-
-               // not a valid category -> NOK
-               $validCat = quickQuery('SELECT COUNT(*) AS result FROM '.sql_table('category').' WHERE catid='.intval($newcat));
-               if (!$validCat) return 0;
-
-               // get destination blog
-               $source_blogid = getBlogIDFromItemID($itemid);
-               $dest_blogid = getBlogIDFromCatID($newcat);
-
-               // not a team member of destination blog -> NOK
-               if (!$this->teamRights($dest_blogid)) return 0;
-
-               // if member is author of item -> OK
-               if ($item['authorid'] == $this->getID()) return 1;
-
-               // if member has admin rights on both blogs: OK
-               if (($this->blogAdminRights($dest_blogid)) && ($this->blogAdminRights($source_blogid))) return 1;
-
-               // all other cases: NOK
-               return 0;
-
-       }
-
-       function canAddItem($catid) {
-               global $manager;
-
-               // if this is a 'newcat' style newcat
-               // no blog admin of destination blog -> NOK
-               // blog admin of destination blog -> OK
-               if (strstr($catid,'newcat')) {
-                       // get blogid
-                       list($blogid) = sscanf($catid,"newcat-%d");
-                       return $this->blogAdminRights($blogid);
-               }
-
-               // category does not exist -> NOK
-               if (!$manager->existsCategory($catid)) return 0;
-
-               $blogid = getBlogIDFromCatID($catid);
-
-               // no team rights for blog -> NOK
-               if (!$this->teamRights($blogid)) return 0;
-
-               // all other cases: OK
-               return 1;
-       }
-
-       /**
-         * Return true if member can be deleted. This means that there are no items
-         * posted by the member left
-         */
-       function canBeDeleted() {
-               $res = sql_query('SELECT * FROM '.sql_table('item').' WHERE iauthor=' . $this->getID());
-               return (mysql_num_rows($res) == 0);
-       }
-
-       /**
-         * Sets the cookies for the member
-         *
-         * @param shared
-         *             set this to 1 when using a shared computer. Cookies will expire
-         *             at the end of the session in this case.
-         */
-       function setCookies($shared = 0) {
-               global $CONF;
-
-               if ($CONF['SessionCookie'] || $shared)
-                       $lifetime = 0;
-               else
-                       $lifetime = (time()+2592000);
-
-               setcookie($CONF['CookiePrefix'] .'user',$this->getDisplayName(),$lifetime,$CONF['CookiePath'],$CONF['CookieDomain'],$CONF['CookieSecure']);
-               setcookie($CONF['CookiePrefix'] .'loginkey', $this->getCookieKey(),$lifetime,$CONF['CookiePath'],$CONF['CookieDomain'],$CONF['CookieSecure']);
-
-               // make sure cookies on shared pcs don't get renewed
-               if ($shared)
-                       setcookie($CONF['CookiePrefix'] .'sharedpc', '1',$lifetime,$CONF['CookiePath'],$CONF['CookieDomain'],$CONF['CookieSecure']);
-       }
-
-       function sendActivationLink($type, $extra='')
-       {
-               global $CONF;
-
-               // generate key and URL
-               $key = $this->generateActivationEntry($type, $extra);
-               $url = $CONF['AdminURL'] . 'index.php?action=activate&key=' . $key;
-
-               // choose text to use in mail
-               switch ($type)
-               {
-                       case 'register':
-                               $message = _ACTIVATE_REGISTER_MAIL;
-                               $title = _ACTIVATE_REGISTER_MAILTITLE;
-                               break;
-                       case 'forgot':
-                               $message = _ACTIVATE_FORGOT_MAIL;
-                               $title = _ACTIVATE_FORGOT_MAILTITLE;
-                               break;
-                       case 'addresschange':
-                               $message = _ACTIVATE_CHANGE_MAIL;
-                               $title = _ACTIVATE_CHANGE_MAILTITLE;
-                               break;
-                       default;
-               }
-
-               // fill out variables in text
-
-               $aVars = array(
-                       'siteName' => $CONF['SiteName'],
-                       'siteUrl' => $CONF['IndexURL'],
-                       'memberName' => $this->getDisplayName(),
-                       'activationUrl' => $url
-               );
-
-               $message = TEMPLATE::fill($message, $aVars);
-               $title = TEMPLATE::fill($title, $aVars);
-
-               // send mail
-
-               mb_language('ja');
-               mb_internal_encoding(_CHARSET);
-               @mb_send_mail($this->getEmail(), $title ,$message,'From: ' . $CONF['AdminEmail']);
-
-               ACTIONLOG::add(INFO, _ACTIONLOG_ACTIVATIONLINK . ' (' . $this->getDisplayName() . ' / type: ' . $type . ')');
-
-
-       }
-
-       /**
-         * Returns an array of all blogids for which member has admin rights
-         */
-       function getAdminBlogs() {
-               $blogs = array();
-
-               if ($this->isAdmin())
-                       $query = 'SELECT bnumber as blogid from '.sql_table('blog');
-               else
-                       $query = 'SELECT tblog as blogid from '.sql_table('team').' where tadmin=1 and tmember=' . $this->getID();
-
-               $res = sql_query($query);
-               if (mysql_num_rows($res) > 0) {
-                       while ($obj = mysql_fetch_object($res)) {
-                               array_push($blogs, $obj->blogid);
-                       }
-               }
-
-               return $blogs;
-       }
-
-       /**
-         * Returns an email address from which notification of commenting/karma voting can
-         * be sent. A suggestion can be given for when the member is not logged in
-         */
-       function getNotifyFromMailAddress($suggest = "") {
-               global $CONF;
-               if ($this->isLoggedIn()) {
-                       return $this->getDisplayName() . " <" . $this->getEmail() . ">";
-               } else if (isValidMailAddress($suggest)) {
-                       return $suggest;
-               } else {
-                       return $CONF['AdminEmail'];
-               }
-       }
-
-       /**
-         * Write data to database
-         */
-       function write() {
-
-               $query =  'UPDATE '.sql_table('member')
-                          . " SET mname='" . addslashes($this->getDisplayName()) . "',"
-                          . "     mrealname='". addslashes($this->getRealName()) . "',"
-                          . "     mpassword='". addslashes($this->getPassword()) . "',"
-                          . "     mcookiekey='". addslashes($this->getCookieKey()) . "',"
-                          . "     murl='" . addslashes($this->getURL()) . "',"
-                          . "     memail='" . addslashes($this->getEmail()) . "',"
-                          . "     madmin=" . $this->isAdmin() . ","
-                          . "     mnotes='" . addslashes($this->getNotes()) . "',"
-                          . "     mcanlogin=" . $this->canLogin() . ","
-                          . "     deflang='" . addslashes($this->getLanguage()) . "'"
-                          . " WHERE mnumber=" . $this->getID();
-               sql_query($query);
-       }
-
-       function checkPassword($pw) {
-               return (md5($pw) == $this->getPassword());
-       }
-
-       function checkCookieKey($key) {
-               return (($key != '') && ($key == $this->getCookieKey()));
-       }
-
-       function getRealName() {
-               return $this->realname;
-       }
-
-       function setRealName($name) {
-               $this->realname = $name;
-       }
-
-       function getEmail() {
-               return $this->email;
-       }
-
-       function setEmail($email) {
-               $this->email = $email;
-       }
-
-       function getPassword() {
-               return $this->password;
-       }
-
-       function setPassword($pwd) {
-               $this->password = md5($pwd);
-       }
-
-       function getCookieKey() {
-               return $this->cookiekey;
-       }
-
-       /**
-         * Generate new cookiekey, save it, and return it
-         */
-       function newCookieKey() {
-               mt_srand( (double) microtime() * 1000000);
-               $this->cookiekey = md5(uniqid(mt_rand()));
-               $this->write();
-               return $this->cookiekey;
-       }
-
-       function setCookieKey($val) {
-               $this->cookiekey = $val;
-       }
-
-       function getURL() {
-               return $this->url;
-       }
-
-       function setURL($site) {
-               $this->url = $site;
-       }
-
-       function getLanguage() {
-               return $this->language;
-       }
-
-       function setLanguage($lang) {
-               $this->language = $lang;
-       }
-
-       function setDisplayName($nick) {
-               $this->displayname = $nick;
-       }
-
-       function getDisplayName() {
-               return $this->displayname;
-       }
-
-       function isAdmin() {
-               return $this->admin;
-       }
-
-       function setAdmin($val) {
-               $this->admin = $val;
-       }
-
-       function canLogin() {
-               return $this->canlogin;
-       }
-
-       function setCanLogin($val) {
-               $this->canlogin = $val;
-       }
-
-       function getNotes() {
-               return $this->notes;
-       }
-
-       function setNotes($val) {
-               $this->notes = $val;
-       }
-
-       function getID() {
-               return $this->id;
-       }
-
-       // returns true if there is a member with the given login name (static)
-       function exists($name) {
-               $r = sql_query('select * FROM '.sql_table('member')." WHERE mname='".addslashes($name)."'");
-               return (mysql_num_rows($r) != 0);
-       }
-
-       // returns true if there is a member with the given ID (static)
-       function existsID($id) {
-               $r = sql_query('select * FROM '.sql_table('member')." WHERE mnumber='".intval($id)."'");
-               return (mysql_num_rows($r) != 0);
-       }
-
-       // checks if a username is protected. If so, it can not be used on anonymous comments
-       function isNameProtected($name) {
-
-               // extract name
-               $name = strip_tags($name);
-               $name = trim($name);
-
-               return MEMBER::exists($name);
-       }
-
-       // adds a new member (static)
-       function create($name, $realname, $password, $email, $url, $admin, $canlogin, $notes) {
-               if (!isValidMailAddress($email))
-                       return _ERROR_BADMAILADDRESS;
-
-               if (!isValidDisplayName($name))
-                       return _ERROR_BADNAME;
-
-               if (MEMBER::exists($name))
-                       return _ERROR_NICKNAMEINUSE;
-
-               if (!$realname)
-                       return _ERROR_REALNAMEMISSING;
-
-               if (!$password)
-                       return _ERROR_PASSWORDMISSING;
-
-               // Sometimes user didn't prefix the URL with http://, this cause a malformed URL. Let's fix it.
-               if (!eregi("^https?://", $url))
-                       $url = "http://".$url;
-
-               $name = addslashes($name);
-               $realname = addslashes($realname);
-               $password = addslashes(md5($password));
-               $email = addslashes($email);
-               $url = addslashes($url);
-               $admin = intval($admin);
-               $canlogin = intval($canlogin);
-               $notes = addslashes($notes);
-
-               $query = 'INSERT INTO '.sql_table('member')." (MNAME,MREALNAME,MPASSWORD,MEMAIL,MURL, MADMIN, MCANLOGIN, MNOTES) "
-                          . "VALUES ('$name','$realname','$password','$email','$url',$admin, $canlogin, '$notes')";
-               sql_query($query);
-
-               ACTIONLOG::add(INFO, _ACTIONLOG_NEWMEMBER . ' ' . $name);
-
-               return 1;
-       }
-
-       /**
-        * Returns activation info for a certain key (an object with properties vkey, vmember, ...)
-        * (static)
-        *
-        * @author karma
-        */
-       function getActivationInfo($key)
-       {
-               $query = 'SELECT * FROM ' . sql_table('activation') . ' WHERE vkey=\'' . addslashes($key). '\'';
-               $res = sql_query($query);
-
-               if (!$res || (mysql_num_rows($res) == 0))
-                       return 0;
-               else
-                       return mysql_fetch_object($res);
-       }
-
-       /**
-        * Creates an account activation key
-        *
-        * @param $type one of the following values (determines what to do when activation expires)
-        *                'register' (new member registration)
-        *                'forgot' (forgotton password)
-        *                'addresschange' (member address has changed)
-        * @param $extra extra info (needed when validation link expires)
-        *                                addresschange -> old email address
-        * @author dekarma
-        */
-       function generateActivationEntry($type, $extra = '')
-       {
-               // clean up old entries
-               $this->cleanupActivationTable();
-
-               // kill any existing entries for the current member (delete is ok)
-               // (only one outstanding activation key can be present for a member)
-               sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vmember=' . intval($this->getID()));
-
-               $canLoginWhileActive = false; // indicates if the member can log in while the link is active
-               switch ($type)
-               {
-                       case 'forgot':
-                               $canLoginWhileActive = true;
-                               break;
-                       case 'register':
-                               break;
-                       case 'addresschange':
-                               $extra = $extra . '/' . ($this->canLogin() ? '1' : '0');
-                               break;
-               }
-
-               $ok = false;
-               while (!$ok)
-               {
-                       // generate a random key
-                       srand((double)microtime()*1000000);
-                       $key = md5(uniqid(rand(), true));
-
-                       // attempt to add entry in database
-                       // add in database as non-active
-                       $query = 'INSERT INTO ' . sql_table('activation'). ' (vkey, vtime, vmember, vtype, vextra) ';
-                       $query .= 'VALUES (\'' . addslashes($key). '\', \'' . date('Y-m-d H:i:s',time()) . '\', \'' . intval($this->getID()). '\', \'' . addslashes($type). '\', \'' . addslashes($extra). '\')';
-                       if (sql_query($query))
-                               $ok = true;
-               }
-
-               // mark member as not allowed to log in
-               if (!$canLoginWhileActive)
-               {
-                       $this->setCanLogin(0);
-                       $this->write();
-               }
-
-               // return the key
-               return $key;
-       }
-
-       /**
-        * Inidicates that an activation link has been clicked and any forms displayed
-        * there have been successfully filled out.
-        * @author dekarma
-        */
-       function activate($key)
-       {
-               // get activate info
-               $info = MEMBER::getActivationInfo($key);
-
-               // no active key
-               if (!$info)
-                       return false;
-
-               switch ($info->vtype)
-               {
-                       case 'forgot':
-                               // nothing to do
-                               break;
-                       case 'register':
-                               // set canlogin value
-                               global $CONF;
-                               sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($CONF['NewMemberCanLogon']). ' WHERE mnumber=' . intval($info->vmember));
-                               break;
-                       case 'addresschange':
-                               // reset old 'canlogin' value
-                               list($oldEmail, $oldCanLogin) = explode('/', $info->vextra);
-                               sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ' WHERE mnumber=' . intval($info->vmember));
-                               break;
-               }
-
-               // delete from activation table
-               sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vkey=\'' . addslashes($key) . '\'');
-
-               // success!
-               return true;
-       }
-
-       /**
-        * Cleans up entries in the activation table. All entries older than 2 days are removed.
-        * (static)
-        *
-        * @author dekarma
-        */
-       function cleanupActivationTable()
-       {
-               $boundary = time() - (60 * 60 * 24 * 2);
-
-               // 1. walk over all entries, and see if special actions need to be performed
-               $res = sql_query('SELECT * FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');
-
-               while ($o = mysql_fetch_object($res))
-               {
-                       switch ($o->vtype)
-                       {
-                               case 'register':
-                                       // delete all information about this site member. registration is undone because there was
-                                       // no timely activation
-                                       include_once($DIR_LIBS . 'ADMIN.php');
-                                       ADMIN::deleteOneMember(intval($o->vmember));
-                                       break;
-                               case 'addresschange':
-                                       // revert the e-mail address of the member back to old address
-                                       list($oldEmail, $oldCanLogin) = explode('/', $o->vextra);
-                                       sql_query('UPDATE ' . sql_table('member') . ' SET mcanlogin=' . intval($oldCanLogin). ', memail=\'' . addslashes($oldEmail). '\' WHERE mnumber=' . intval($o->vmember));
-                                       break;
-                               case 'forgot':
-                                       // delete the activation link and ignore. member can request a new password using the
-                                       // forgot password link
-                                       break;
-                       }
-               }
-
-               // 2. delete activation entries for real
-               sql_query('DELETE FROM ' . sql_table('activation') . ' WHERE vtime < \'' . date('Y-m-d H:i:s',$boundary) . '\'');
-       }
-
-}
-
-?>
diff --git a/euc/nucleus/libs/NOTIFICATION.php b/euc/nucleus/libs/NOTIFICATION.php
deleted file mode 100755 (executable)
index 71513c5..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Class used to represent a collection of e-mail addresses, to which a
- * message can be sent (e.g. comment or karma vote notification).
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: NOTIFICATION.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: NOTIFICATION.php,v 1.7 2007/02/04 06:28:46 kimitake Exp $
- */
-class NOTIFICATION {
-
-       // array of addresses that need to get a notification
-       var $addresses = array();
-
-       /**
-         * takes one string as argument, containing multiple e-mail addresses
-         * separated by semicolons
-         * eg: site@demuynck.org;nucleus@demuynck.org;foo@bar.com
-         */
-       function NOTIFICATION($addresses) {
-               $this->addresses = explode(';' , $addresses);
-       }
-
-       /**
-         * returns true if all addresses are valid
-         */
-       function validAddresses() {
-               foreach ( $this->addresses as $address ) {
-                       if (!isValidMailAddress(trim($address)))
-                               return 0;
-               }
-               return 1;
-       }
-
-       /**
-         * Sends email messages to all the email addresses
-         */
-       function notify($title, $message, $from) {
-               global $member;
-
-               foreach ( $this->addresses as $address ) {
-                       $address = trim($address);
-
-                       if (!$address)
-                               continue;
-
-                       // don't send messages to yourself
-                       if ($member->isLoggedIn() && ($member->getEmail() == $address))
-                               continue;
-
-                       @mb_language('ja');
-                       @mb_internal_encoding(_CHARSET);
-                       @mb_send_mail($address, $title, $message, "From: ". $from);
-               }
-       }
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/PAGEFACTORY.php b/euc/nucleus/libs/PAGEFACTORY.php
deleted file mode 100755 (executable)
index 76acbdb..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: PAGEFACTORY.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: PAGEFACTORY.php,v 1.8 2007/03/22 03:30:14 kmorimatsu Exp $
- */
-
-/**
- * The formfactory class can be used to insert add/edit item forms into
- * admin area, bookmarklet, skins or any other places where such a form
- * might be needed
- */
-class PAGEFACTORY extends BaseActions {
-
-       // ref to the blog object for which an add:edit form is created
-       var $blog;
-
-       // allowed actions (for parser)
-       var $actions;
-
-       // allowed types of forms (bookmarklet/admin)
-       var $allowedTypes;
-       var $type;              // one of the types in $allowedTypes
-
-       // 'add' or 'edit'
-       var $method;
-
-       // info to fill out in the form (e.g. catid, itemid, ...)
-       var $variables;
-
-       /**
-        * creates a new PAGEFACTORY object
-        */
-       function PAGEFACTORY($blogid) {
-               // call constructor of superclass first
-               $this->BaseActions();
-
-               global $manager;
-               $this->blog =& $manager->getBlog($blogid);
-
-               // TODO: move the definition of actions to the createXForm
-               // methods
-               $this->actions = Array(
-                       'actionurl',
-                       'title',
-                       'body',
-                       'more',
-                       'blogid',
-                       'bloglink',
-                       'blogname',
-                       'authorname',
-                       'checkedonval',
-                       'helplink',
-                       'currenttime',
-                       'itemtime',
-                       'init',
-                       'text',
-                       'jsinput',
-                       'jsbuttonbar',
-                       'categories',
-                       'contents',
-                       'ifblogsetting',
-                       'ifitemproperty',
-                       'else',
-                       'endif',
-                       'pluginextras',
-                       'itemoptions',
-                       'extrahead',
-                       'ticket'
-               );
-
-               // TODO: maybe add 'skin' later on?
-               // TODO: maybe add other pages from admin area
-               $this->allowedTypes = Array('bookmarklet','admin');
-       }
-
-       /**
-        * creates a "add item" form for a given type of page
-        *
-        * @param type
-        *              'admin' or 'bookmarklet'
-        */
-       function createAddForm($type, $contents = array()) {
-               if (!in_array($type, $this->allowedTypes))
-                       return;
-               $this->type = $type;
-               $this->method = 'add';
-
-               global $manager;
-               $manager->notify('PreAddItemForm', array('contents' => &$contents, 'blog' => &$this->blog));
-
-               $this->createForm($contents);
-       }
-
-       /**
-        * creates a "add item" form for a given type of page
-        *
-        * @param type
-        *              'admin' or 'bookmarklet'
-        * @param contents
-        *              An associative array
-        *                      'author' => author
-        *                      '' =>
-        */
-       function createEditForm($type, $contents) {
-               if (!in_array($type, $this->allowedTypes))
-                       return;
-               $this->type = $type;
-               $this->method = 'edit';
-               $this->createForm($contents);
-       }
-
-       /**
-        * (private) creates a form for a given type of page
-        */
-       function createForm($contents) {
-               // save contents
-               $this->variables = $contents;
-
-               // get template to use
-               $template = $this->getTemplateFor($this->type);
-
-               // use the PARSER engine to parse that template
-               $parser =& new PARSER($this->actions, $this);
-               $parser->parse($template);
-       }
-
-       /**
-        * returns an appropriate template
-        */
-       function getTemplateFor($type) {
-               global $DIR_LIBS;
-
-               $filename = $DIR_LIBS . 'include/' . $this->type . '-' . $this->method . '.template';
-
-               if (!file_exists($filename))
-                       return '';
-
-               $fsize = filesize($filename);
-               if ($fsize <= 0)
-                       return '';
-
-               // read file and return it
-               $fd = fopen ($filename, 'r');
-               $contents = fread ($fd, $fsize);
-               fclose ($fd);
-
-               return $contents;
-
-       }
-
-       // create category dropdown box
-       function parse_categories($startidx = 0) {
-                       if ($this->variables['catid'])
-                               $catid = $this->variables['catid'];                             // on edit item
-                       else
-                               $catid = $this->blog->getDefaultCategory();             // on add item
-
-                       ADMIN::selectBlogCategory('catid',$catid,$startidx,1,$this->blog->getID());
-       }
-
-       function parse_blogid() {
-               echo $this->blog->getID();
-       }
-
-       function parse_blogname() {
-               echo $this->blog->getName();
-       }
-
-       function parse_bloglink() {
-               echo '<a href="'.htmlspecialchars($this->blog->getURL()).'">'.$this->blog->getName().'</a>';
-       }
-
-       function parse_authorname() {
-               // don't use on add item?
-               global $member;
-               echo $member->getDisplayName();
-       }
-
-       function parse_title() {
-               echo $this->contents['title'];
-       }
-
-       /**
-        * Indicates the start of a conditional block of data. It will be added to
-        * the output only if the blogsetting with the given name equals the
-        * given value (default for value = 1 = true)
-        *
-        * the name of the blogsetting is the column name in the nucleus_blog table
-        *
-        * the conditional block ends with an <endif> var
-        */
-       function parse_ifblogsetting($name,$value=1) {
-               $this->_addIfCondition(($this->blog->getSetting($name) == $value));
-       }
-
-       function parse_ifitemproperty($name,$value=1) {
-               $this->_addIfCondition(($this->variables[$name] == $value));
-       }
-
-       function parse_helplink($topic) {
-               help($topic);
-       }
-
-       // for future items
-       function parse_currenttime($what) {
-               $nu = getdate($this->blog->getCorrectTime());
-               echo $nu[$what];
-       }
-
-       // date change on edit item
-       function parse_itemtime($what) {
-               $itemtime = getdate($this->variables['timestamp']);
-               echo $itemtime[$what];
-       }
-
-       // some init stuff for all forms
-       function parse_init() {
-               $authorid = ($this->method == 'edit') ? $this->variables['authorid'] : '';
-               $this->blog->insertJavaScriptInfo($authorid);
-       }
-
-       // on bookmarklets only: insert extra html header information (by plugins)
-       function parse_extrahead() {
-               global $manager;
-
-               $extrahead = '';
-
-               $manager->notify(
-                       'BookmarkletExtraHead',
-                       array(
-                               'extrahead' => &$extrahead
-                       )
-               );
-
-               echo $extrahead;
-       }
-
-       // inserts some localized text
-       function parse_text($which) {
-               // constant($which) only available from 4.0.4 :(
-               if (defined($which)) {
-                       eval("echo $which;");
-               } else {
-                       echo $which;    // this way we see where definitions are missing
-               }
-
-       }
-
-       function parse_contents($which) {
-               echo htmlspecialchars($this->variables[$which],ENT_QUOTES);
-       }
-
-       function parse_checkedonval($value, $name) {
-               if ($this->variables[$name] == $value)
-                       echo "checked='checked'";
-       }
-
-       // extra javascript for input and textarea fields
-       function parse_jsinput($which) {
-               global $CONF;
-       ?>
-                       name="<?php echo $which?>"
-                       id="input<?php echo $which?>"
-       <?php
-               if ($CONF['DisableJsTools'] != 1) {
-       ?>
-                       onkeyup="storeCaret(this); updPreview('<?php echo $which?>'); doMonitor();"
-                       onclick="storeCaret(this);"
-                       onselect="storeCaret(this);"
-
-       <?php
-               }
-               else if ($CONF['DisableJsTools'] == 0) {
-       ?>
-                       onkeyup="doMonitor();"
-                       onkeypress="shortCuts();"
-       <?php
-               }
-               else {
-       ?>
-                       onkeyup="doMonitor();"
-       <?php
-               }
-       }
-
-       // shows the javascript button bar
-       function parse_jsbuttonbar($extrabuttons = "") {
-               global $CONF;
-               switch($CONF['DisableJsTools']) {
-
-                       case "0":
-                               echo '<div class="jsbuttonbar">';
-
-                                       $this->_jsbutton('cut','cutThis()',_ADD_CUT_TT . " (Ctrl + X)");
-                                       $this->_jsbutton('copy','copyThis()',_ADD_COPY_TT . " (Ctrl + C)");
-                                       $this->_jsbutton('paste','pasteThis()',_ADD_PASTE_TT . " (Ctrl + V)");
-                                       $this->_jsbuttonspacer();
-                                       $this->_jsbutton('bold',"boldThis()",_ADD_BOLD_TT ." (Ctrl + Shift + B)");
-                                       $this->_jsbutton('italic',"italicThis()",_ADD_ITALIC_TT ." (Ctrl + Shift + I)");
-                                       $this->_jsbutton('link',"ahrefThis()",_ADD_HREF_TT ." (Ctrl + Shift + A)");
-                                       $this->_jsbuttonspacer();
-                                       $this->_jsbutton('alignleft',"alignleftThis()",_ADD_ALIGNLEFT_TT);
-                                       $this->_jsbutton('alignright',"alignrightThis()",_ADD_ALIGNRIGHT_TT);
-                                       $this->_jsbutton('aligncenter',"aligncenterThis()",_ADD_ALIGNCENTER_TT);
-                                       $this->_jsbuttonspacer();
-                                       $this->_jsbutton('left',"leftThis()",_ADD_LEFT_TT);
-                                       $this->_jsbutton('right',"rightThis()",_ADD_RIGHT_TT);
-
-
-                                       if ($extrabuttons) {
-                                               $btns = explode('+',$extrabuttons);
-                                               $this->_jsbuttonspacer();
-                                               foreach ($btns as $button) {
-                                                       switch($button) {
-                                                               case "media":
-                                                                       $this->_jsbutton('media',"addMedia()",_ADD_MEDIA_TT .   " (Ctrl + Shift + M)");
-                                                                       break;
-                                                               case "preview":
-                                                                       $this->_jsbutton('preview',"showedit()",_ADD_PREVIEW_TT);
-                                                                       break;
-                                                       }
-                                               }
-                                       }
-
-                               echo '</div>';
-
-                               break;
-                       case "2":
-                               echo '<div class="jsbuttonbar">';
-
-                                       $this->_jsbutton('bold',"boldThis()",'');
-                                       $this->_jsbutton('italic',"italicThis()",'');
-                                       $this->_jsbutton('link',"ahrefThis()",'');
-                                       $this->_jsbuttonspacer();
-                                       $this->_jsbutton('alignleft',"alignleftThis()",_ADD_ALIGNLEFT_TT);
-                                       $this->_jsbutton('alignright',"alignrightThis()",_ADD_ALIGNRIGHT_TT);
-                                       $this->_jsbutton('aligncenter',"aligncenterThis()",_ADD_ALIGNCENTER_TT);
-                                       $this->_jsbuttonspacer();
-                                       $this->_jsbutton('left',"leftThis()",_ADD_LEFT_TT);
-                                       $this->_jsbutton('right',"rightThis()",_ADD_RIGHT_TT);
-
-
-                                       if ($extrabuttons) {
-                                               $btns = explode('+',$extrabuttons);
-                                               $this->_jsbuttonspacer();
-                                               foreach ($btns as $button) {
-                                                       switch($button) {
-                                                               case "media":
-                                                                       $this->_jsbutton('media',"addMedia()",'');
-                                                                       break;
-                                                       }
-                                               }
-                                       }
-
-                               echo '</div>';
-
-                               break;
-               }
-       }
-
-       /**
-        * Allows plugins to add their own custom fields
-        */
-       function parse_pluginextras() {
-               global $manager;
-
-               switch ($this->method) {
-                       case 'add':
-                               $manager->notify('AddItemFormExtras',
-                                               array(
-                                                       'blog' => &$this->blog
-                                               )
-                               );
-                               break;
-                       case 'edit':
-                               $manager->notify('EditItemFormExtras',
-                                               array(
-                                                       'variables' => $this->variables,
-                                                       'blog' => &$this->blog,
-                                                       'itemid' => $this->variables['itemid']
-                                               )
-                               );
-                               break;
-               }
-       }
-
-       /**
-        * Adds the itemOptions of a plugin to a page
-        * @author TeRanEX
-        */
-       function parse_itemoptions() {
-               global $itemid;
-               ADMIN::_insertPluginOptions('item', $itemid);
-       }
-
-       function parse_ticket() {
-               global $manager;
-               $manager->addTicketHidden();
-       }
-
-       /**
-        * convenience method
-        */
-       function _jsbutton($type, $code ,$tooltip) {
-       ?>
-                       <span class="jsbutton"
-                               onmouseover="BtnHighlight(this);"
-                               onmouseout="BtnNormal(this);"
-                               onclick="<?php echo $code?>" >
-                               <img src="images/button-<?php echo $type?>.gif" alt="<?php echo $tooltip?>" width="16" height="16"/>
-                       </span>
-       <?php   }
-
-       function _jsbuttonspacer() {
-               echo '<span class="jsbuttonspacer"></span>';
-       }
-
-}
-
- ?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/PARSER.php b/euc/nucleus/libs/PARSER.php
deleted file mode 100755 (executable)
index 2540635..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: PARSER.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: PARSER.php,v 1.7 2007/03/20 19:31:29 kmorimatsu Exp $
- */
-
-if ( !function_exists('requestVar') ) exit;
-require_once dirname(__FILE__) . '/BaseActions.php';
-
-/**
- * This is the parser class of Nucleus. It is used for various things (skin parsing,
- * form generation, ...)
- */
-class PARSER {
-
-       // array with the names of all allowed actions
-       var $actions;
-
-       // reference to actions handler
-       var $handler;
-
-       // delimiters that can be used for skin/templatevars
-       var $delim;
-
-       // parameter delimiter (to separate skinvar params)
-       var $pdelim;
-
-       // usually set to 0. When set to 1, all skinvars are allowed regardless of $actions
-       var $norestrictions;
-
-       /**
-        * Creates a new parser object with the given allowed actions
-        * and the given handler
-        *
-        * @param $allowedActions array
-        * @param $handler class object with functions for each action (reference)
-        * @param $delim optional delimiter
-        * @param $paramdelim optional parameterdelimiter
-        */
-       function PARSER($allowedActions, &$handler, $delim = '(<%|%>)', $pdelim = ',') {
-               $this->actions = $allowedActions;
-               $this->handler =& $handler;
-               $this->delim = $delim;
-               $this->pdelim = $pdelim;
-               $this->norestrictions = 0;      // set this to 1 to disable checking for allowedActions
-       }
-
-       /**
-        * Parses the given contents and outputs it
-        */
-       function parse(&$contents) {
-
-               $pieces = preg_split('/'.$this->delim.'/',$contents);
-
-               $maxidx = sizeof($pieces);
-               for ($idx = 0; $idx < $maxidx; $idx++) {
-                       echo $pieces[$idx];
-                       $idx++;
-                       if ($idx < $maxidx) {
-                               $this->doAction($pieces[$idx]);
-                       }
-               }
-       }
-
-
-       /**
-         * handle an action
-         */
-       function doAction($action) {
-               global $manager;
-
-               if (!$action) return;
-
-               // split into action name + arguments
-               if (strstr($action,'(')) {
-                       $paramStartPos = strpos($action, '(');
-                       $params = substr($action, $paramStartPos + 1, strlen($action) - $paramStartPos - 2);
-                       $action = substr($action, 0, $paramStartPos);
-                       $params = explode ($this->pdelim, $params);
-
-                       // trim parameters
-                       // for PHP versions lower than 4.0.6:
-                       //   - add // before '$params = ...'
-                       //   - remove // before 'foreach'
-                       $params = array_map('trim',$params);
-                       // foreach ($params as $key => $value) { $params[$key] = trim($value); }
-               } else {
-                       // no parameters
-                       $params = array();
-               }
-
-               $actionlc = strtolower($action);
-
-               // skip execution of skinvars while inside an if condition which hides this part of the page
-               if (!$this->handler->if_currentlevel && ($actionlc != 'else') && ($actionlc != 'elseif') && ($actionlc != 'endif') && ($actionlc != 'ifnot') && ($actionlc != 'elseifnot') && (substr($actionlc,0,2) != 'if'))
-                       return;
-
-               if (in_array($actionlc, $this->actions) || $this->norestrictions ) {
-                       // when using PHP versions lower than 4.0.5, uncomment the line before
-                       // and comment the call_user_func_array call
-                       //$this->call_using_array($action, $this->handler, $params);
-                       call_user_func_array(array(&$this->handler,'parse_' . $actionlc), $params);
-               } else {
-                       // redirect to plugin action if possible
-                       if (in_array('plugin', $this->actions) && $manager->pluginInstalled('NP_'.$action))
-                               $this->doAction('plugin('.$action.$this->pdelim.implode($this->pdelim,$params).')');
-                       else
-                               echo '&lt;%' , $action , '(', implode($this->pdelim, $params), ')%&gt;';
-               }
-
-       }
-
-       /**
-         * Calls a method using an array of parameters (for use with PHP versions lower than 4.0.5)
-         * ( = call_user_func_array() function )
-         */
-       function call_using_array($methodname, &$handler, $paramarray) {
-
-               $methodname = 'parse_' . $methodname;
-
-               if (!method_exists($handler, $methodname)) {
-                       return;
-               }
-
-               $command = 'call_user_func(array(&$handler,$methodname)';
-               for ($i = 0; $i<count($paramarray); $i++)
-                       $command .= ',$paramarray[' . $i . ']';
-               $command .= ');';
-               eval($command); // execute the correct method
-       }
-
-       function setProperty($property, $value) {
-               global $manager;
-               $manager->setParserProperty($property, $value);
-       }
-
-       function getProperty($name) {
-               global $manager;
-               return $manager->getParserProperty($name);
-       }
-
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/PLUGIN.php b/euc/nucleus/libs/PLUGIN.php
deleted file mode 100755 (executable)
index 11563f8..0000000
+++ /dev/null
@@ -1,621 +0,0 @@
-<?php
-       /*
-        * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
-        * Copyright (C) 2002-2007 The Nucleus Group
-        *
-        * This program is free software; you can redistribute it and/or
-        * modify it under the terms of the GNU General Public License
-        * as published by the Free Software Foundation; either version 2
-        * of the License, or (at your option) any later version.
-        * (see nucleus/documentation/index.html#license for more info)
-        */
-       /**
-        * This is an (abstract) class of which all Nucleus Plugins must inherit
-        *
-        * for more information on plugins and how to write your own, see the
-        * plugins.html file that is included with the Nucleus documenation
-        *
-        * @license http://nucleuscms.org/license.txt GNU General Public License
-        * @copyright Copyright (C) 2002-2007 The Nucleus Group
-        * @version $Id: PLUGIN.php,v 1.8 2007-04-20 08:45:28 kimitake Exp $
-        * $NucleusJP: PLUGIN.php,v 1.7 2007/04/06 19:37:07 kmorimatsu Exp $
-        */
-       class NucleusPlugin {
-
-               // these functions _have_ to be redefined in your plugin
-
-               function getName() { return 'Undefined'; }
-               function getAuthor()  { return 'Undefined'; }
-               function getURL()  { return 'Undefined'; }
-               function getVersion() { return '0.0'; }
-               function getDescription() { return 'Undefined';}
-
-               // these function _may_ be redefined in your plugin
-
-               function getMinNucleusVersion() { return 150; }
-               function getMinNucleusPatchLevel() { return 0; }
-               function getEventList() { return array(); }
-               function getTableList() { return array(); }
-               function hasAdminArea() { return 0; }
-
-               function install() {}
-               function unInstall() {}
-
-               function init() {}
-
-               function doSkinVar($skinType) {}
-               function doTemplateVar(&$item) {
-                       $args = func_get_args();
-                       array_shift($args);
-                       array_unshift($args, 'template');
-                       call_user_func_array(array(&$this,'doSkinVar'),$args);
-               }
-               function doTemplateCommentsVar(&$item, &$comment) {
-                       $args = func_get_args();
-                       array_shift($args);
-                       array_shift($args);
-                       array_unshift($args, 'template');
-                       call_user_func_array(array(&$this,'doSkinVar'),$args);
-               }
-               function doAction($type) { return 'No Such Action'; }
-               function doIf($key,$value) { return false; }
-               function doItemVar () {}
-
-               /**
-                * Checks if a plugin supports a certain feature.
-                *
-                * @returns 1 if the feature is reported, 0 if not
-                * @param $feature
-                *              Name of the feature. See plugin documentation for more info
-                *                      'SqlTablePrefix' -> if the plugin uses the sql_table() method to get table names
-                *                      'HelpPage' -> if the plugin provides a helppage
-                */
-               function supportsFeature($feature) {
-                       return 0;
-               }
-
-               /**
-                * Report a list of plugin that is required to function
-                *
-                * @returns an array of names of plugin, an empty array indicates no dependency
-                */
-               function getPluginDep() { return array(); }
-
-               // these helper functions should not be redefined in your plugin
-
-               /**
-                 * Creates a new option for this plugin
-                 *
-                 * @param name
-                 *             A string uniquely identifying your option. (max. length is 20 characters)
-                 * @param description
-                 *             A description that will show up in the nucleus admin area (max. length: 255 characters)
-                 * @param type
-                 *             Either 'text', 'yesno' or 'password'
-                 *             This info is used when showing 'edit plugin options' screens
-                 * @param value
-                 *             Initial value for the option (max. value length is 128 characters)
-                 */
-               function createOption($name, $desc, $type, $defValue = '', $typeExtras = '') {
-                       return $this->_createOption('global', $name, $desc, $type, $defValue, $typeExtras);
-               }
-               function createBlogOption($name, $desc, $type, $defValue = '', $typeExtras = '') {
-                       return $this->_createOption('blog', $name, $desc, $type, $defValue, $typeExtras);
-               }
-               function createMemberOption($name, $desc, $type, $defValue = '', $typeExtras = '') {
-                       return $this->_createOption('member', $name, $desc, $type, $defValue, $typeExtras);
-               }
-               function createCategoryOption($name, $desc, $type, $defValue = '', $typeExtras = '') {
-                       return $this->_createOption('category', $name, $desc, $type, $defValue, $typeExtras);
-               }
-               function createItemOption($name, $desc, $type, $defValue = '', $typeExtras = '') {
-                       return $this->_createOption('item', $name, $desc, $type, $defValue, $typeExtras);
-               }
-
-               /**
-                 * Removes the option from the database
-                 *
-                 * Note: Options get erased automatically on plugin uninstall
-                 */
-               function deleteOption($name) {
-                       return $this->_deleteOption('global', $name);
-               }
-               function deleteBlogOption($name) {
-                       return $this->_deleteOption('blog', $name);
-               }
-               function deleteMemberOption($name) {
-                       return $this->_deleteOption('member', $name);
-               }
-               function deleteCategoryOption($name) {
-                       return $this->_deleteOption('category', $name);
-               }
-               function deleteItemOption($name) {
-                       return $this->_deleteOption('item', $name);
-               }
-
-               /**
-                 * Sets the value of an option to something new
-                 */
-               function setOption($name, $value) {
-                       return $this->_setOption('global', 0, $name, $value);
-               }
-               function setBlogOption($blogid, $name, $value) {
-                       return $this->_setOption('blog', $blogid, $name, $value);
-               }
-               function setMemberOption($memberid, $name, $value) {
-                       return $this->_setOption('member', $memberid, $name, $value);
-               }
-               function setCategoryOption($catid, $name, $value) {
-                       return $this->_setOption('category', $catid, $name, $value);
-               }
-               function setItemOption($itemid, $name, $value) {
-                       return $this->_setOption('item', $itemid, $name, $value);
-               }
-
-               /**
-                 * Retrieves the current value for an option
-                 */
-               function getOption($name){
-                       return $this->_getOption('global', 0, $name);
-               }
-               function getBlogOption($blogid, $name) {
-                       return $this->_getOption('blog', $blogid, $name);
-               }
-               function getMemberOption($memberid, $name) {
-                       return $this->_getOption('member', $memberid, $name);
-               }
-               function getCategoryOption($catid, $name) {
-                       return $this->_getOption('category', $catid, $name);
-               }
-               function getItemOption($itemid, $name) {
-                       return $this->_getOption('item', $itemid, $name);
-               }
-
-               /**
-                * Retrieves an associative array with the option value for each
-                * context id
-                */
-               function getAllBlogOptions($name) {
-                       return $this->_getAllOptions('blog', $name);
-               }
-               function getAllMemberOptions($name) {
-                       return $this->_getAllOptions('member', $name);
-               }
-               function getAllCategoryOptions($name) {
-                       return $this->_getAllOptions('category', $name);
-               }
-               function getAllItemOptions($name) {
-                       return $this->_getAllOptions('item', $name);
-               }
-
-               /**
-                * Retrieves an indexed array with the top (or bottom) of an option
-                * (delegates to _getOptionTop())
-                */
-               function getBlogOptionTop($name, $amount = 10, $sort = 'desc') {
-                       return $this->_getOptionTop('blog', $name, $amount, $sort);
-               }
-               function getMemberOptionTop($name, $amount = 10, $sort = 'desc') {
-                       return $this->_getOptionTop('member', $name, $amount, $sort);
-               }
-               function getCategoryOptionTop($name, $amount = 10, $sort = 'desc') {
-                       return $this->_getOptionTop('category', $name, $amount, $sort);
-               }
-               function getItemOptionTop($name, $amount = 10, $sort = 'desc') {
-                       return $this->_getOptionTop('item', $name, $amount, $sort);
-               }
-
-               /**
-                * Retrieves an array of the top (or bottom) of an option from a plugin.
-                * @author TeRanEX
-                * @param  string $context the context for the option: item, blog, member,...
-                * @param  string $name    the name of the option
-                * @param  int    $amount  how many rows must be returned
-                * @param  string $sort    desc or asc
-                * @return array           array with both values and contextid's
-                * @access private
-                */
-               function _getOptionTop($context, $name, $amount = 10, $sort = 'desc') {
-                       if (($sort != 'desc') && ($sort != 'asc')) {
-                               $sort= 'desc';
-                       }
-
-                       $oid = $this->_getOID($context, $name);
-
-                       // retrieve the data and return
-                       $q = 'SELECT otype, oextra FROM '.sql_table('plugin_option_desc').' WHERE oid = '.$oid;
-                       $query = mysql_query($q);
-
-                       $o = mysql_fetch_array($query);
-
-                       if (($this->optionCanBeNumeric($o['otype'])) && ($o['oextra'] == 'number' )) {
-                               $orderby = 'CAST(ovalue AS SIGNED)';
-                       } else {
-                               $orderby = 'ovalue';
-                       }
-                       $q = 'SELECT ovalue value, ocontextid id FROM '.sql_table('plugin_option').' WHERE oid = '.$oid.' ORDER BY '.$orderby.' '.$sort.' LIMIT 0,'.intval($amount);
-                       $query = mysql_query($q);
-
-                       // create the array
-                       $i = 0;
-                       $top = array();
-                       while($row = mysql_fetch_array($query)) {
-                               $top[$i++] = $row;
-                       }
-
-                       // return the array (duh!)
-                       return $top;
-               }
-
-               /**
-                 * Returns the plugin ID
-                 */
-               function getID() {
-                       return $this->plugid;
-               }
-
-               /**
-                 * returns the URL of the admin area for this plugin (in case there's
-                 * no such area, the returned information is invalid)
-                 */
-               function getAdminURL() {
-                       global $CONF;
-                       return $CONF['PluginURL'] . $this->getShortName() . '/';
-               }
-
-               /**
-                 * Returns the directory where the admin directory is located and
-                 * where the plugin can maintain his extra files
-                 */
-               function getDirectory() {
-                       global $DIR_PLUGINS;
-                       return $DIR_PLUGINS . $this->getShortName() . '/';
-               }
-
-               /**
-                 * Derives the short name for the plugin from the classname (all lowercase)
-                 */
-               function getShortName() {
-                       return str_replace('np_','',strtolower(get_class($this)));
-               }
-
-               var $_aOptionValues;    // oid_contextid => value
-               var $_aOptionToInfo;    // context_name => array('oid' => ..., 'default' => ...)
-               var $plugin_options;    // see getOption()
-               var $plugid;                    // plugin id
-
-
-               // constructor. Initializes some internal data
-               function NucleusPlugin() {
-                       $this->_aOptionValues = array();        // oid_contextid => value
-                       $this->_aOptionToInfo = array();        // context_name => array('oid' => ..., 'default' => ...)
-                       $this->plugin_options = 0;
-               }
-
-               function clearOptionValueCache(){
-                       $this->_aOptionValues = array();
-               }
-
-               // private
-               function _createOption($context, $name, $desc, $type, $defValue, $typeExtras = '') {
-                       // create in plugin_option_desc
-                       $query = 'INSERT INTO ' . sql_table('plugin_option_desc')
-                                  .' (opid, oname, ocontext, odesc, otype, odef, oextra)'
-                                  .' VALUES ('.intval($this->plugid)
-                                                        .', \''.addslashes($name).'\''
-                                                        .', \''.addslashes($context).'\''
-                                                        .', \''.addslashes($desc).'\''
-                                                        .', \''.addslashes($type).'\''
-                                                        .', \''.addslashes($defValue).'\''
-                                                        .', \''.addslashes($typeExtras).'\')';
-                       sql_query($query);
-                       $oid = mysql_insert_id();
-
-                       $key = $context . '_' . $name;
-                       $this->_aOptionToInfo[$key] = array('oid' => $oid, 'default' => $defValue);
-                       return 1;
-               }
-
-
-               // private
-               function _deleteOption($context, $name) {
-                       $oid = $this->_getOID($context, $name);
-                       if (!$oid) return 0; // no such option
-
-                       // delete all things from plugin_option
-                       sql_query('DELETE FROM ' . sql_table('plugin_option') . ' WHERE oid=' . $oid);
-
-                       // delete entry from plugin_option_desc
-                       sql_query('DELETE FROM ' . sql_table('plugin_option_desc') . ' WHERE oid=' . $oid);
-
-                       // clear from cache
-                       unset($this->_aOptionToInfo[$context . '_' . $name]);
-                       $this->_aOptionValues = array();
-                       return 1;
-               }
-
-               /**
-                * private
-                * returns: 1 on success, 0 on failure
-                */
-               function _setOption($context, $contextid, $name, $value) {
-                       global $manager;
-
-                       $oid = $this->_getOID($context, $name);
-                       if (!$oid) return 0;
-
-                       // check if context id exists
-                       switch ($context) {
-                               case 'member':
-                                       if (!MEMBER::existsID($contextid)) return 0;
-                                       break;
-                               case 'blog':
-                                       if (!$manager->existsBlogID($contextid)) return 0;
-                                       break;
-                               case 'category':
-                                       if (!$manager->existsCategory($contextid)) return 0;
-                                       break;
-                               case 'item':
-                                       if (!$manager->existsItem($contextid, true, true)) return 0;
-                                       break;
-                               case 'global':
-                                       if ($contextid != 0) return 0;
-                                       break;
-                       }
-
-
-                       // update plugin_option
-                       sql_query('DELETE FROM ' . sql_table('plugin_option') . ' WHERE oid='.intval($oid) . ' and ocontextid='. intval($contextid));
-                       @mysql_query('INSERT INTO ' . sql_table('plugin_option') . ' (ovalue, oid, ocontextid) VALUES (\''.addslashes($value).'\', '. intval($oid) . ', ' . intval($contextid) . ')');
-
-                       // update cache
-                       $this->_aOptionValues[$oid . '_' . $contextid] = $value;
-
-                       return 1;
-               }
-
-               // private
-               function _getOption($context, $contextid, $name) {
-                       $oid = $this->_getOID($context, $name);
-                       if (!$oid) return '';
-
-
-                       $key = $oid . '_' . $contextid;
-
-                       if (isset($this->_aOptionValues[$key]))
-                               return $this->_aOptionValues[$key];
-
-                       // get from DB
-                       $res = sql_query('SELECT ovalue FROM ' . sql_table('plugin_option') . ' WHERE oid='.intval($oid).' and ocontextid=' . intval($contextid));
-
-                       if (!$res || (mysql_num_rows($res) == 0)) {
-                               $defVal = $this->_getDefVal($context, $name);
-                               $this->_aOptionValues[$key] = $defVal;
-
-                               // fill DB with default value
-                               $query = 'INSERT INTO ' . sql_table('plugin_option') . ' (oid,ocontextid,ovalue)'
-                                          .' VALUES ('.intval($oid).', '.intval($contextid).', \''.addslashes($defVal).'\')';
-                               sql_query($query);
-                       }
-                       else {
-                               $o = mysql_fetch_object($res);
-                               $this->_aOptionValues[$key] = $o->ovalue;
-                       }
-
-                       return $this->_aOptionValues[$key];
-               }
-
-               /**
-                * Returns assoc array with all values for a given option (one option per
-                * possible context id)
-                */
-               function _getAllOptions($context, $name) {
-                       $oid = $this->_getOID($context, $name);
-                       if (!$oid) return array();
-                       $defVal = $this->_getDefVal($context, $name);
-
-                       $aOptions = array();
-                       switch ($context) {
-                               case 'blog':
-                                       $r = sql_query('SELECT bnumber as contextid FROM ' . sql_table('blog'));
-                                       break;
-                               case 'category':
-                                       $r = sql_query('SELECT catid as contextid FROM ' . sql_table('category'));
-                                       break;
-                               case 'member':
-                                       $r = sql_query('SELECT mnumber as contextid FROM ' . sql_table('member'));
-                                       break;
-                               case 'item':
-                                       $r = sql_query('SELECT inumber as contextid FROM ' . sql_table('item'));
-                                       break;
-                       }
-                       if ($r) {
-                               while ($o = mysql_fetch_object($r))
-                                       $aOptions[$o->contextid] = $defVal;
-                       }
-
-                       $res = sql_query('SELECT ocontextid, ovalue FROM ' . sql_table('plugin_option') . ' WHERE oid=' . $oid);
-                       while ($o = mysql_fetch_object($res))
-                               $aOptions[$o->ocontextid] = $o->ovalue;
-
-                       return $aOptions;
-               }
-
-               /**
-                * Gets the 'option identifier' that corresponds to a given option name.
-                * When this method is called for the first time, all the OIDs for the plugin
-                * are loaded into memory, to avoid re-doing the same query all over.
-                */
-               function _getOID($context, $name) {
-                       $key = $context . '_' . $name;
-                       $info = $this->_aOptionToInfo[$key];
-                       if (is_array($info)) return $info['oid'];
-
-                       // load all OIDs for this plugin from the database
-                       $this->_aOptionToInfo = array();
-                       $query = 'SELECT oid, oname, ocontext, odef FROM ' . sql_table('plugin_option_desc') . ' WHERE opid=' . intval($this->plugid);
-                       $res = sql_query($query);
-                       while ($o = mysql_fetch_object($res)) {
-                               $k = $o->ocontext . '_' . $o->oname;
-                               $this->_aOptionToInfo[$k] = array('oid' => $o->oid, 'default' => $o->odef);
-                       }
-                       mysql_free_result($res);
-
-                       return $this->_aOptionToInfo[$key]['oid'];
-               }
-               function _getDefVal($context, $name) {
-                       $key = $context . '_' . $name;
-                       $info = $this->_aOptionToInfo[$key];
-                       if (is_array($info)) return $info['default'];
-               }
-
-
-               /**
-                * Deletes all option values for a given context and contextid
-                * (used when e.g. a blog, member or category is deleted)
-                *
-                * (static method)
-                */
-               function _deleteOptionValues($context, $contextid) {
-                       // delete all associated plugin options
-                       $aOIDs = array();
-                               // find ids
-                       $query = 'SELECT oid FROM '.sql_table('plugin_option_desc') . ' WHERE ocontext=\''.addslashes($context).'\'';
-                       $res = sql_query($query);
-                       while ($o = mysql_fetch_object($res))
-                               array_push($aOIDs, $o->oid);
-                       mysql_free_result($res);
-                               // delete those options. go go go
-                       if (count($aOIDs) > 0) {
-                               $query = 'DELETE FROM ' . sql_table('plugin_option') . ' WHERE oid in ('.implode(',',$aOIDs).') and ocontextid=' . intval($contextid);
-                               sql_query($query);
-                       }
-               }
-
-               /**
-                * splits the option's typeextra field (at ;'s) to split the meta collection
-                * @param string $typeExtra the value of the typeExtra field of an option
-                * @return array array of the meta-key/value-pairs
-                * @author TeRanEX
-                * @static
-                */
-               function getOptionMeta($typeExtra) {
-                       $tmpMeta = explode(';', $typeExtra);
-                       $meta = array();
-                       for ($i = 0; $i < count($tmpMeta); $i++) {
-                               if (($i == 0) && (!strstr($tmpMeta[0], '='))) {
-                                       // we have the select-list
-                                       $meta['select'] = $tmpMeta[0];
-                               } else {
-                                       $tmp = explode('=', $tmpMeta[$i]);
-                                       $meta[$tmp[0]] = $tmp[1];
-                               }
-                       }
-                       return $meta;
-               }
-
-               /**
-                * filters the selectlists out of the meta collection
-                * @param string $typeExtra the value of the typeExtra field of an option
-                * @return string the selectlist
-                * @author TeRanEX
-                */
-               function getOptionSelectValues($typeExtra) {
-                       $meta = NucleusPlugin::getOptionMeta($typeExtra);
-                       //the select list must always be the first part
-                       return $meta['select'];
-               }
-
-               /**
-                * checks if the eventlist in the database is up-to-date
-                * @return bool if it is up-to-date it return true, else false
-                * @author TeRanEX
-                */
-               function subscribtionListIsUptodate() {
-                       $res = sql_query('SELECT event FROM '.sql_table('plugin_event').' WHERE pid = '.$this->getID());
-                       $ev = array();
-                       while($a = mysql_fetch_array($res)) {
-                               array_push($ev, $a['event']);
-                       }
-                       if (count($ev) != count($this->getEventList())) {
-                               return false;
-                       }
-                       $d = array_diff($ev, $this->getEventList());
-                       if (count($d) > 0) {
-                               // there are differences so the db is not up-to-date
-                               return false;
-                       }
-                       return true;
-               }
-
-               /**
-                * @param $aOptions: array ( 'oid' => array( 'contextid' => 'value'))
-                *        (taken from request using requestVar())
-                * @param $newContextid: integer (accepts a contextid when it is for a new
-                *        contextid there was no id available at the moment of writing the
-                *        formcontrols into the page (by ex: itemOptions for new item)
-                * @static
-                */
-               function _applyPluginOptions(&$aOptions, $newContextid = 0) {
-                       global $manager;
-                       if (!is_array($aOptions)) return;
-
-                       foreach ($aOptions as $oid => $values) {
-
-                               // get option type info
-                               $query = 'SELECT opid, oname, ocontext, otype, oextra, odef FROM ' . sql_table('plugin_option_desc') . ' WHERE oid=' . intval($oid);
-                               $res = sql_query($query);
-                               if ($o = mysql_fetch_object($res))
-                               {
-                                       foreach ($values as $key => $value) {
-                                               // avoid overriding the key used by foreach statement
-                                               $contextid=$key;
-
-                                               // retreive any metadata
-                                               $meta = NucleusPlugin::getOptionMeta($o->oextra);
-
-                                               // if the option is readonly or hidden it may not be saved
-                                               if (($meta['access'] != 'readonly') && ($meta['access'] != 'hidden')) {
-
-                                                       $value = undoMagic($value);     // value comes from request
-
-                                                       switch($o->otype) {
-                                                               case 'yesno':
-                                                                       if (($value != 'yes') && ($value != 'no')) $value = 'no';
-                                                                       break;
-                                                               default:
-                                                                       break;
-                                                       }
-
-                                                       // check the validity of numerical options
-                                                       if (($meta['datatype'] == 'numerical') && (!is_numeric($value))) {
-                                                               //the option must be numeric, but the it isn't
-                                                               //use the default for this option
-                                                               $value = $o->odef;
-                                                       }
-
-                                                       // decide wether we are using the contextid of newContextid
-                                                       if ($newContextid != 0) {
-                                                               $contextid = $newContextid;
-                                                       }
-
-                                                       //trigger event PrePluginOptionsUpdate to give the plugin the
-                                                       //possibility to change/validate the new value for the option
-                                                       $manager->notify('PrePluginOptionsUpdate',array('context' => $o->ocontext, 'plugid' => $o->opid, 'optionname' => $o->oname, 'contextid' => $contextid, 'value' => &$value));
-
-                                                       // delete the old value for the option
-                                                       sql_query('DELETE FROM '.sql_table('plugin_option').' WHERE oid='.intval($oid).' AND ocontextid='.intval($contextid));
-                                                       @mysql_query('INSERT INTO '.sql_table('plugin_option')." (oid, ocontextid, ovalue) VALUES (".intval($oid).",".intval($contextid).",'" . addslashes($value) . "')");
-                                               }
-                                       }
-                               }
-                       }
-                       // clear option value cache if the plugin object is already loaded
-                       if (is_object($o)) {
-                               $plugin=& $manager->pidLoaded($o->opid);
-                               if ($plugin) $plugin->clearOptionValueCache();
-                       }
-               }
-
-       }
-?>
diff --git a/euc/nucleus/libs/PLUGINADMIN.php b/euc/nucleus/libs/PLUGINADMIN.php
deleted file mode 100755 (executable)
index d562ef3..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * code to make it easier to create plugin admin areas
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: PLUGINADMIN.php,v 1.4 2007-03-27 12:13:56 kimitake Exp $
- * $NucleusJP: PLUGINADMIN.php,v 1.8 2007/03/22 03:30:14 kmorimatsu Exp $
- */
-
-global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES, $HTTP_SESSION_VARS;
-$aVarsToCheck = array('HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES', 'DIR_LIBS');
-
-foreach ($aVarsToCheck as $varName)
-{
-       if (phpversion() >= '4.1.0')
-       {
-               if (   isset($_GET[$varName])
-                       || isset($_POST[$varName])
-                       || isset($_COOKIE[$varName])
-                       || isset($_ENV[$varName])
-                       || isset($_SESSION[$varName])
-                       || isset($_FILES[$varName])
-               ){
-                       die('Sorry. An error occurred.');
-               }
-       } else {
-               if (   isset($HTTP_GET_VARS[$varName])
-                       || isset($HTTP_POST_VARS[$varName])
-                       || isset($HTTP_COOKIE_VARS[$varName])
-                       || isset($HTTP_ENV_VARS[$varName])
-                       || isset($HTTP_SESSION_VARS[$varName])
-                       || isset($HTTP_POST_FILES[$varName])
-               ){
-                       die('Sorry. An error occurred.');
-               }
-       }
-}
-
-if (!isset($DIR_LIBS)) {
-       die('Sorry.');
-}
-
-include($DIR_LIBS . 'ADMIN.php');
-
-class PluginAdmin {
-
-       var $strFullName;               // NP_SomeThing
-       var $plugin;                    // ref. to plugin object
-       var $bValid;                    // evaluates to true when object is considered valid
-       var $admin;                             // ref to an admin object
-
-       function PluginAdmin($pluginName)
-       {
-               global $manager;
-
-               $this->strFullName = 'NP_' . $pluginName;
-
-               // check if plugin exists and is installed
-               if (!$manager->pluginInstalled($this->strFullName))
-                       doError('Invalid plugin');
-
-               $this->plugin =& $manager->getPlugin($this->strFullName);
-               $this->bValid = $this->plugin;
-
-               if (!$this->bValid)
-                       doError('Invalid plugin');
-
-               $this->admin = new ADMIN();
-               $this->admin->action = 'plugin_' . $pluginName;
-       }
-
-       function start($extraHead = '')
-       {
-               global $CONF;
-               $strBaseHref  = '<base href="' . htmlspecialchars($CONF['AdminURL']) . '" />';
-               $extraHead .= $strBaseHref;
-
-               $this->admin->pagehead($extraHead);
-       }
-
-       function end()
-       {
-               $this->_AddTicketByJS();
-               $this->admin->pagefoot();
-       }
-
-/** 
- * Add ticket when not used in plugin's admin page
- * to avoid CSRF.
- */
-       function _AddTicketByJS(){
-               global $CONF,$ticketforplugin;
-               if (!($ticket=$ticketforplugin['ticket'])) {
-                       //echo "\n<!--TicketForPlugin skipped-->\n";
-                       return;
-               }
-               $ticket=htmlspecialchars($ticket,ENT_QUOTES);
-?><script type="text/javascript">
-/*<![CDATA[*/
-/* Add tickets for available links (outside blog excluded) */
-for (i=0;document.links[i];i++){
-  if (document.links[i].href.indexOf('<?php echo $CONF['PluginURL']; ?>',0)<0
-    && !(document.links[i].href.indexOf('//',0)<0)) continue;
-  if ((j=document.links[i].href.indexOf('?',0))<0) continue;
-  if (document.links[i].href.indexOf('ticket=',j)>=0) continue;
-  document.links[i].href=document.links[i].href.substring(0,j+1)+'ticket=<?php echo $ticket; ?>&'+document.links[i].href.substring(j+1);
-}
-/* Add tickets for forms (outside blog excluded) */
-for (i=0;document.forms[i];i++){
-  /* check if ticket is already used */
-  for (j=0;document.forms[i].elements[j];j++) {
-    if (document.forms[i].elements[j].name=='ticket') {
-      j=-1;
-      break;
-    }
-  }
-  if (j==-1) continue;
-  /* check if the modification works */
-  try{document.forms[i].innerHTML+='';}catch(e){
-    /* Modificaion falied: this sometime happens on IE */
-    if (!document.forms[i].action.name && document.forms[i].method.toUpperCase()=="POST") {
-      /* <input name="action"/> is not used for POST method*/
-      if (document.forms[i].action.indexOf('<?php echo $CONF['PluginURL']; ?>',0)<0
-        && !(document.forms[i].action.indexOf('//',0)<0)) continue;
-      if (0<(j=document.forms[i].action.indexOf('?',0))) if (0<document.forms[i].action.indexOf('ticket=',j)) continue;
-      if (j<0) document.forms[i].action+='?'+'ticket=<?php echo $ticket; ?>';
-      else document.forms[i].action+='&'+'ticket=<?php echo $ticket; ?>';
-      continue;
-    }
-    document.write('<p><b>Error occured druing automatic addition of tickets.</b></p>');
-    j=document.forms[i].outerHTML;
-    while (j!=j.replace('<','&lt;')) j=j.replace('<','&lt;');
-    document.write('<p>'+j+'</p>');
-    continue;
-  }
-  /* check the action paramer in form tag */
-  /* note that <input name="action"/> may be used here */
-  j=document.forms[i].innerHTML;
-  document.forms[i].innerHTML='';
-  if ((document.forms[i].action+'').indexOf('<?php echo $CONF['PluginURL']; ?>',0)<0
-      && !((document.forms[i].action+'').indexOf('//',0)<0)) {
-    document.forms[i].innerHTML=j;
-    continue;
-  }
-  /* add ticket */
-  document.forms[i].innerHTML=j+'<input type="hidden" name="ticket" value="<?php echo $ticket; ?>"/>';
-}
-/*]]>*/
-</script><?php
-       }
-}
-
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/SEARCH.php b/euc/nucleus/libs/SEARCH.php
deleted file mode 100755 (executable)
index 0814c3e..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2003-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * SEARCH(querystring) offers different functionality to create an
- * SQL query to find certain items. (and comments)
- *
- * based on code by David Altherr:
- * http://www.evolt.org/article/Boolean_Fulltext_Searching_with_PHP_and_MySQL/18/15665/
- * http://davidaltherr.net/web/php_functions/boolean/funcs.mysql.boolean.txt
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: SEARCH.php,v 1.6 2007-03-27 12:13:56 kimitake Exp $
- * @version $NucleusJP: SEARCH.php,v 1.8 2007/02/04 06:28:46 kimitake Exp $
- */
-
-
-
-class SEARCH {
-
-       var $querystring;
-       var $marked;
-       var $inclusive;
-       var $blogs;
-
-
-       function SEARCH($text) {
-               global $blogid;
-//             $text = preg_replace ("/[<,>,=,?,!,#,^,(,),[,\],:,;,\\\,%]/","",$text);
-
-
-     /* * * for jp * * * * * * * * * * */
-        $text = $this->zenspace_replace($text);
-        $text = preg_replace ("/[<>=?!#^()[\]:;\\%]/","",$text);
-
-        $this->ascii = '[\x00-\x7F]';
-        $this->two = '[\x8E\xA1-\xFE][\xA1-\xFE]';
-        $this->three = '\x8F[\xA1-\xFE][\xA1-\xFE]';
-
-        $this->jpmarked      = $this->boolean_mark_atoms_jp($text);
-     /* * * * * * * * * * * * * * * * */
-
-        $this->querystring     = $text;
-//             $this->marked           = $this->boolean_mark_atoms($text);
-        $this->inclusive       = $this->boolean_inclusive_atoms($text);
-        $this->blogs           = array();
-
-        // get all public searchable blogs, no matter what, include the current blog allways.
-               $res = sql_query('SELECT bnumber FROM '.sql_table('blog').' WHERE bincludesearch=1 ');
-               while ($obj = mysql_fetch_object($res)) 
-                   $this->blogs[] = intval($obj->bnumber);
-        }
-/***********************************************
-  zenkaku space to space
-***********************************************/
-
-    function zenspace_replace($text){
-        $ta = unpack("C*",$text);
-        $len = count($ta);
-        $temp = '';
-        for($i=1; $i<=$len; $i++){
-                       if($ta[$i]>= 0x8e){ // ja
-                       if($ta[$i]>0xa0 || $ta[$i]<0x8f){ // 2byte
-                                       $char = chr($ta[$i]).chr($ta[$i+1]);
-                               if($char == "\xA1\xA1") $char = "\x20";
-                               $temp .= $char;
-                               $i ++;
-                       }else{ // 3byte
-                                       $temp .= chr($ta[$i]).chr($ta[$i+1]).chr($ta[$i+2]);
-                               $i += 2;
-                       }
-               }else{ //ascii
-                       $temp .= chr($ta[$i]);
-               }
-        }
-      return $temp;
-   }
-/***********************************************/
-
-    function  boolean_sql_select($match){
-//        $string = $this->inclusive;
-//        if (strlen($string) > 0) {
-          /* build sql for determining score for each record */
-/*
-              preg_match_all(
-                                  "([A-Za-z0-9]{1,}[A-Za-z0-9\-\.\_]{0,})",
-                              $string,
-                              $result);
-           $result = $result[0];
-                for($cth=0;$cth<count($result);$cth++){
-             if(strlen($result[$cth])>=4){
-                   $stringsum_long .=  " $result[$cth] ";
-                    }else{
-                      $stringsum_a[] = ' '.$this->boolean_sql_select_short($result[$cth],$match).' ';
-                    }
-                }
-            if(strlen($stringsum_long)>0){
-                               $stringsum_long = addslashes($stringsum_long);
-                       $stringsum_a[] = " match ($match) against ('$stringsum_long') ";
-            }
-                $stringsum .= implode("+",$stringsum_a);
-            return $stringsum;
-           }
-*/
-    }
-
-    
-
-    function boolean_inclusive_atoms($string){
-       $result=trim($string);
-       $result=preg_replace("/([[:space:]]{2,})/",' ',$result);
-
-       /* convert normal boolean operators to shortened syntax */
-       $result=eregi_replace(' not ',' -',$result);
-       $result=eregi_replace(' and ',' ',$result);
-       $result=eregi_replace(' or ',',',$result);
-
-       /* drop unnecessary spaces */
-       $result=str_replace(' ,',',',$result);
-       $result=str_replace(', ',',',$result);
-       $result=str_replace('- ','-',$result);
-       $result=str_replace('+','',$result);
-
-       /* strip exlusive atoms */
-       $result=preg_replace(
-//             "(\-\([A-Za-z0-9]{1,}[A-Za-z0-9\-\.\_\,]{0,}\))",
-               "(\-\(([A-Za-z0-9]|$this->two|$this->three){1,}([A-Za-z0-9\-\.\_\,]|$this->two|$this->three){0,}\))",
-               '',
-               $result);
-
-       $result=preg_replace(
-//             "(\-[A-Za-z0-9]{1,}[A-Za-z0-9\-\.\_]{0,})",
-               "(\-([A-Za-z0-9]|$this->two|$this->three){1,}([A-Za-z0-9\-\.\_\,]|$this->two|$this->three){0,})",
-               '',
-               $result);
-
-       $result=str_replace('(',' ',$result);
-       $result=str_replace(')',' ',$result);
-       $result=str_replace(',',' ',$result);
-
-       return $result;
-    }
-
-    function boolean_sql_where($match){
-/*
-        $result = $this->marked;
-       $result = preg_replace(
-               "/foo\[\(\'([^\)]{4,})\'\)\]bar/e",
-               " 'match ('.\$match.') against (\''.\$this->copyvalue(\"$1\").'\') > 0 ' ",
-               $result);
-
-       $result = preg_replace(                 
-            "/foo\[\(\'([^\)]{1,3})\'\)\]bar/e",
-            " '('.\$this->boolean_sql_where_short(\"$1\",\"$match\").')' ",                    
-            $result);
-*/
-      $result = $this->jpmarked; /* for jp */
-       $result = $this->boolean_sql_where_jp_short($result,$match);/* for jp */
-       return $result;
-    }
-
-    // there must be a simple way to simply copy a value with backslashes in it through
-    // the preg_replace, but I cannot currently find it (karma 2003-12-30)
-    function copyvalue($foo) {
-       return $foo;
-    }
-
-/***********************************************
-  Make "WHERE" (jp)
-***********************************************/
-
-    function boolean_mark_atoms_jp($string){
-
-       $result=trim($string);
-       $result=preg_replace("/([[:space:]]{2,})/",' ',$result);
-       
-       /* convert normal boolean operators to shortened syntax */
-       $result=eregi_replace(' not ',' -',$result);
-       $result=eregi_replace(' and ',' ',$result);
-       $result=eregi_replace(' or ',',',$result);
-
-       /* strip excessive whitespace */
-       $result=str_replace(', ',',',$result);
-       $result=str_replace(' ,',',',$result);
-       $result=str_replace('- ','-',$result);
-       $result=str_replace('+','',$result);
-       
-       $result=str_replace(',',' ,',$result);
-
-       return $result;
-    }
-    
-
-    function boolean_sql_where_jp_short($string,$match){
-       $match_a = explode(',',$match);
-                       $key_a = explode(' ',$string);
-                       
-       for($ith=0;$ith<count($match_a);$ith++){
-               $temp_a[$ith] = "(i.$match_a[$ith] LIKE '%" . addslashes($key_a[0]) . "%') ";
-       }
-       $like = '('.implode(' or ',$temp_a).')';
-
-                       for($kn=1; $kn<count($key_a); $kn++){
-               if(substr($key_a[$kn],0,1) == ","){
-                       for($ith=0;$ith<count($match_a);$ith++){
-                               $temp_a[$ith] = " (i.$match_a[$ith] LIKE '%" . addslashes(substr($key_a[$kn],1)) . "%') ";
-                       }
-                       $like .=' OR ('. implode(' or ',$temp_a).')';
-               }elseif(substr($key_a[$kn],0,1) != '-'){
-                       for($ith=0;$ith<count($match_a);$ith++){
-                               $temp_a[$ith] = " (i.$match_a[$ith] LIKE '%" . addslashes($key_a[$kn]) . "%') ";
-                       }
-                       $like .=' AND ('. implode(' or ',$temp_a).')';
-               }else{
-                       for($ith=0;$ith<count($match_a);$ith++){
-                               $temp_a[$ith] = " NOT(i.$match_a[$ith] LIKE '%" . addslashes(substr($key_a[$kn],1)) . "%') ";
-                       }
-                       $like .=' AND ('. implode(' and ',$temp_a).')';
-               }
-       }
-       
-       $like = '('.$like.')';
-       return $like;
-    }
-
-/***********************************************/
-
-
-/*
-    function boolean_mark_atoms($string){
-       $result=trim($string);
-       $result=preg_replace("/([[:space:]]{2,})/",' ',$result);
-
-       //convert normal boolean operators to shortened syntax
-       $result=eregi_replace(' not ',' -',$result);
-       $result=eregi_replace(' and ',' ',$result);
-       $result=eregi_replace(' or ',',',$result);
-
-
-       //strip excessive whitespace
-       $result=str_replace('( ','(',$result);
-       $result=str_replace(' )',')',$result);
-       $result=str_replace(', ',',',$result);
-       $result=str_replace(' ,',',',$result);
-       $result=str_replace('- ','-',$result);
-       $result=str_replace('+','',$result);
-
-       // remove double spaces (we might have introduced some new ones above)
-       $result=trim($result);
-       $result=preg_replace("/([[:space:]]{2,})/",' ',$result);
-
-       // apply arbitrary function to all 'word' atoms
-
-        $result_a = explode(" ",$result);
-        for($word=0;$word<count($result_a);$word++){
-            $result_a[$word] = "foo[('".$result_a[$word]."')]bar";
-        }
-        $result = implode(" ",$result_a);
-        
-       // dispatch ' ' to ' AND '
-       $result=str_replace(' ',' AND ',$result);
-
-       // dispatch ',' to ' OR '
-       $result=str_replace(',',' OR ',$result);
-
-       // dispatch '-' to ' NOT '
-       $result=str_replace(' -',' NOT ',$result);
-       return $result;
-    }
-    
-    function boolean_sql_where_short($string,$match){
-       $match_a = explode(',',$match);
-       for($ith=0;$ith<count($match_a);$ith++){
-               $like_a[$ith] = " $match_a[$ith] LIKE '% $string %' ";
-       }
-       $like = implode(" OR ",$like_a);
-
-       return $like;
-    }
-    function boolean_sql_select_short($string,$match){
-        $match_a = explode(',',$match);
-        $score_unit_weight = .2;
-        for($ith=0;$ith<count($match_a);$ith++){
-            $score_a[$ith] =
-                           " $score_unit_weight*(
-                           LENGTH(" . addslashes($match_a[$ith]) . ") -
-                           LENGTH(REPLACE(LOWER(" . addslashes($match_a[$ith]) . "),LOWER('" . addslashes($string) . "'),'')))
-                                      /LENGTH('" . addslashes($string) . "') ";
-        }
-           $score = implode(" + ",$score_a);
-
-        return $score;
-    }
-*/
-
-}
-?>
diff --git a/euc/nucleus/libs/SKIN.php b/euc/nucleus/libs/SKIN.php
deleted file mode 100755 (executable)
index 85eb66f..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * Class representing a skin
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: SKIN.php,v 1.6 2007-03-22 09:23:58 kimitake Exp $
- * @version $NucleusJP: SKIN.php,v 1.8 2007/03/20 19:31:29 kmorimatsu Exp $
- */
-
-if ( !function_exists('requestVar') ) exit;
-require_once dirname(__FILE__) . '/ACTIONS.php';
-
-class SKIN {
-
-       // after creating a SKIN object, evaluates to true when the skin exists
-       var $isValid;
-
-       // skin characteristics. Use the getXXX methods rather than accessing directly
-       var $id;
-       var $description;
-       var $contentType;
-       var $includeMode;               // either 'normal' or 'skindir'
-       var $includePrefix;
-       var $name;
-
-       function SKIN($id) {
-               $this->id = intval($id);
-
-               // read skin name/description/content type
-               $res = sql_query('SELECT * FROM '.sql_table('skin_desc').' WHERE sdnumber=' . $this->id);
-               $obj = mysql_fetch_object($res);
-               $this->isValid = (mysql_num_rows($res) > 0);
-               if (!$this->isValid)
-                       return;
-
-               $this->name = $obj->sdname;
-               $this->description = $obj->sddesc;
-               $this->contentType = $obj->sdtype;
-               $this->includeMode = $obj->sdincmode;
-               $this->includePrefix = $obj->sdincpref;
-
-       }
-
-       function getID() {                              return $this->id; }
-       function getName() {                    return $this->name; }
-       function getDescription() {     return $this->description; }
-       function getContentType() {     return $this->contentType; }
-       function getIncludeMode() {     return $this->includeMode; }
-       function getIncludePrefix() {   return $this->includePrefix; }
-
-       /**
-        * Checks if a skin with a given shortname exists
-        * @param string $name Skin short name
-        * @return int number of skins with the given ID
-        * @static
-        */
-       function exists($name) {
-               return quickQuery('select count(*) as result FROM '.sql_table('skin_desc').' WHERE sdname="'.addslashes($name).'"') > 0;
-       }
-
-       /**
-        * Checks if a skin with a given ID exists
-        * @param string $id Skin ID
-        * @return int number of skins with the given ID
-        * @static
-        */
-       function existsID($id) {
-               return quickQuery('select COUNT(*) as result FROM '.sql_table('skin_desc').' WHERE sdnumber='.intval($id)) > 0;
-       }
-
-       /**
-        * Returns a skin given its shortname
-        * @param string $name Skin shortname
-        * @return object SKIN
-        * @static
-        */
-       function createFromName($name) {
-               return new SKIN(SKIN::getIdFromName($name));
-       }
-
-       /**
-        * Returns a skin ID given its shortname
-        * @param string $name Skin shortname
-        * @return int Skin ID
-        * @static
-        */
-       function getIdFromName($name) {
-               $query =  'SELECT sdnumber'
-                          . ' FROM '.sql_table('skin_desc')
-                          . ' WHERE sdname="'.addslashes($name).'"';
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-               return $obj->sdnumber;
-       }
-
-       /**
-        * Returns a skin shortname given its ID
-        * @param string $name
-        * @return string Skin short name
-        * @static
-        */
-       function getNameFromId($id) {
-               return quickQuery('SELECT sdname as result FROM '.sql_table('skin_desc').' WHERE sdnumber=' . intval($id));
-       }
-
-       /**
-        * Creates a new skin, with the given characteristics.
-        *
-        * @static
-        */
-       function createNew($name, $desc, $type = 'text/html', $includeMode = 'normal', $includePrefix = '') {
-               global $manager;
-
-               $manager->notify(
-                       'PreAddSkin',
-                       array(
-                               'name' => &$name,
-                               'description' => &$desc,
-                               'type' => &$type,
-                               'includeMode' => &$includeMode,
-                               'includePrefix' => &$includePrefix
-                       )
-               );
-
-               sql_query('INSERT INTO '.sql_table('skin_desc')." (sdname, sddesc, sdtype, sdincmode, sdincpref) VALUES ('" . addslashes($name) . "','" . addslashes($desc) . "','".addslashes($type)."','".addslashes($includeMode)."','".addslashes($includePrefix)."')");
-               $newid = mysql_insert_id();
-
-               $manager->notify(
-                       'PostAddSkin',
-                       array(
-                               'skinid' => $newid,
-                               'name' => $name,
-                               'description' => $desc,
-                               'type' => $type,
-                               'includeMode' => $includeMode,
-                               'includePrefix' => $includePrefix
-                       )
-               );
-
-               return $newid;
-       }
-
-       function parse($type) {
-               global $manager, $CONF;
-
-               $manager->notify('InitSkinParse',array('skin' => &$this, 'type' => $type));
-
-               // set output type
-               sendContentType($this->getContentType(), 'skin', _CHARSET);
-
-               // set skin name as global var (so plugins can access it)
-               global $currentSkinName;
-               $currentSkinName = $this->getName();
-
-               $contents = $this->getContent($type);
-
-               if (!$contents) {
-                       // use base skin if this skin does not have contents
-                       $defskin =& new SKIN($CONF['BaseSkin']);
-                       $contents = $defskin->getContent($type);
-                       if (!$contents) {
-                               echo _ERROR_SKIN;
-                               return;
-                       }
-               }
-
-               $actions = $this->getAllowedActionsForType($type);
-
-               $manager->notify('PreSkinParse',array('skin' => &$this, 'type' => $type, 'contents' => &$contents));
-
-               // set IncludeMode properties of parser
-               PARSER::setProperty('IncludeMode',$this->getIncludeMode());
-               PARSER::setProperty('IncludePrefix',$this->getIncludePrefix());
-
-               $handler =& new ACTIONS($type, $this);
-               $parser =& new PARSER($actions, $handler);
-               $handler->setParser($parser);
-               $handler->setSkin($this);
-               $parser->parse($contents);
-
-               $manager->notify('PostSkinParse',array('skin' => &$this, 'type' => $type));
-
-
-       }
-
-       function getContent($type) {
-               $query = 'SELECT scontent FROM '.sql_table('skin')." WHERE sdesc=$this->id and stype='". addslashes($type) ."'";
-               $res = sql_query($query);
-
-               if (mysql_num_rows($res) == 0)
-                       return '';
-               else
-                       return mysql_result($res, 0, 0);
-       }
-
-       /**
-        * Updates the contents of one part of the skin
-        */
-       function update($type, $content) {
-               $skinid = $this->id;
-
-               // delete old thingie
-               sql_query('DELETE FROM '.sql_table('skin')." WHERE stype='".addslashes($type)."' and sdesc=" . intval($skinid));
-
-               // write new thingie
-               if ($content) {
-                       sql_query('INSERT INTO '.sql_table('skin')." SET scontent='" . addslashes($content) . "', stype='" . addslashes($type) . "', sdesc=" . intval($skinid));
-               }
-       }
-
-       /**
-        * Deletes all skin parts from the database
-        */
-       function deleteAllParts() {
-               sql_query('DELETE FROM '.sql_table('skin').' WHERE sdesc='.$this->getID());
-       }
-
-       /**
-        * Updates the general information about the skin
-        */
-       function updateGeneralInfo($name, $desc, $type = 'text/html', $includeMode = 'normal', $includePrefix = '') {
-               $query =  'UPDATE '.sql_table('skin_desc').' SET'
-                          . " sdname='" . addslashes($name) . "',"
-                          . " sddesc='" . addslashes($desc) . "',"
-                          . " sdtype='" . addslashes($type) . "',"
-                          . " sdincmode='" . addslashes($includeMode) . "',"
-                          . " sdincpref='" . addslashes($includePrefix) . "'"
-                          . " WHERE sdnumber=" . $this->getID();
-               sql_query($query);
-       }
-
-       /**
-        * static: returns an array of friendly names
-        */
-       function getFriendlyNames() {
-               $skintypes = array(
-                       'index' => _SKIN_PART_MAIN,
-                       'item' => _SKIN_PART_ITEM,
-                       'archivelist' => _SKIN_PART_ALIST,
-                       'archive' => _SKIN_PART_ARCHIVE,
-                       'search' => _SKIN_PART_SEARCH,
-                       'error' => _SKIN_PART_ERROR,
-                       'member' => _SKIN_PART_MEMBER,
-                       'imagepopup' => _SKIN_PART_POPUP
-               );
-
-               $query = "SELECT stype FROM " . sql_table('skin') . " WHERE stype NOT IN ('index', 'item', 'error', 'search', 'archive', 'archivelist', 'imagepopup', 'member')";
-               $res = sql_query($query);
-               while ($row = mysql_fetch_array($res)) {
-                       $skintypes[strtolower($row['stype'])] = ucfirst($row['stype']);
-               }
-
-               return $skintypes;
-       }
-
-       function getAllowedActionsForType($type) {
-               global $blogid;
-
-               // some actions that can be performed at any time, from anywhere
-               $defaultActions = array('otherblog',
-                                                               'plugin',
-                                                               'version',
-                                                               'nucleusbutton',
-                                                               'include',
-                                                               'phpinclude',
-                                                               'parsedinclude',
-                                                               'loginform',
-                                                               'sitevar',
-                                                               'otherarchivelist',
-                                                               'otherarchivedaylist',
-                                                               'self',
-                                                               'adminurl',
-                                                               'todaylink',
-                                                               'archivelink',
-                                                               'member',
-                                                               'ifcat',                                        // deprecated (Nucleus v2.0)
-                                                               'category',
-                                                               'searchform',
-                                                               'referer',
-                                                               'skinname',
-                                                               'skinfile',
-                                                               'set',
-                                                               'if',
-                                                               'else',
-                                                               'endif',
-                                                               'elseif',
-                                                               'ifnot',
-                                                               'elseifnot',
-                                                               'charset',
-                                                               'bloglist'
-                                                               );
-
-               // extra actions specific for a certain skin type
-               $extraActions = array();
-
-               switch ($type) {
-                       case 'index':
-                               $extraActions = array('blog',
-                                                               'blogsetting',
-                                                               'preview',
-                                                               'additemform',
-                                                               'categorylist',
-                                                               'archivelist',
-                                                               'archivedaylist',
-                                                               'nextlink',
-                                                               'prevlink'
-                                                               );
-                               break;
-                       case 'archive':
-                               $extraActions = array('blog',
-                                                               'archive',
-                                                               'otherarchive',
-                                                               'categorylist',
-                                                               'archivelist',
-                                                               'archivedaylist',
-                                                               'blogsetting',
-                                                               'archivedate',
-                                                               'nextarchive',
-                                                               'prevarchive',
-                                                               'nextlink',
-                                                               'prevlink',
-                                                               'archivetype'
-                               );
-                               break;
-                       case 'archivelist':
-                               $extraActions = array('blog',
-                                                               'archivelist',
-                                                               'archivedaylist',
-                                                               'categorylist',
-                                                               'blogsetting',
-                                                          );
-                               break;
-                       case 'search':
-                               $extraActions = array('blog',
-                                                               'archivelist',
-                                                               'archivedaylist',
-                                                               'categorylist',
-                                                               'searchresults',
-                                                               'othersearchresults',
-                                                               'blogsetting',
-                                                               'query',
-                                                               'nextlink',
-                                                               'prevlink'
-                                                               );
-                               break;
-                       case 'imagepopup':
-                               $extraActions = array('image',
-                                                               'imagetext',                            // deprecated (Nucleus v2.0)
-                                                               );
-                               break;
-                       case 'member':
-                               $extraActions = array(
-                                                               'membermailform',
-                                                               'blogsetting',
-                                                               'nucleusbutton'
-                               );
-                               break;
-                       case 'item':
-                               $extraActions = array('blog',
-                                                               'item',
-                                                               'comments',
-                                                               'commentform',
-                                                               'vars',
-                                                               'blogsetting',
-                                                               'nextitem',
-                                                               'previtem',
-                                                               'nextlink',
-                                                               'prevlink',
-                                                               'nextitemtitle',
-                                                               'previtemtitle',
-                                                               'categorylist',
-                                                               'archivelist',
-                                                               'archivedaylist',
-                                                               'itemtitle',
-                                                               'itemid',
-                                                               'itemlink',
-                                                               );
-                               break;
-                       case 'error':
-                               $extraActions = array(
-                                                               'errormessage'
-                               );
-                               break;
-                       default:
-                               if ($blogid && $blogid > 0) {
-                                       $extraActions = array(
-                                               'blog',
-                                               'blogsetting',
-                                               'preview',
-                                               'additemform',
-                                               'categorylist',
-                                               'archivelist',
-                                               'archivedaylist',
-                                               'nextlink',
-                                               'archivelist',
-                                               'archivedaylist',
-                                               'prevlink',
-                                               'membermailform',
-                                               'nucleusbutton'
-                                       );
-                               }
-                               break;
-               }
-
-               return array_merge($defaultActions, $extraActions);
-       }
-
-}
-
-?>
diff --git a/euc/nucleus/libs/TEMPLATE.php b/euc/nucleus/libs/TEMPLATE.php
deleted file mode 100755 (executable)
index 66c1984..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * A class representing a template
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: TEMPLATE.php,v 1.4 2007-03-22 09:23:58 kimitake Exp $
- * @version $NucleusJP: TEMPLATE.php,v 1.7 2007/02/04 06:28:46 kimitake Exp $
- */
-class TEMPLATE {
-
-       var $id;
-
-       function TEMPLATE($templateid) {
-               $this->id = intval($templateid);
-       }
-
-       function getID() {
-               return intval($this->id);
-       }
-
-       // (static)
-       function createFromName($name) {
-               return new TEMPLATE(TEMPLATE::getIdFromName($name));
-       }
-
-       // (static)
-       function getIdFromName($name) {
-               $query =  'SELECT tdnumber'
-                          . ' FROM '.sql_table('template_desc')
-                          . ' WHERE tdname="'.addslashes($name).'"';
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-               return $obj->tdnumber;
-       }
-
-       /**
-        * Updates the general information about the template
-        */
-       function updateGeneralInfo($name, $desc) {
-               $query =  'UPDATE '.sql_table('template_desc').' SET'
-                          . " tdname='" . addslashes($name) . "',"
-                          . " tddesc='" . addslashes($desc) . "'"
-                          . " WHERE tdnumber=" . $this->getID();
-               sql_query($query);
-       }
-
-       /**
-        * Updates the contents of one part of the template
-        */
-       function update($type, $content) {
-               $id = $this->getID();
-
-               // delete old thingie
-               sql_query('DELETE FROM '.sql_table('template')." WHERE tpartname='". addslashes($type) ."' and tdesc=" . intval($id));
-
-               // write new thingie
-               if ($content) {
-                       sql_query('INSERT INTO '.sql_table('template')." SET tcontent='" . addslashes($content) . "', tpartname='" . addslashes($type) . "', tdesc=" . intval($id));
-               }
-       }
-
-
-       /**
-        * Deletes all template parts from the database
-        */
-       function deleteAllParts() {
-               sql_query('DELETE FROM '.sql_table('template').' WHERE tdesc='.$this->getID());
-       }
-
-       /**
-        * Creates a new template
-        *
-        * (static)
-        */
-       function createNew($name, $desc) {
-               global $manager;
-
-               $manager->notify(
-                       'PreAddTemplate',
-                       array(
-                               'name' => &$name,
-                               'description' => &$desc
-                       )
-               );
-
-               sql_query('INSERT INTO '.sql_table('template_desc')." (tdname, tddesc) VALUES ('" . addslashes($name) . "','" . addslashes($desc) . "')");
-               $newId = mysql_insert_id();
-
-               $manager->notify(
-                       'PostAddTemplate',
-                       array(
-                               'templateid' => $newId,
-                               'name' => $name,
-                               'description' => $desc
-                       )
-               );
-
-               return $newId;
-       }
-
-
-
-       /**
-        * Reads a template and returns an array with the parts.
-        * (static)
-        *
-        * @param $name name of the template file
-        */
-       function read($name) {
-               $query = 'SELECT tpartname, tcontent'
-                          . ' FROM '.sql_table('template_desc').', '.sql_table('template')
-                          . ' WHERE tdesc=tdnumber and tdname="' . addslashes($name) . '"';
-               $res = sql_query($query);
-               while ($obj = mysql_fetch_object($res))
-                       $template[$obj->tpartname] = $obj->tcontent;
-
-               // set locale according to template:
-               if ($template['LOCALE'])
-                       setlocale(LC_TIME,$template['LOCALE']);
-               else
-                       setlocale(LC_TIME,'');
-
-               return $template;
-       }
-
-       /**
-         * fills a template with values
-         * (static)
-         *
-         * @param $template
-         *             Template to be used
-         * @param $values
-         *             Array of all the values
-         */
-       function fill($template, $values) {
-
-               if (sizeof($values) != 0) {
-                       // go through all the values
-                       for(reset($values); $key = key($values); next($values)) {
-                               $template = str_replace("<%$key%>",$values[$key],$template);
-                       }
-               }
-
-               // remove non matched template-tags
-               return preg_replace('/<%[a-zA-Z]+%>/','',$template);
-       }
-
-       // returns true if there is a template with the given shortname
-       // (static)
-       function exists($name) {
-               $r = sql_query('select * FROM '.sql_table('template_desc').' WHERE tdname="'.addslashes($name).'"');
-               return (mysql_num_rows($r) != 0);
-       }
-
-       // returns true if there is a template with the given ID
-       // (static)
-       function existsID($id) {
-               $r = sql_query('select * FROM '.sql_table('template_desc').' WHERE tdnumber='.intval($id));
-               return (mysql_num_rows($r) != 0);
-       }
-
-       // (static)
-       function getNameFromId($id) {
-               return quickQuery('SELECT tdname as result FROM '.sql_table('template_desc').' WHERE tdnumber=' . intval($id));
-       }
-
-       // (static)
-       function getDesc($id) {
-               $query = 'SELECT tddesc FROM '.sql_table('template_desc').' WHERE tdnumber='. intval($id);
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-               return $obj->tddesc;
-       }
-
-
-
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/backup.php b/euc/nucleus/libs/backup.php
deleted file mode 100755 (executable)
index 9b4e2eb..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Scripts to create/restore a backup of the Nucleus database
- *
- * Based on code in phpBB (http://phpBB.sourceforge.net)
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: backup.php,v 1.5 2007-03-22 08:32:11 kimitake Exp $
- * $NucleusJP: backup.php,v 1.8 2007/02/19 22:27:59 kmorimatsu Exp $
- */
-
-
-/**
-  * This function creates an sql dump of the database and sends it to
-  * the user as a file (can be gzipped if they want)
-  *
-  * @requires
-  *            no output may have preceded (new headers are sent)
-  * @param gzip
-  *            1 = compress backup file, 0 = no compression (default)
-  */
-function do_backup($gzip = 0) {
-       global $manager;
-
-       // tables of which backup is needed
-       $tables = array(
-                                       sql_table('actionlog'),
-                                       sql_table('ban'),
-                                       sql_table('blog'),
-                                       sql_table('comment'),
-                                       sql_table('config'),
-                                       sql_table('item'),
-                                       sql_table('karma'),
-                                       sql_table('member'),
-                                       sql_table('skin'),
-                                       sql_table('skin_desc'),
-                                       sql_table('team'),
-                                       sql_table('template'),
-                                       sql_table('template_desc'),
-                                       sql_table('plugin'),
-                                       sql_table('plugin_event'),
-                                       sql_table('plugin_option'),
-                                       sql_table('plugin_option_desc'),
-                                       sql_table('category'),
-                                       sql_table('activation'),
-                                       sql_table('tickets'),
-                         );
-
-       // add tables that plugins want to backup to the list
-       // catch all output generated by plugins
-       ob_start();
-       $res = sql_query('SELECT pfile FROM '.sql_table('plugin'));
-       while ($plugName = mysql_fetch_object($res)) {
-               $plug =& $manager->getPlugin($plugName->pfile);
-               if ($plug) $tables = array_merge($tables, (array) $plug->getTableList());
-       }
-       ob_end_clean();
-
-       // remove duplicates
-       $tables = array_unique($tables);
-
-       // make sure browsers don't cache the backup
-       header("Pragma: no-cache");
-
-       // don't allow gzip compression when extension is not loaded
-       if (($gzip != 0) && !extension_loaded("zlib"))
-               $gzip = 0;
-
-
-
-       if ($gzip) {
-               // use an output buffer
-               @ob_start();
-               @ob_implicit_flush(0);
-
-               // set filename
-               $filename = 'nucleus_db_backup_'.strftime("%Y%m%d", time()).".sql.gz";
-       } else {
-               $filename = 'nucleus_db_backup_'.strftime("%Y%m%d", time()).".sql";
-       }
-
-
-       // send headers that tell the browser a file is coming
-       header("Content-Type: text/x-delimtext; name=\"$filename\"");
-       header("Content-disposition: attachment; filename=$filename");
-
-       // dump header
-       echo "#\n";
-       echo "# This is a backup file generated by Nucleus \n";
-       echo "# http://www.nucleuscms.org/\n";
-       echo "#\n";
-       echo "# backup-date: " .  gmdate("d-m-Y H:i:s", time()) . " GMT\n";
-       global $nucleus;
-       echo "# Nucleus CMS version: " . $nucleus['version'] . "\n";
-       echo "#\n";
-       echo "# WARNING: Only try to restore on servers running the exact same version of Nucleus\n";
-       echo "#\n";
-
-       // dump all tables
-       reset($tables);
-       array_walk($tables, '_backup_dump_table');
-
-       if($gzip)
-       {
-               $Size = ob_get_length();
-               $Crc = crc32(ob_get_contents());
-               $contents = gzcompress(ob_get_contents());
-               ob_end_clean();
-               echo "\x1f\x8b\x08\x00\x00\x00\x00\x00".substr($contents, 0, strlen($contents) - 4).gzip_PrintFourChars($Crc).gzip_PrintFourChars($Size);
-       }
-
-       exit;
-
-}
-
-
-/**
-  * Creates a dump for a single table
-  * ($tablename and $key are filled in by array_walk)
-  */
-function _backup_dump_table($tablename, $key) {
-
-       echo "#\n";
-       echo "# TABLE: " . $tablename . "\n";
-       echo "#\n";
-
-       // dump table structure
-       _backup_dump_structure($tablename);
-
-       // dump table contents
-       _backup_dump_contents($tablename);
-}
-
-function _backup_dump_structure($tablename) {
-
-       // add command to drop table on restore
-       echo "DROP TABLE IF EXISTS $tablename;\n";
-       echo "CREATE TABLE $tablename(\n";
-
-       //
-       // Ok lets grab the fields...
-       //
-       $result = mysql_query("SHOW FIELDS FROM $tablename");
-       $row = mysql_fetch_array($result);
-       while ($row) {
-
-               echo '  ' . $row['Field'] . ' ' . $row['Type'];
-
-               if(isset($row['Default']))
-                       echo ' DEFAULT \'' . $row['Default'] . '\'';
-
-               if($row['Null'] != "YES")
-                       echo ' NOT NULL';
-
-               if($row['Extra'] != "")
-                       echo ' ' . $row['Extra'];
-
-               $row = mysql_fetch_array($result);
-
-               // add comma's except for last one
-               if ($row)
-                       echo ",\n";
-       }
-
-       //
-       // Get any Indexed fields from the database...
-       //
-       $result = mysql_query("SHOW KEYS FROM $tablename");
-       while($row = mysql_fetch_array($result)) {
-               $kname = $row['Key_name'];
-
-               if(($kname != 'PRIMARY') && ($row['Non_unique'] == 0))
-                       $kname = "UNIQUE|$kname";
-               if(($kname != 'PRIMARY') && ($row['Index_type'] == 'FULLTEXT'))
-                       $kname = "FULLTEXT|$kname";
-
-               if(!is_array($index[$kname]))
-                       $index[$kname] = array();
-
-               $index[$kname][] = $row['Column_name'] . ( ($row['Sub_part']) ? ' (' . $row['Sub_part'] . ')' : '');
-       }
-
-       while(list($x, $columns) = @each($index)) {
-               echo ", \n";
-
-               if($x == 'PRIMARY')
-                       echo '  PRIMARY KEY (' . implode($columns, ', ') . ')';
-               elseif (substr($x,0,6) == 'UNIQUE')
-                       echo '  UNIQUE KEY ' . substr($x,7) . ' (' . implode($columns, ', ') . ')';
-               elseif (substr($x,0,8) == 'FULLTEXT')
-                       echo '  FULLTEXT KEY ' . substr($x,9) . ' (' . implode($columns, ', ') . ')';
-               elseif (($x == 'ibody') || ($x == 'cbody'))                     // karma 2004-05-30 quick and dirty fix. fulltext keys were not in SQL correctly.
-                       echo '  FULLTEXT KEY ' . substr($x,9) . ' (' . implode($columns, ', ') . ')';
-               else
-                       echo "  KEY $x (" . implode($columns, ', ') . ')';
-       }
-
-       echo "\n);\n\n";
-}
-
-/**
- * Returns the field named for the given table in the 
- * following format:
- *
- * (column1, column2, ..., columnn)
- */
-function _backup_get_field_names($result, $num_fields) {
-
-       if (function_exists('mysqli_fetch_fields') ) {
-               
-               $fields = mysqli_fetch_fields($result);
-               for ($j = 0; $j < $num_fields; $j++)
-                       $fields[$j] = $fields[$j]->name;
-
-       } else {
-
-               $fields = array();
-               for ($j = 0; $j < $num_fields; $j++) {
-                       $fields[] = mysql_field_name($result, $j);
-               }
-
-       }
-       
-       return '(' . implode(', ', $fields) . ')';      
-}
-
-function _backup_dump_contents($tablename) {
-       //
-       // Grab the data from the table.
-       //
-       $result = mysql_query("SELECT * FROM $tablename");
-
-       if(mysql_num_rows($result) > 0)
-               echo "\n#\n# Table Data for $tablename\n#\n";
-               
-       $num_fields = mysql_num_fields($result);
-       
-       //
-       // Compose fieldname list
-       //
-       $tablename_list = _backup_get_field_names($result, $num_fields);
-               
-       //
-       // Loop through the resulting rows and build the sql statement.
-       //
-       while ($row = mysql_fetch_array($result))
-       {
-               // Start building the SQL statement.
-
-               echo "INSERT INTO $tablename $tablename_list VALUES(";
-
-               // Loop through the rows and fill in data for each column
-               for ($j = 0; $j < $num_fields; $j++) {
-                       if(!isset($row[$j])) {
-                               // no data for column
-                               echo ' NULL';
-                       } elseif ($row[$j] != '') {
-                               // data
-                               echo " '" . addslashes($row[$j]) . "'";
-                       } else {
-                               // empty column (!= no data!)
-                               echo "''";
-                       }
-
-                       // only add comma when not last column
-                       if ($j != ($num_fields - 1))
-                               echo ",";
-               }
-
-               echo ");\n";
-
-       }
-
-
-       echo "\n";
-
-}
-
-// copied from phpBB
-function gzip_PrintFourChars($Val)
-{
-       for ($i = 0; $i < 4; $i ++)
-       {
-               $return .= chr($Val % 256);
-               $Val = floor($Val / 256);
-       }
-       return $return;
-}
-
-function do_restore() {
-
-       $uploadInfo = postFileInfo('backup_file');
-
-       // first of all: get uploaded file:
-       if (empty($uploadInfo['name']))
-               return 'No file uploaded';
-       if (!is_uploaded_file($uploadInfo['tmp_name']))
-               return 'No file uploaded';
-
-       $backup_file_name = $uploadInfo['name'];
-       $backup_file_tmpname = $uploadInfo['tmp_name'];
-       $backup_file_type = $uploadInfo['type'];
-
-       if (!file_exists($backup_file_tmpname))
-               return 'File Upload Error';
-
-       if (!preg_match("/^(text\/[a-zA-Z]+)|(application\/(x\-)?gzip(\-compressed)?)|(application\/octet-stream)$/is", $backup_file_type) )
-               return 'The uploaded file is not of the correct type';
-
-
-
-       if (preg_match("/\.gz/is",$backup_file_name))
-               $gzip = 1;
-       else
-               $gzip = 0;
-
-       if (!extension_loaded("zlib") && $gzip)
-               return "Cannot decompress gzipped backup (zlib package not installed)";
-
-       // get sql query according to gzip setting (either decompress, or not)
-       if($gzip)
-       {
-               // decompress and read
-               $gz_ptr = gzopen($backup_file_tmpname, 'rb');
-               $sql_query = "";
-               while( !gzeof($gz_ptr) )
-                       $sql_query .= gzgets($gz_ptr, 100000);
-       } else {
-               // just read
-               $fsize = filesize($backup_file_tmpname);
-               if ($fsize <= 0)
-                       $sql_query = '';
-               else
-                       $sql_query = fread(fopen($backup_file_tmpname, 'r'), $fsize);
-       }
-
-       // time to execute the query
-       _execute_queries($sql_query);
-}
-
-function _execute_queries($sql_query) {
-       if (!$sql_query) return;
-
-       // Strip out sql comments...
-       $sql_query = remove_remarks($sql_query);
-       $pieces = split_sql_file($sql_query);
-
-       $sql_count = count($pieces);
-       for($i = 0; $i < $sql_count; $i++)
-       {
-               $sql = trim($pieces[$i]);
-
-               if(!empty($sql) and $sql[0] != "#")
-               {
-                       // DEBUG
-//                     debug("Executing: " . htmlspecialchars($sql) . "\n");
-
-                       $result = mysql_query($sql);
-                       if (!$result) debug('SQL Error: ' . mysql_error());
-
-               }
-       }
-
-}
-
-//
-// remove_remarks will strip the sql comment lines out of an uploaded sql file
-//
-function remove_remarks($sql)
-{
-       $lines = explode("\n", $sql);
-
-       // try to keep mem. use down
-       $sql = "";
-
-       $linecount = count($lines);
-       $output = "";
-
-       for ($i = 0; $i < $linecount; $i++)
-       {
-               if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0))
-               {
-                       if ($lines[$i][0] != "#")
-                       {
-                               $output .= $lines[$i] . "\n";
-                       }
-                       else
-                       {
-                               $output .= "\n";
-                       }
-                       // Trading a bit of speed for lower mem. use here.
-                       $lines[$i] = "";
-               }
-       }
-
-       return $output;
-
-}
-
-
-//
-// split_sql_file will split an uploaded sql file into single sql statements.
-// Note: expects trim() to have already been run on $sql.
-//
-// taken from phpBB
-//
-function split_sql_file($sql)
-{
-       // Split up our string into "possible" SQL statements.
-       $tokens = explode( ";", $sql);
-
-       // try to save mem.
-       $sql = "";
-       $output = array();
-
-       // we don't actually care about the matches preg gives us.
-       $matches = array();
-
-       // this is faster than calling count($tokens) every time thru the loop.
-       $token_count = count($tokens);
-       for ($i = 0; $i < $token_count; $i++)
-       {
-               // Don't wanna add an empty string as the last thing in the array.
-               if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0)))
-               {
-
-                       // even number of quotes means a complete SQL statement
-                       if (_evenNumberOfQuotes($tokens[$i]))
-                       {
-                               $output[] = $tokens[$i];
-                               $tokens[$i] = "";       // save memory.
-                       }
-                       else
-                       {
-                               // incomplete sql statement. keep adding tokens until we have a complete one.
-                               // $temp will hold what we have so far.
-                               $temp = $tokens[$i] .  ";";
-                               $tokens[$i] = "";       // save memory..
-
-                               // Do we have a complete statement yet?
-                               $complete_stmt = false;
-
-                               for ($j = $i + 1; (!$complete_stmt && ($j < $token_count)); $j++)
-                               {
-                                       // odd number of quotes means a completed statement
-                                       // (in combination with the odd number we had already)
-                                       if (!_evenNumberOfQuotes($tokens[$j]))
-                                       {
-                                               $output[] = $temp . $tokens[$j];
-
-                                               // save memory.
-                                               $tokens[$j] = "";
-                                               $temp = "";
-
-                                               // exit the loop.
-                                               $complete_stmt = true;
-                                               // make sure the outer loop continues at the right point.
-                                               $i = $j;
-                                       }
-                                       else
-                                       {
-                                               // even number of unescaped quotes. We still don't have a complete statement.
-                                               // (1 odd and 1 even always make an odd)
-                                               $temp .= $tokens[$j] .  ";";
-                                               // save memory.
-                                               $tokens[$j] = "";
-                                       }
-
-                               } // for..
-                       } // else
-               }
-       }
-
-       return $output;
-}
-
-
-function _evenNumberOfQuotes($text) {
-               // This is the total number of single quotes in the token.
-               $total_quotes = preg_match_all("/'/", $text, $matches);
-               // Counts single quotes that are preceded by an odd number of backslashes,
-               // which means they're escaped quotes.
-               $escaped_quotes = preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/", $text, $matches);
-
-               $unescaped_quotes = $total_quotes - $escaped_quotes;
-//             debug($total_quotes . "-" . $escaped_quotes . "-" . $unescaped_quotes);
-               return (($unescaped_quotes % 2) == 0);
-}
-
-?>
diff --git a/euc/nucleus/libs/entity.php b/euc/nucleus/libs/entity.php
deleted file mode 100644 (file)
index 3411d7b..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-
-class entity {
-
-       function named_to_numeric ($string) {
-               $string = preg_replace('/(&[0-9A-Za-z]+)(;?\=?|([^A-Za-z0-9\;\:\.\-\_]))/e', "entity::_named('\\1', '\\2') . '\\3'", $string);
-               return $string; 
-       }
-       
-       function normalize_numeric ($string) {
-               global $_entities;
-               $string = preg_replace('/&#([0-9]+)(;)?/e', "'&#x'.dechex('\\1').';'", $string);
-               $string = preg_replace('/&#[Xx](0)*([0-9A-Fa-f]+)(;?|([^A-Za-z0-9\;\:\.\-\_]))/e', "'&#x' . strtoupper('\\2') . ';\\4'", $string);
-               $string = strtr($string, $_entities['cp1251']);
-               return $string;
-       }
-       function numeric_to_utf8 ($string) {
-               $string = preg_replace('/&#([0-9]+)(;)?/e', "'&#x'.dechex('\\1').';'", $string);
-               $string = preg_replace('/&#[Xx](0)*([0-9A-Fa-f]+)(;?|([^A-Za-z0-9\;\:\.\-\_]))/e', "'&#x' . strtoupper('\\2') . ';\\4'", $string);
-               $string = preg_replace('/&#x([0-9A-Fa-f]+);/e', "entity::_hex_to_utf8('\\1')", $string);                
-               return $string;         
-       }
-
-       function numeric_to_named ($string) {
-               global $_entities;
-               $string = preg_replace('/&#[Xx]([0-9A-Fa-f]+)/e', "'&#'.hexdec('\\1')", $string);
-               $string = strtr($string, array_flip($_entities['named']));
-               return $string; 
-       }
-       
-       function specialchars ($string, $type = 'xml') {
-               $apos = $type == 'xml' ? '&apos;' : '&#39;';
-               $specialchars = array (
-                       '&quot;'        => '&quot;',            '&amp;'         => '&amp;',             
-                       '&apos;'        => $apos,                       '&lt;'          => '&lt;',              
-                       '&gt;'          => '&gt;',                      '"'                     => '&quot;',
-                       '&'                     => '&amp;',                     "'"                     => $apos,
-                       '<'                     => '&lt;',                      '>'                     => '&gt;'
-               );
-       
-               $string = preg_replace('/&(#?[Xx]?[0-9A-Za-z]+);/', "[[[ENTITY:\\1]]]", $string);               
-               $string = strtr($string, $specialchars);
-               $string = preg_replace('/\[\[\[ENTITY\:([^\]]+)\]\]\]/', "&\\1;", $string);             
-               return $string;
-       }
-       
-
-       function _hex_to_utf8($s)
-       {
-               $c = hexdec($s);
-       
-               if ($c < 0x80) {
-                       $str = chr($c);
-               }
-               else if ($c < 0x800) {
-                       $str = chr(0xC0 | $c>>6) . chr(0x80 | $c & 0x3F);
-               }
-               else if ($c < 0x10000) {
-                       $str = chr(0xE0 | $c>>12) . chr(0x80 | $c>>6 & 0x3F) . chr(0x80 | $c & 0x3F);
-               }
-               else if ($c < 0x200000) {
-                       $str = chr(0xF0 | $c>>18) . chr(0x80 | $c>>12 & 0x3F) . chr(0x80 | $c>>6 & 0x3F) . chr(0x80 | $c & 0x3F);
-               }
-                               
-               return $str;
-       }               
-
-       function _named($entity, $extra) {
-               global $_entities;
-               
-               if ($extra == '=') return $entity . '=';
-               
-               $length = strlen($entity);
-
-               while ($length > 0) {
-                       $check = substr($entity, 0, $length);
-                       if (isset($_entities['named'][$check])) return $_entities['named'][$check] . ';' . substr($entity, $length);
-                       $length--;
-               }
-               
-               return $entity . ($extra == ';' ? ';' : '');
-       }
-}
-
-
-$_entities['cp1251'] = array (
-       '&#x80;'                => '&#x20AC;',  '&#x82;'                => '&#x201A;',  '&#x83;'                => '&#x192;',   
-       '&#x84;'                => '&#x201E;',  '&#x85;'                => '&#x2026;',  '&#x86;'                => '&#x2020;',  
-       '&#x87;'                => '&#x2021;',  '&#x88;'                => '&#x2C6;',   '&#x89;'                => '&#x2030;',  
-       '&#x8A;'                => '&#x160;',   '&#x8B;'                => '&#x2039;',  '&#x8C;'                => '&#x152;',   
-       '&#x8E;'                => '&#x17D;',   '&#x91;'                => '&#x2018;',  '&#x92;'                => '&#x2019;',  
-       '&#x93;'                => '&#x201C;',  '&#x94;'                => '&#x201D;',  '&#x95;'                => '&#x2022;',  
-       '&#x96;'                => '&#x2013;',  '&#x97;'                => '&#x2014;',  '&#x98;'                => '&#x2DC;',   
-       '&#x99;'                => '&#x2122;',  '&#x9A;'                => '&#x161;',   '&#x9B;'                => '&#x203A;',  
-       '&#x9C;'                => '&#x153;',   '&#x9E;'                => '&#x17E;',   '&#x9F;'                => '&#x178;',   
-);
-       
-$_entities['named'] = array (
-       '&nbsp'                 => '&#160',             '&iexcl'                => '&#161',             '&cent'                 => '&#162',     
-       '&pound'                => '&#163',             '&curren'               => '&#164',             '&yen'                  => '&#165',     
-       '&brvbar'               => '&#166',     '&sect'                 => '&#167',             '&uml'                  => '&#168',     
-       '&copy'                 => '&#169',             '&ordf'                 => '&#170',             '&laquo'                => '&#171',     
-       '&not'                  => '&#172',             '&shy'                  => '&#173',             '&reg'                  => '&#174',     
-       '&macr'                 => '&#175',             '&deg'                  => '&#176',             '&plusmn'               => '&#177',     
-       '&sup2'                 => '&#178',             '&sup3'                 => '&#179',     '&acute'                => '&#180',     
-       '&micro'                => '&#181',     '&para'                 => '&#182',             '&middot'               => '&#183',     
-       '&cedil'                => '&#184',     '&sup1'                 => '&#185',             '&ordm'                 => '&#186',     
-       '&raquo'                => '&#187',             '&frac14'               => '&#188',             '&frac12'               => '&#189',     
-       '&frac34'               => '&#190',             '&iquest'               => '&#191',             '&Agrave'               => '&#192',     
-       '&Aacute'               => '&#193',             '&Acirc'                => '&#194',             '&Atilde'               => '&#195',     
-       '&Auml'                 => '&#196',             '&Aring'                => '&#197',             '&AElig'                => '&#198',     
-       '&Ccedil'               => '&#199',     '&Egrave'               => '&#200',             '&Eacute'               => '&#201',     
-       '&Ecirc'                => '&#202',             '&Euml'                 => '&#203',             '&Igrave'               => '&#204',     
-       '&Iacute'               => '&#205',             '&Icirc'                => '&#206',             '&Iuml'                 => '&#207',     
-       '&ETH'                  => '&#208',             '&Ntilde'               => '&#209',             '&Ograve'               => '&#210',     
-       '&Oacute'               => '&#211',             '&Ocirc'                => '&#212',             '&Otilde'               => '&#213',     
-       '&Ouml'                 => '&#214',             '&times'                => '&#215',             '&Oslash'               => '&#216',     
-       '&Ugrave'               => '&#217',             '&Uacute'               => '&#218',             '&Ucirc'                => '&#219',     
-       '&Uuml'                 => '&#220',             '&Yacute'               => '&#221',             '&THORN'                => '&#222',     
-       '&szlig'                => '&#223',             '&agrave'               => '&#224',             '&aacute'               => '&#225',     
-       '&acirc'                => '&#226',             '&atilde'               => '&#227',             '&auml'                 => '&#228',     
-       '&aring'                => '&#229',             '&aelig'                => '&#230',             '&ccedil'               => '&#231',     
-       '&egrave'               => '&#232',             '&eacute'               => '&#233',             '&ecirc'                => '&#234',     
-       '&euml'                 => '&#235',             '&igrave'               => '&#236',             '&iacute'               => '&#237',     
-       '&icirc'                => '&#238',             '&iuml'                 => '&#239',             '&eth'                  => '&#240',     
-       '&ntilde'               => '&#241',             '&ograve'               => '&#242',             '&oacute'               => '&#243',     
-       '&ocirc'                => '&#244',             '&otilde'               => '&#245',             '&ouml'                 => '&#246',     
-       '&divide'               => '&#247',             '&oslash'               => '&#248',             '&ugrave'               => '&#249',     
-       '&uacute'               => '&#250',             '&ucirc'                => '&#251',             '&uuml'                 => '&#252',     
-       '&yacute'               => '&#253',             '&thorn'                => '&#254',             '&yuml'                 => '&#255',     
-       '&OElig'                => '&#338',             '&oelig'                => '&#229',             '&Scaron'               => '&#352',     
-       '&scaron'               => '&#353',             '&Yuml'                 => '&#376',             '&circ'                 => '&#710',     
-       '&tilde'                => '&#732',     '&esnp'                 => '&#8194',    '&emsp'                 => '&#8195',    
-       '&thinsp'               => '&#8201',    '&zwnj'                 => '&#8204',    '&zwj'                  => '&#8205',    
-       '&lrm'                  => '&#8206',    '&rlm'                  => '&#8207',    '&ndash'                => '&#8211',    
-       '&mdash'                => '&#8212',    '&lsquo'                => '&#8216',    '&rsquo'                => '&#8217',    
-       '&sbquo'                => '&#8218',    '&ldquo'                => '&#8220',    '&rdquo'                => '&#8221',    
-       '&bdquo'                => '&#8222',    '&dagger'               => '&#8224',    '&Dagger'               => '&#8225',    
-       '&permil'               => '&#8240',    '&lsaquo'               => '&#8249',    '&rsaquo'               => '&#8250',
-       '&euro'                 => '&#8364',    '&fnof'                 => '&#402',             '&Alpha'                => '&#913',     
-       '&Beta'                 => '&#914',             '&Gamma'                => '&#915',             '&Delta'                => '&#916',     
-       '&Epsilon'              => '&#917',             '&Zeta'                 => '&#918',             '&Eta'                  => '&#919',     
-       '&Theta'                => '&#920',             '&Iota'                 => '&#921',             '&Kappa'                => '&#922',     
-       '&Lambda'               => '&#923',             '&Mu'                   => '&#924',             '&Nu'                   => '&#925',     
-       '&Xi'                   => '&#926',             '&Omicron'              => '&#927',             '&Pi'                   => '&#928',     
-       '&Rho'                  => '&#929',             '&Sigma'                => '&#931',             '&Tau'                  => '&#932',     
-       '&Upsilon'              => '&#933',     '&Phi'                  => '&#934',             '&Chi'                  => '&#935',     
-       '&Psi'                  => '&#936',             '&Omega'                => '&#937',             '&alpha'                => '&#945',     
-       '&beta'                 => '&#946',             '&gamma'                => '&#947',             '&delta'                => '&#948',     
-       '&epsilon'              => '&#949',             '&zeta'                 => '&#950',             '&eta'                  => '&#951',     
-       '&theta'                => '&#952',             '&iota'                 => '&#953',             '&kappa'                => '&#954',     
-       '&lambda'               => '&#955',             '&mu'                   => '&#956',             '&nu'                   => '&#957',     
-       '&xi'                   => '&#958',             '&omicron'              => '&#959',             '&pi'                   => '&#960',     
-       '&rho'                  => '&#961',             '&sigmaf'               => '&#962',             '&sigma'                => '&#963',     
-       '&tau'                  => '&#964',             '&upsilon'              => '&#965',     '&phi'                  => '&#966',     
-       '&chi'                  => '&#967',             '&psi'                  => '&#968',             '&omega'                => '&#969',     
-       '&thetasym'             => '&#977',             '&upsih'                => '&#978',             '&piv'                  => '&#982',     
-       '&bull'                 => '&#8226',    '&hellip'               => '&#8230',    '&prime'                => '&#8242',    
-       '&Prime'                => '&#8243',    '&oline'                => '&#8254',    '&frasl'                => '&#8260',    
-       '&weierp'               => '&#8472',    '&image'                => '&#8465',    '&real'                 => '&#8476',    
-       '&trade'                => '&#8482',    '&alefsym'              => '&#8501',    '&larr'                 => '&#8592',    
-       '&uarr'                 => '&#8593',    '&rarr'                 => '&#8594',    '&darr'                 => '&#8595',    
-       '&harr'                 => '&#8596',    '&crarr'                => '&#8629',    '&lArr'                 => '&#8656',    
-       '&uArr'                 => '&#8657',    '&rArr'                 => '&#8658',    '&dArr'                 => '&#8659',    
-       '&hArr'                 => '&#8660',    '&forall'               => '&#8704',    '&part'                 => '&#8706',    
-       '&exist'                => '&#8707',    '&empty'                => '&#8709',    '&nabla'                => '&#8711',    
-       '&isin'                 => '&#8712',    '&notin'                => '&#8713',    '&ni'                   => '&#8715',    
-       '&prod'                 => '&#8719',    '&sum'                  => '&#8721',    '&minus'                => '&#8722',    
-       '&lowast'               => '&#8727',    '&radic'                => '&#8730',    '&prop'                 => '&#8733',    
-       '&infin'                => '&#8734',    '&ang'                  => '&#8736',    '&and'                  => '&#8743',    
-       '&or'                   => '&#8744',    '&cap'                  => '&#8745',    '&cup'                  => '&#8746',    
-       '&int'                  => '&#8747',    '&there4'               => '&#8756',    '&sim'                  => '&#8764',    
-       '&cong'                 => '&#8773',    '&asymp'                => '&#8776',    '&ne'                   => '&#8800',    
-       '&equiv'                => '&#8801',    '&le'                   => '&#8804',    '&ge'                   => '&#8805',    
-       '&sub'                  => '&#8834',    '&sup'                  => '&#8835',    '&nsub'                 => '&#8836',    
-       '&sube'                 => '&#8838',    '&supe'                 => '&#8839',    '&oplus'                => '&#8853',    
-       '&otimes'               => '&#8855',    '&perp'                 => '&#8869',    '&sdot'                 => '&#8901',    
-       '&lceil'                => '&#8968',    '&rceil'                => '&#8969',    '&lfloor'               => '&#8970',    
-       '&rfloor'               => '&#8971',    '&lang'                 => '&#9001',    '&rang'                 => '&#9002',    
-       '&loz'                  => '&#9674',    '&spades'               => '&#9824',    '&clubs'                => '&#9827',    
-       '&hearts'               => '&#9829',    '&diams'                => '&#9830',    
-);
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/globalfunctions.php b/euc/nucleus/libs/globalfunctions.php
deleted file mode 100755 (executable)
index d5772a8..0000000
+++ /dev/null
@@ -1,2063 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: globalfunctions.php,v 1.13 2007-04-09 23:20:52 kmorimatsu Exp $
- * $NucleusJP: globalfunctions.php,v 1.12 2007/04/06 22:08:56 kmorimatsu Exp $
- */
-
-// needed if we include globalfunctions from install.php
-global $nucleus, $CONF, $DIR_LIBS, $DIR_LANG, $manager, $member;
-
-//$nucleus['version'] = 'v3.3SVN';
-//$nucleus['codename'] = 'Lithium';
-$nucleus['version'] = 'v3.3';
-$nucleus['codename'] = '';
-
-checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', 'DIR_LANG', 'DIR_PLUGINS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES'));
-
-$CONF['debug'] = 0;
-if ($CONF['debug']) {
-       error_reporting(E_ALL); // report all errors!
-} else {
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-}
-
-// Avoid notices
-if (!isset($CONF['Self'])) {
-       $CONF['Self'] = $_SERVER['PHP_SELF'];
-}
-
-/*
-       Indicates when Nucleus should display startup errors. Set to 1 if you want
-       the error enabled (default), false otherwise
-
-       alertOnHeadersSent
-               Displays an error when visiting a public Nucleus page and headers have
-               been sent out to early. This usually indicates an error in either a
-               configuration file or a language file, and could cause Nucleus to
-               malfunction
-       alertOnSecurityRisk
-               Displays an error only when visiting the admin area, and when one or
-               more of the installation files (install.php, install.sql, upgrades/
-               directory) are still on the server.
-*/
-$CONF['alertOnHeadersSent'] = 1;
-$CONF['alertOnSecurityRisk'] = 1;
-$CONF['ItemURL'] = $CONF['Self'];
-$CONF['ArchiveURL'] = $CONF['Self'];
-$CONF['ArchiveListURL'] = $CONF['Self'];
-$CONF['MemberURL'] = $CONF['Self'];
-$CONF['SearchURL'] = $CONF['Self'];
-$CONF['BlogURL'] = $CONF['Self'];
-$CONF['CategoryURL'] = $CONF['Self'];
-
-// switch URLMode back to normal when $CONF['Self'] ends in .php
-// this avoids urls like index.php/item/13/index.php/item/15
-if (!isset($CONF['URLMode']) || (($CONF['URLMode'] == 'pathinfo') && (substr($CONF['Self'], strlen($CONF['Self']) - 4) == '.php'))) {
-       $CONF['URLMode'] = 'normal';
-}
-
-if (getNucleusPatchLevel() > 0) {
-       $nucleus['version'] .= '/' . getNucleusPatchLevel();
-}
-
-// Avoid notices
-if (!isset($CONF['installscript'])) {
-       $CONF['installscript'] = 0;
-}
-
-// we will use postVar, getVar, ... methods instead of HTTP_GET_VARS or _GET
-if ($CONF['installscript'] != 1) { // vars were already included in install.php
-       if (phpversion() >= '4.1.0') {
-               include_once($DIR_LIBS . 'vars4.1.0.php');
-       } else {
-               include_once($DIR_LIBS . 'vars4.0.6.php');
-       }
-}
-
-// sanitize option
-$bLoggingSanitizedResult=0;
-$bSanitizeAndContinue=0;
-
-$orgRequestURI = serverVar('REQUEST_URI');
-sanitizeParams();
-
-// get all variables that can come from the request and put them in the global scope
-$blogid        = requestVar('blogid');
-$itemid        = intRequestVar('itemid');
-$catid = intRequestVar('catid');
-$skinid        = requestVar('skinid');
-$memberid = requestVar('memberid');
-$archivelist = requestVar('archivelist');
-$imagepopup = requestVar('imagepopup');
-$archive = requestVar('archive');
-$query = requestVar('query');
-$highlight = requestVar('highlight');
-$amount = requestVar('amount');
-$action = requestVar('action');
-$nextaction = requestVar('nextaction');
-$maxresults = requestVar('maxresults');
-$startpos = intRequestVar('startpos');
-$errormessage = '';
-$error = '';
-$virtualpath = ((getVar('virtualpath') != null) ? getVar('virtualpath') : serverVar('PATH_INFO'));
-
-if (!headers_sent() ) {
-       header('Generator: Nucleus CMS ' . $nucleus['version']);
-}
-
-// include core classes that are needed for login & plugin handling
-include($DIR_LIBS . 'mysql.php');
-include($DIR_LIBS . 'MEMBER.php');
-include($DIR_LIBS . 'ACTIONLOG.php');
-include($DIR_LIBS . 'MANAGER.php');
-include($DIR_LIBS . 'PLUGIN.php');
-
-$manager =& MANAGER::instance();
-
-// make sure there's no unnecessary escaping:
-set_magic_quotes_runtime(0);
-
-// Avoid notices
-if (!isset($CONF['UsingAdminArea'])) {
-       $CONF['UsingAdminArea'] = 0;
-}
-
-// only needed when updating logs
-if ($CONF['UsingAdminArea']) {
-       include($DIR_LIBS . 'xmlrpc.inc.php');  // XML-RPC client classes
-       include_once($DIR_LIBS . 'ADMIN.php');
-}
-
-// connect to database
-sql_connect();
-$SQLCount = 0;
-
-// logs sanitized result if need
-if ($orgRequestURI!==serverVar('REQUEST_URI')) {
-       $msg = "Sanitized [" . serverVar('REMOTE_ADDR') . "] ";
-       $msg .= $orgRequestURI . " -> " . serverVar('REQUEST_URI');
-    if ($bLoggingSanitizedResult) {
-        addToLog(WARNING, $msg);
-    }
-    if (!$bSanitizeAndContinue) {
-        die("");
-    }
-}
-
-// makes sure database connection gets closed on script termination
-register_shutdown_function('sql_disconnect');
-
-// read config
-getConfig();
-
-// automatically use simpler toolbar for mozilla
-if (($CONF['DisableJsTools'] == 0) && strstr(serverVar('HTTP_USER_AGENT'), 'Mozilla/5.0') && strstr(serverVar('HTTP_USER_AGENT'), 'Gecko') ) {
-       $CONF['DisableJsTools'] = 2;
-}
-
-// login if cookies set
-$member = new MEMBER();
-
-// secure cookie key settings (either 'none', 0, 8, 16, 24, or 32)
-if (!isset($CONF['secureCookieKey'])) $CONF['secureCookieKey']=24;
-switch($CONF['secureCookieKey']){
-case 8:
-       $CONF['secureCookieKeyIP']=preg_replace('/\.[0-9]+\.[0-9]+\.[0-9]+$/','',serverVar('REMOTE_ADDR'));
-       break;
-case 16:
-       $CONF['secureCookieKeyIP']=preg_replace('/\.[0-9]+\.[0-9]+$/','',serverVar('REMOTE_ADDR'));
-       break;
-case 24:
-       $CONF['secureCookieKeyIP']=preg_replace('/\.[0-9]+$/','',serverVar('REMOTE_ADDR'));
-       break;
-case 32:
-       $CONF['secureCookieKeyIP']=serverVar('REMOTE_ADDR');
-       break;
-default:
-       $CONF['secureCookieKeyIP']='';
-}
-
-// login/logout when required or renew cookies
-if ($action == 'login') {
-       // Form Authentication
-       $login = postVar('login');
-       $pw = postVar('password');
-       $shared = intPostVar('shared'); // shared computer or not
-       
-       $pw=substr($pw,0,40); // avoid md5 collision by using a long key
-
-       if ($member->login($login, $pw) ) {
-
-               $member->newCookieKey();
-               $member->setCookies($shared);
-
-               if ($CONF['secureCookieKey']!=='none') {
-                       // secure cookie key
-                       $member->setCookieKey(md5($member->getCookieKey().$CONF['secureCookieKeyIP']));
-                       $member->write();
-               }
-
-               // allows direct access to parts of the admin area after logging in
-               if ($nextaction) {
-                       $action = $nextaction;
-               }
-
-               $manager->notify('LoginSuccess', array('member' => &$member) );
-               $errormessage = '';
-               ACTIONLOG::add(INFO, "Login successful for $login (sharedpc=$shared)");
-       } else {
-               // errormessage for [%errordiv%]
-               $errormessage = 'Login failed for ' . $login;
-
-               $manager->notify('LoginFailed', array('username' => $login) );
-               ACTIONLOG::add(INFO, $errormessage);
-       }
-/*
-
-Backed out for now: See http://forum.nucleuscms.org/viewtopic.php?t=3684 for details
-
-} elseif (serverVar('PHP_AUTH_USER') && serverVar('PHP_AUTH_PW')) {
-       // HTTP Authentication
-       $login  = serverVar('PHP_AUTH_USER');
-       $pw     = serverVar('PHP_AUTH_PW');
-
-       if ($member->login($login, $pw) ) {
-               $manager->notify('LoginSuccess',array('member' => &$member));
-               ACTIONLOG::add(INFO, "HTTP authentication successful for $login");
-       } else {
-               $manager->notify('LoginFailed',array('username' => $login));
-               ACTIONLOG::add(INFO, 'HTTP authentication failed for ' . $login);
-
-               //Since bad credentials, generate an apropriate error page
-               header("WWW-Authenticate: Basic realm=\"Nucleus CMS {$nucleus['version']}\"");
-               header('HTTP/1.0 401 Unauthorized');
-               echo 'Invalid username or password';
-               exit;
-       }
-*/
-
-} elseif (($action == 'logout') && (!headers_sent() ) && cookieVar($CONF['CookiePrefix'] . 'user') ) {
-       // remove cookies on logout
-       setcookie($CONF['CookiePrefix'] . 'user', '', (time() - 2592000), $CONF['CookiePath'], $CONF['CookieDomain'], $CONF['CookieSecure']);
-       setcookie($CONF['CookiePrefix'] . 'loginkey', '', (time() - 2592000), $CONF['CookiePath'], $CONF['CookieDomain'], $CONF['CookieSecure']);
-       $manager->notify('Logout', array('username' => cookieVar($CONF['CookiePrefix'] . 'user') ) );
-} elseif (cookieVar($CONF['CookiePrefix'] . 'user') ) {
-       // Cookie Authentication
-       $ck=cookieVar($CONF['CookiePrefix'] . 'loginkey');
-       // secure cookie key
-       $ck=substr($ck,0,32); // avoid md5 collision by using a long key
-       if ($CONF['secureCookieKey']!=='none') $ck=md5($ck.$CONF['secureCookieKeyIP']);
-       $res = $member->cookielogin(cookieVar($CONF['CookiePrefix'] . 'user'), $ck );
-       unset($ck);
-
-       // renew cookies when not on a shared computer
-       if ($res && (cookieVar($CONF['CookiePrefix'] . 'sharedpc') != 1) && (!headers_sent() ) ) {
-               $member->setCookieKey(cookieVar($CONF['CookiePrefix'] . 'loginkey'));
-               $member->setCookies();
-       }
-}
-
-// login completed
-$manager->notify('PostAuthentication', array('loggedIn' => $member->isLoggedIn() ) );
-ticketForPlugin();
-
-// first, let's see if the site is disabled or not. always allow admin area access.
-if ($CONF['DisableSite'] && !$member->isAdmin() && !$CONF['UsingAdminArea']) {
-       redirect($CONF['DisableSiteURL']);
-       exit;
-}
-
-// load other classes
-include($DIR_LIBS . 'PARSER.php');
-include($DIR_LIBS . 'SKIN.php');
-include($DIR_LIBS . 'TEMPLATE.php');
-include($DIR_LIBS . 'BLOG.php');
-include($DIR_LIBS . 'BODYACTIONS.php');
-include($DIR_LIBS . 'COMMENTS.php');
-include($DIR_LIBS . 'COMMENT.php');
-//include($DIR_LIBS . 'ITEM.php');
-include($DIR_LIBS . 'NOTIFICATION.php');
-include($DIR_LIBS . 'BAN.php');
-include($DIR_LIBS . 'PAGEFACTORY.php');
-include($DIR_LIBS . 'SEARCH.php');
-include($DIR_LIBS . 'entity.php');
-
-
-// set lastVisit cookie (if allowed)
-if (!headers_sent() ) {
-       if ($CONF['LastVisit']) {
-               setcookie($CONF['CookiePrefix'] . 'lastVisit', time(), time() + 2592000, $CONF['CookiePath'], $CONF['CookieDomain'], $CONF['CookieSecure']);
-       } else {
-               setcookie($CONF['CookiePrefix'] . 'lastVisit', '', (time() - 2592000), $CONF['CookiePath'], $CONF['CookieDomain'], $CONF['CookieSecure']);
-       }
-}
-
-// read language file, only after user has been initialized
-$language = getLanguageName();
-include($DIR_LANG . ereg_replace( '[\\|/]', '', $language) . '.php');
-
-// check if valid charset\r
-if (!encoding_check(false,false,_CHARSET)) {\r
-       foreach(array($_REQUEST, $_SERVER) as $input) {\r
-               array_walk($input, 'encoding_check');\r
-       }\r
-}\r
-\r
-/*
-       Backed out for now: See http://forum.nucleuscms.org/viewtopic.php?t=3684 for details
-
-// To remove after v2.5 is released and language files have been updated.
-// Including this makes sure that language files for v2.5beta can still be used for v2.5final
-// without having weird _SETTINGS_EXTAUTH string showing up in the admin area.
-if (!defined('_MEMBERS_BYPASS'))
-{
-       define('_SETTINGS_EXTAUTH',                     'Enable External Authentication');
-       define('_WARNING_EXTAUTH',                      'Warning: Enable only if needed.');
-       define('_MEMBERS_BYPASS',                       'Use External Authentication');
-}
-
-*/
-
-// make sure the archivetype skinvar keeps working when _ARCHIVETYPE_XXX not defined
-if (!defined('_ARCHIVETYPE_MONTH') ) {
-       define('_ARCHIVETYPE_DAY', 'day');
-       define('_ARCHIVETYPE_MONTH', 'month');
-}
-
-// decode path_info
-if ($CONF['URLMode'] == 'pathinfo') {
-       // initialize keywords if this hasn't been done before
-       if ($CONF['ItemKey'] == '') {
-               $CONF['ItemKey'] = 'item';
-       }
-
-       if ($CONF['ArchiveKey'] == '') {
-               $CONF['ArchiveKey'] = 'archive';
-       }
-
-       if ($CONF['ArchivesKey'] == '') {
-               $CONF['ArchivesKey'] = 'archives';
-       }
-
-       if ($CONF['MemberKey'] == '') {
-               $CONF['MemberKey'] = 'member';
-       }
-
-       if ($CONF['BlogKey'] == '') {
-               $CONF['BlogKey'] = 'blog';
-       }
-
-       if ($CONF['CategoryKey'] == '') {
-               $CONF['CategoryKey'] = 'category';
-       }
-
-       if ($CONF['SpecialskinKey'] == '') {
-               $CONF['SpecialskinKey'] = 'special';
-       }
-
-       $parsed = false;
-       $manager->notify(
-               'ParseURL',
-               array(
-                       'type' => basename(serverVar('SCRIPT_NAME') ), // e.g. item, blog, ...
-                       'info' => $virtualpath,
-                       'complete' => &$parsed
-               )
-       );
-
-       if (!$parsed) {
-               // default implementation
-               $data = explode("/", $virtualpath );
-               for ($i = 0; $i < sizeof($data); $i++) {
-                       switch ($data[$i]) {
-                               case $CONF['ItemKey']: // item/1 (blogid)
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $itemid = intval($data[$i]);
-                                       }
-                                       break;
-
-                               case $CONF['ArchivesKey']: // archives/1 (blogid)
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $archivelist = intval($data[$i]);
-                                       }
-                                       break;
-
-                               case $CONF['ArchiveKey']: // two possibilities: archive/yyyy-mm or archive/1/yyyy-mm (with blogid)
-                                       if ((($i + 1) < sizeof($data) ) && (!strstr($data[$i + 1], '-') ) ) {
-                                               $blogid = intval($data[++$i]);
-                                       }
-
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $archive = $data[$i];
-                                       }
-                                       break;
-
-                               case 'blogid': // blogid/1
-                               case $CONF['BlogKey']: // blog/1
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $blogid = intval($data[$i]);
-                                       }
-                                       break;
-
-                               case $CONF['CategoryKey']: // category/1 (catid)
-                               case 'catid':
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $catid = intval($data[$i]);
-                                       }
-                                       break;
-
-                               case $CONF['MemberKey']:
-                                       $i++;
-
-                                       if ($i < sizeof($data) ) {
-                                               $memberid = intval($data[$i]);
-                                       }
-                                       break;
-
-                case $CONF['SpecialskinKey']:
-                    $i++;
-
-                                       if ($i < sizeof($data) ) {
-                       $_REQUEST['special'] = $data[$i];
-                    }
-                    break;
-
-                               default:
-                                       // skip...
-                       }
-               }
-       }
-}
-
-function intPostVar($name) {
-       return intval(postVar($name) );
-}
-
-function intGetVar($name) {
-       return intval(getVar($name) );
-}
-
-function intRequestVar($name) {
-       return intval(requestVar($name) );
-}
-
-function intCookieVar($name) {
-       return intval(cookieVar($name) );
-}
-
-/**
-  * returns the currently used version (100 = 1.00, 101 = 1.01, etc...)
-  */
-function getNucleusVersion() {
-       return 330;
-}
-
-/**
- * power users can install patches in between nucleus releases. These patches
- * usually add new functionality in the plugin API and allow those to
- * be tested without having to install CVS.
- */
-function getNucleusPatchLevel() {
-       return 0;
-}
-
-/**
-  * Connects to mysql server
-  */
-function sql_connect() {
-       global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN;
-
-       $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>', 'Connect Error');
-       mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Could not select database: ' . mysql_error() . '</p>', 'Connect Error');
-
-       return $MYSQL_CONN;
-}
-
-/**
- * returns a prefixed nucleus table name
- */
-function sql_table($name) {
-       global $MYSQL_PREFIX;
-
-       if ($MYSQL_PREFIX) {
-               return $MYSQL_PREFIX . 'nucleus_' . $name;
-       } else {
-               return 'nucleus_' . $name;
-       }
-}
-
-function sendContentType($contenttype, $pagetype = '', $charset = _CHARSET) {
-       global $manager, $CONF;
-
-       if (!headers_sent() ) {
-               // if content type is application/xhtml+xml, only send it to browsers
-               // that can handle it (IE6 cannot). Otherwise, send text/html
-
-               // v2.5: For admin area pages, keep sending text/html (unless it's a debug version)
-               //       application/xhtml+xml still causes too much problems with the javascript implementations
-
-               // v3.3: ($CONF['UsingAdminArea'] && !$CONF['debug']) gets removed,
-               //       application/xhtml+xml seems to be working, so we're going to use it if we can.
-               //
-               // Note: reverted the following function in JP version
-               //
-       /*
-               // v3.3 code
-               if (
-                               ($contenttype == 'application/xhtml+xml')
-                       &&      (!stristr(serverVar('HTTP_ACCEPT'), 'application/xhtml+xml') )
-                       ) {
-                       $contenttype = 'text/html';
-               }
-       */
-               // v3.2x code
-               if (
-                               ($contenttype == 'application/xhtml+xml')
-                       &&      (($CONF['UsingAdminArea'] && !$CONF['debug']) || !stristr(serverVar('HTTP_ACCEPT'),'application/xhtml+xml'))
-                       )
-               {
-                       $contenttype = 'text/html';
-               }
-
-               $manager->notify(
-                       'PreSendContentType',
-                       array(
-                               'contentType' => &$contenttype,
-                               'charset' => &$charset,
-                               'pageType' => $pagetype
-                       )
-               );
-
-               // strip strange characters
-               $contenttype = preg_replace('|[^a-z0-9-+./]|i', '', $contenttype);
-               $charset = preg_replace('|[^a-z0-9-_]|i', '', $charset);
-
-               if ($charset != '') {
-                       header('Content-Type: ' . $contenttype . '; charset=' . $charset);
-               } else {
-                       header('Content-Type: ' . $contenttype);
-               }
-\r
-               // check if valid charset\r
-               if (!encoding_check(false,false,$charset)) {\r
-                       foreach(array($_REQUEST, $_SERVER) as $input) {\r
-                               array_walk($input, 'encoding_check');\r
-                       }\r
-               }\r
-       }
-}
-
-/**
- * Errors before the database connection has been made
- */
-function startUpError($msg, $title) {
-       if (!defined('_CHARSET')) define('_CHARSET','iso-8859-1');\r
-       header('Content-Type: text/html; charset=' . _CHARSET);\r
-       ?>
-       <html xmlns="http://www.w3.org/1999/xhtml">
-               <head><meta http-equiv="Content-Type" content="text/html; charset=<?php echo _CHARSET?>" />\r
-               <title><?php echo htmlspecialchars($title)?></title></head>
-               <body>
-                       <h1><?php echo htmlspecialchars($title)?></h1>
-                       <?php echo $msg?>
-               </body>
-       </html>
-       <?php   exit;
-}
-
-/**
-  * disconnects from SQL server
-  */
-function sql_disconnect() {
-       @mysql_close();
-}
-
-/**
-  * executes an SQL query
-  */
-function sql_query($query) {
-       global $SQLCount;
-       $SQLCount++;
-       $res = mysql_query($query) or print("mySQL error with query $query: " . mysql_error() . '<p />');
-       return $res;
-}
-
-
-/**
- * Highlights a specific query in a given HTML text (not within HTML tags) and returns it
- *
- * @param $text
- *             text to be highlighted
- * @param $expression
- *             regular expression to be matched (can be an array of expressions as well)
- * @param $highlight
- *             highlight to be used (use \\0 to indicate the matched expression)
- *
- */
-function highlight($text, $expression, $highlight) {
-       if (!$highlight || !$expression) {
-               return $text;
-       }
-
-       if (is_array($expression) && (count($expression) == 0) ) {
-               return $text;
-       }
-
-       // add a tag in front (is needed for preg_match_all to work correct)
-       $text = '<!--h-->' . $text;
-
-       // split the HTML up so we have HTML tags
-       // $matches[0][i] = HTML + text
-       // $matches[1][i] = HTML
-       // $matches[2][i] = text
-       preg_match_all('/(<[^>]+>)([^<>]*)/', $text, $matches);
-
-       // throw it all together again while applying the highlight to the text pieces
-       $result = '';
-       for ($i = 0; $i < sizeof($matches[2]); $i++) {
-               if ($i != 0) {
-                       $result .= $matches[1][$i];
-               }
-
-               if (is_array($expression) ) {
-                       foreach ($expression as $regex) {
-                               if ($regex) {
-                                       $matches[2][$i] = @eregi_replace($regex, $highlight, $matches[2][$i]);
-                               }
-                       }
-
-                       $result .= $matches[2][$i];
-               } else {
-                       $result .= @eregi_replace($expression, $highlight, $matches[2][$i]);
-               }
-       }
-
-       return $result;
-}
-
-/**
- * Parses a query into an array of expressions that can be passed on to the highlight method
- */
-function parseHighlight($query) {
-       // TODO: add more intelligent splitting logic
-
-       // get rid of quotes
-       $query = preg_replace('/\'|"/', '', $query);
-
-       if (!query) {
-               return array();
-       }
-
-       $aHighlight = explode(' ', $query);
-
-       for ($i = 0; $i < count($aHighlight); $i++) {
-               $aHighlight[$i] = trim($aHighlight[$i]);
-
-               if (strlen($aHighlight[$i]) < 3) {
-                       unset($aHighlight[$i]);
-               }
-       }
-
-       if (count($aHighlight) == 1) {
-               return $aHighlight[0];
-       } else {
-               return $aHighlight;
-       }
-}
-
-/**
-  * Checks if email address is valid
-  */
-function isValidMailAddress($address) {
-       if (preg_match('/^[a-zA-Z+0-9\._-]+@[a-zA-Z0-9\._-]+\.[A-Za-z]{2,5}$/', $address)) {
-               return 1;
-       } else {
-               return 0;
-       }
-}
-
-
-// some helper functions
-function getBlogIDFromName($name) {
-       return quickQuery('SELECT bnumber as result FROM ' . sql_table('blog') . ' WHERE bshortname="' . addslashes($name) . '"');
-}
-
-function getBlogNameFromID($id) {
-       return quickQuery('SELECT bname as result FROM ' . sql_table('blog') . ' WHERE bnumber=' . intval($id) );
-}
-
-function getBlogIDFromItemID($itemid) {
-       return quickQuery('SELECT iblog as result FROM ' . sql_table('item') . ' WHERE inumber=' . intval($itemid) );
-}
-
-function getBlogIDFromCommentID($commentid) {
-       return quickQuery('SELECT cblog as result FROM ' . sql_table('comment') . ' WHERE cnumber=' . intval($commentid) );
-}
-
-function getBlogIDFromCatID($catid) {
-       return quickQuery('SELECT cblog as result FROM ' . sql_table('category') . ' WHERE catid=' . intval($catid) );
-}
-
-function getCatIDFromName($name) {
-       return quickQuery('SELECT catid as result FROM ' . sql_table('category') . ' WHERE cname="' . addslashes($name) . '"');
-}
-
-function quickQuery($q) {
-       $res = sql_query($q);
-       $obj = mysql_fetch_object($res);
-       return $obj->result;
-}
-
-function getPluginNameFromPid($pid) {
-       $res = sql_query('SELECT pfile FROM ' . sql_table('plugin') . ' WHERE pid=' . intval($pid) );
-       $obj = mysql_fetch_object($res);
-       return $obj->pfile;
-}
-
-function selector() {
-       global $itemid, $blogid, $memberid, $query, $amount, $archivelist, $maxresults;
-       global $archive, $skinid, $blog, $memberinfo, $CONF, $member;
-       global $imagepopup, $catid;
-       global $manager;
-
-       $actionNames = array('addcomment', 'sendmessage', 'createaccount', 'forgotpassword', 'votepositive', 'votenegative', 'plugin');
-       $action = requestVar('action');
-
-       if (in_array($action, $actionNames) ) {
-               global $DIR_LIBS, $errormessage;
-               include_once($DIR_LIBS . 'ACTION.php');
-               $a = new ACTION();
-               $errorInfo = $a->doAction($action);
-
-               if ($errorInfo) {
-                       $errormessage = $errorInfo['message'];
-               }
-       }
-
-       // show error when headers already sent out
-       if (headers_sent() && $CONF['alertOnHeadersSent']) {
-
-               // try to get line number/filename (extra headers_sent params only exists in PHP 4.3+)
-               if (function_exists('version_compare') && version_compare('4.3.0', phpversion(), '<=') ) {
-                       headers_sent($hsFile, $hsLine);
-                       $extraInfo = ' in <code>' . $hsFile . '</code> line <code>' . $hsLine . '</code>';
-               } else {
-                       $extraInfo = '';
-               }
-
-               startUpError(
-                       '<p>The page headers have already been sent out' . $extraInfo . '. This could cause Nucleus not to work in the expected way.</p><p>Usually, this is caused by spaces or newlines at the end of the <code>config.php</code> file, at the end of the language file or at the end of a plugin file. Please check this and try again.</p><p>If you don\'t want to see this error message again, without solving the problem, set <code>$CONF[\'alertOnHeadersSent\']</code> in <code>globalfunctions.php</code> to <code>0</code></p>',
-                       'Page headers already sent'
-               );
-               exit;
-       }
-
-       // make is so ?archivelist without blogname or blogid shows the archivelist
-       // for the default weblog
-       if (serverVar('QUERY_STRING') == 'archivelist') {
-               $archivelist = $CONF['DefaultBlog'];
-       }
-
-       // now decide which type of skin we need
-       if ($itemid) {
-               // itemid given -> only show that item
-               $type = 'item';
-
-               if (!$manager->existsItem($itemid,0,0) ) {
-                       doError(_ERROR_NOSUCHITEM);
-               }
-
-               global $itemidprev, $itemidnext, $catid, $itemtitlenext, $itemtitleprev;
-
-               // 1. get timestamp, blogid and catid for item
-               $query = 'SELECT itime, iblog, icat FROM ' . sql_table('item') . ' WHERE inumber=' . intval($itemid);
-               $res = sql_query($query);
-               $obj = mysql_fetch_object($res);
-
-               // if a different blog id has been set through the request or selectBlog(),
-               // deny access
-//             if ($blogid && (intval($blogid) != $obj->iblog) ) {
-//                     doError(_ERROR_NOSUCHITEM);
-//             }
-               if ($blogid && (intval($blogid) != $obj->iblog)) {
-                       if (!headers_sent()) {
-                               $b =& $manager->getBlog($obj->iblog);
-                               $CONF['ItemURL'] = $b->getURL();
-                               if ($CONF['URLMode'] == 'pathinfo' and substr($CONF['ItemURL'],-1) == '/')
-                                       $CONF['ItemURL'] = substr($CONF['ItemURL'], 0, -1);
-                               $correctURL = createItemLink($itemid, '');
-                               redirect($correctURL);
-                               exit;
-                       } else {
-                               doError(_ERROR_NOSUCHITEM);
-                       }
-               }
-
-               // if a category has been selected which doesn't match the item, ignore the
-               // category. #85
-               if (($catid != 0) && ($catid != $obj->icat) ) {
-                       $catid = 0;
-               }
-
-               $blogid = $obj->iblog;
-               $timestamp = strtotime($obj->itime);
-
-               $b =& $manager->getBlog($blogid);
-
-               if ($b->isValidCategory($catid) ) {
-                       $catextra = ' and icat=' . $catid;
-               }
-
-               // get previous itemid and title
-               $query = 'SELECT inumber, ititle FROM ' . sql_table('item') . ' WHERE itime<' . mysqldate($timestamp) . ' and idraft=0 and iblog=' . $blogid . $catextra . ' ORDER BY itime DESC LIMIT 1';
-               $res = sql_query($query);
-
-               $obj = mysql_fetch_object($res);
-
-               if ($obj) {
-                       $itemidprev = $obj->inumber;
-                       $itemtitleprev = $obj->ititle;
-               }
-
-               // get next itemid and title
-               $query = 'SELECT inumber, ititle FROM ' . sql_table('item') . ' WHERE itime>' . mysqldate($timestamp) . ' and itime <= ' . mysqldate($b->getCorrectTime()) . ' and idraft=0 and iblog=' . $blogid . $catextra . ' ORDER BY itime ASC LIMIT 1';
-               $res = sql_query($query);
-
-               $obj = mysql_fetch_object($res);
-
-               if ($obj) {
-                       $itemidnext = $obj->inumber;
-                       $itemtitlenext = $obj->ititle;
-               }
-
-       } elseif ($archive) {
-               // show archive
-               $type = 'archive';
-
-               // get next and prev month links ...
-               global $archivenext, $archiveprev, $archivetype, $archivenextexists, $archiveprevexists;
-
-               // sql queries for the timestamp of the first and the last published item
-               $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM ".sql_table('item')." WHERE idraft=0 ORDER BY itime ASC";
-               $first_timestamp=quickQuery ($query); 
-               $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM ".sql_table('item')." WHERE idraft=0 ORDER BY itime DESC";
-               $last_timestamp=quickQuery ($query); 
-
-               sscanf($archive, '%d-%d-%d', $y, $m, $d);
-
-               if ($d != 0) {
-                       $archivetype = _ARCHIVETYPE_DAY;
-                       $t = mktime(0, 0, 0, $m, $d, $y);
-
-                       $archiveprev = strftime('%Y-%m-%d', $t - (24 * 60 * 60) );
-                       // check for published items                    
-                       if ($t > $first_timestamp) {
-                               $archiveprevexists = true;
-                       }
-                       else {
-                               $archiveprevexists = false;
-                       }
-
-                       // one day later
-//                     $t += 86400; 
-//                     $archivenext = strftime('%Y-%m-%d', $t);
-                       $archivenext = strftime('%Y-%m-%d', $t + (24 * 60 * 60) );
-                       if ($t + (24 * 60 * 60) < $last_timestamp) {
-                               $archivenextexists = true;
-                       }
-                       else {
-                               $archivenextexists = false;
-                       }
-
-               } else {
-                       $archivetype = _ARCHIVETYPE_MONTH;
-                       $t = mktime(0, 0, 0, $m, 1, $y);
-
-                       $archiveprev = strftime('%Y-%m', $t - (1 * 24 * 60 * 60) );
-                       if ($t > $first_timestamp) {
-                               $archiveprevexists = true;
-                       }
-                       else {
-                               $archiveprevexists = false;
-                       }
-
-//                     $archivenext = strftime('%Y-%m', $t + (32 * 24 * 60 * 60) );
-                       // timestamp for the next month                 
-                       $t = mktime(0, 0, 0, $m+1, 1, $y);
-                       $archivenext = strftime('%Y-%m', $t);
-                       if ($t < $last_timestamp) {
-                               $archivenextexists = true;
-                       }
-                       else {
-                               $archivenextexists = false;
-                       }
-               }
-
-       } elseif ($archivelist) {
-               $type = 'archivelist';
-
-               if (is_numeric($archivelist)) {
-                       $blogid = intVal($archivelist);
-               } else {
-                       $blogid = getBlogIDFromName($archivelist);
-               }
-
-               if (!$blogid) {
-                       doError(_ERROR_NOSUCHBLOG);
-               }
-
-       } elseif ($query) {
-               global $startpos;
-               $type = 'search';
-               $query = stripslashes($query);
-               if(preg_match("/^(\xA1{2}|\xe3\x80{2}|\x20)+$/",$query)){
-                                       $type = 'index';
-               }
-               $order = (_CHARSET == 'EUC-JP') ? 'EUC-JP, UTF-8,' : 'UTF-8, EUC-JP,';
-               $query = mb_convert_encoding($query, _CHARSET, $order.' JIS, SJIS, ASCII');
-               if (is_numeric($blogid)) {
-                       $blogid = intVal($blogid);
-               } else {
-                       $blogid = getBlogIDFromName($blogid);
-               }
-
-               if (!$blogid) {
-                       doError(_ERROR_NOSUCHBLOG);
-               }
-
-       } elseif ($memberid) {
-               $type = 'member';
-
-               if (!MEMBER::existsID($memberid) ) {
-                       doError(_ERROR_NOSUCHMEMBER);
-               }
-
-               $memberinfo = $manager->getMember($memberid);
-
-       } elseif ($imagepopup) {
-               // media object (images etc.)
-               $type = 'imagepopup';
-
-               // TODO: check if media-object exists
-               // TODO: set some vars?
-       } else {
-               // show regular index page
-               global $startpos;
-               $type = 'index';
-       }
-
-       // decide which blog should be displayed
-       if (!$blogid) {
-               $blogid = $CONF['DefaultBlog'];
-       }
-
-       $b =& $manager->getBlog($blogid);
-       $blog = $b;     // references can't be placed in global variables?
-
-       if (!$blog->isValid) {
-               doError(_ERROR_NOSUCHBLOG);
-       }
-
-       // set catid if necessary
-       if ($catid) {
-               $blog->setSelectedCategory($catid);
-       }
-
-       // decide which skin should be used
-       if ($skinid != '' && ($skinid == 0) ) {
-               selectSkin($skinid);
-       }
-
-       if (!$skinid) {
-               $skinid = $blog->getDefaultSkin();
-       }
-
-       $special = requestVar('special');
-       if (!empty($special) && isValidShortName($special)) {
-               $type = strtolower($special);
-       }
-
-       $skin = new SKIN($skinid);
-
-       if (!$skin->isValid) {
-               doError(_ERROR_NOSUCHSKIN);
-       }
-
-       // parse the skin
-       $skin->parse($type);
-}
-
-/**
-  * Show error skin with given message. An optional skin-object to use can be given
-  */
-function doError($msg, $skin = '') {
-       global $errormessage, $CONF, $skinid, $blogid, $manager;
-
-       if ($skin == '') {
-
-               if (SKIN::existsID($skinid) ) {
-                       $skin = new SKIN($skinid);
-               } elseif ($manager->existsBlogID($blogid) ) {
-                       $blog =& $manager->getBlog($blogid);
-                       $skin = new SKIN($blog->getDefaultSkin() );
-               } elseif ($CONF['DefaultBlog']) {
-                       $blog =& $manager->getBlog($CONF['DefaultBlog']);
-                       $skin = new SKIN($blog->getDefaultSkin() );
-               } else {
-                       // this statement should actually never be executed
-                       $skin = new SKIN($CONF['BaseSkin']);
-               }
-
-       }
-
-       $errormessage = $msg;
-       $skin->parse('error');
-       exit;
-}
-
-function getConfig() {
-       global $CONF;
-
-       $query = 'SELECT * FROM ' . sql_table('config');
-       $res = sql_query($query);
-
-       while ($obj = mysql_fetch_object($res) ) {
-               $CONF[$obj->name] = $obj->value;
-       }
-}
-
-// some checks for names of blogs, categories, templates, members, ...
-function isValidShortName($name) {
-       return eregi('^[a-z0-9]+$', $name);
-}
-
-function isValidDisplayName($name) {
-       return eregi('^[a-z0-9]+[a-z0-9 ]*[a-z0-9]+$', $name);
-}
-
-function isValidCategoryName($name) {
-       return 1;
-}
-
-function isValidTemplateName($name) {
-       return eregi('^[a-z0-9/]+$', $name);
-}
-
-function isValidSkinName($name) {
-       return eregi('^[a-z0-9/]+$', $name);
-}
-
-// add and remove linebreaks
-function addBreaks($var) {
-       return nl2br($var);
-}
-
-function removeBreaks($var) {
-       return preg_replace("/<br \/>([\r\n])/", "$1", $var);
-}
-
-// shortens a text string to maxlength ($toadd) is what needs to be added
-// at the end (end length is <= $maxlength)
-function shorten($text, $maxlength, $toadd) {
-       // 1. remove entities...
-//     $trans = get_html_translation_table(HTML_ENTITIES);
-       $trans = get_html_translation_table(HTML_SPECIALCHARS); // for Japanese
-       $trans = array_flip($trans);
-       $text = strtr($text, $trans);
-
-       // 2. the actual shortening
-       if (strlen($text) > $maxlength)
-               $text = mb_strimwidth($text, 0, $maxlength, $toadd, _CHARSET);
-       return $text;
-}
-
-/**
-  * Converts a unix timestamp to a mysql DATETIME format, and places
-  * quotes around it.
-  */
-function mysqldate($timestamp) {
-       return '"' . date('Y-m-d H:i:s', $timestamp) . '"';
-}
-
-/**
-  * functions for use in index.php
-  */
-function selectBlog($shortname) {
-       global $blogid, $archivelist;
-       $blogid = getBlogIDFromName($shortname);
-
-       // also force archivelist variable, if it is set
-       if ($archivelist) {
-               $archivelist = $blogid;
-       }
-}
-
-function selectSkin($skinname) {
-       global $skinid;
-       $skinid = SKIN::getIdFromName($skinname);
-}
-
-/**
- * Can take either a category ID or a category name (be aware that
- * multiple categories can have the same name)
- */
-function selectCategory($cat) {
-       global $catid;
-       if (is_numeric($cat) ) {
-               $catid = intval($cat);
-       } else {
-               $catid = getCatIDFromName($cat);
-       }
-}
-
-function selectItem($id) {
-       global $itemid;
-       $itemid = intval($id);
-}
-
-// force the use of a language file (warning: can cause warnings)
-function selectLanguage($language) {
-       global $DIR_LANG;
-       include($DIR_LANG . ereg_replace( '[\\|/]', '', $language) . '.php');
-}
-
-function parseFile($filename, $includeMode = 'normal', $includePrefix = '') {
-       $handler = new ACTIONS('fileparser');
-       $parser = new PARSER(SKIN::getAllowedActionsForType('fileparser'), $handler);
-       $handler->parser =& $parser;
-
-       // set IncludeMode properties of parser
-       PARSER::setProperty('IncludeMode', $includeMode);
-       PARSER::setProperty('IncludePrefix', $includePrefix);
-
-       if (!file_exists($filename) ) {
-               doError('A file is missing');
-       }
-
-       $fsize = filesize($filename);
-
-       if ($fsize <= 0) {
-               return;
-       }
-
-       // read file
-       $fd = fopen ($filename, 'r');
-       $contents = fread ($fd, $fsize);
-       fclose ($fd);
-
-       // parse file contents
-       $parser->parse($contents);
-}
-
-/**
-  * Outputs a debug message
-  */
-function debug($msg) {
-       echo '<p><b>' . $msg . "</b></p>\n";
-}
-
-// shortcut
-function addToLog($level, $msg) {
-       ACTIONLOG::add($level, $msg);
-}
-
-// shows a link to help file
-function help($id) {
-       echo helpHtml($id);
-}
-
-function helpHtml($id) {
-       return helplink($id) . '<img src="documentation/icon-help.gif" width="15" height="15" alt="' . _HELP_TT . '" /></a>';
-}
-
-function helplink($id) {
-       return '<a href="documentation/help.html#'. $id . '" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); return help(this.href);">';
-}
-
-function getMailFooter() {
-       $message = "\n\n-----------------------------";
-       $message .=  "\n   Powered by Nucleus CMS";
-       $message .=  "\n(http://www.nucleuscms.org/)";
-       return $message;
-}
-
-/**
-  * Returns the name of the language to use
-  * preference priority: member - site
-  * defaults to english when no good language found
-  *
-  * checks if file exists, etc...
-  */
-function getLanguageName() {
-       global $CONF, $member;
-
-       if ($member && $member->isLoggedIn() ) {
-               // try to use members language
-               $memlang = $member->getLanguage();
-
-               if (($memlang != '') && (checkLanguage($memlang) ) ) {
-                       return $memlang;
-               }
-       }
-
-       // use default language
-       if (checkLanguage($CONF['Language']) ) {
-               return $CONF['Language'];
-       } else {
-               return 'english';
-       }
-}
-
-/**
-  * Includes a PHP file. This method can be called while parsing templates and skins
-  */
-function includephp($filename) {
-       // make predefined variables global, so most simple scripts can be used here
-
-       // apache (names taken from PHP doc)
-       global $GATEWAY_INTERFACE, $SERVER_NAME, $SERVER_SOFTWARE, $SERVER_PROTOCOL;
-       global $REQUEST_METHOD, $QUERY_STRING, $DOCUMENT_ROOT, $HTTP_ACCEPT;
-       global $HTTP_ACCEPT_CHARSET, $HTTP_ACCEPT_ENCODING, $HTTP_ACCEPT_LANGUAGE;
-       global $HTTP_CONNECTION, $HTTP_HOST, $HTTP_REFERER, $HTTP_USER_AGENT;
-       global $REMOTE_ADDR, $REMOTE_PORT, $SCRIPT_FILENAME, $SERVER_ADMIN;
-       global $SERVER_PORT, $SERVER_SIGNATURE, $PATH_TRANSLATED, $SCRIPT_NAME;
-       global $REQUEST_URI;
-
-       // php (taken from PHP doc)
-       global $argv, $argc, $PHP_SELF, $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS;
-       global $HTTP_POST_FILES, $HTTP_ENV_VARS, $HTTP_SERVER_VARS, $HTTP_SESSION_VARS;
-
-       // other
-       global $PATH_INFO, $HTTPS, $HTTP_RAW_POST_DATA, $HTTP_X_FORWARDED_FOR;
-
-       if (@file_exists($filename) ) {
-               include($filename);
-       }
-}
-
-/**
-  * Checks if a certain language/plugin exists
-  */
-function checkLanguage($lang) {
-       global $DIR_LANG ;
-       return file_exists($DIR_LANG . ereg_replace( '[\\|/]', '', $lang) . '.php');
-}
-
-function checkPlugin($plug) {
-       global $DIR_PLUGINS;
-       return file_exists($DIR_PLUGINS . ereg_replace( '[\\|/]', '', $plug) . '.php');
-}
-
-/**
-  * Centralisation of the functions that generate links
-  */
-function createItemLink($itemid, $extra = '') {
-       return createLink('item', array('itemid' => $itemid, 'extra' => $extra) );
-}
-
-function createMemberLink($memberid, $extra = '') {
-       return createLink('member', array('memberid' => $memberid, 'extra' => $extra) );
-}
-
-function createCategoryLink($catid, $extra = '') {
-       return createLink('category', array('catid' => $catid, 'extra' => $extra) );
-}
-
-function createArchiveListLink($blogid = '', $extra = '') {
-       return createLink('archivelist', array('blogid' => $blogid, 'extra' => $extra) );
-}
-
-function createArchiveLink($blogid, $archive, $extra = '') {
-       return createLink('archive', array('blogid' => $blogid, 'archive' => $archive, 'extra' => $extra) );
-}
-
-function createBlogidLink($blogid, $params = '') {
-       return createLink('blog', array('blogid' => $blogid, 'extra' => $params) );
-}
-
-function createLink($type, $params) {
-       global $manager, $CONF;
-
-       $generatedURL = '';
-       $usePathInfo = ($CONF['URLMode'] == 'pathinfo');
-
-       // ask plugins first
-       $created = false;
-
-       if ($usePathInfo) {
-               $manager->notify(
-                       'GenerateURL',
-                       array(
-                               'type' => $type,
-                               'params' => $params,
-                               'completed' => &$created,
-                               'url' => &$url
-                       )
-               );
-       }
-
-       // if a plugin created the URL, return it
-       if ($created) {
-               return $url;
-       }
-
-       // default implementation
-       switch ($type) {
-               case 'item':
-                       if ($usePathInfo) {
-                               $url = $CONF['ItemURL'] . '/' . $CONF['ItemKey'] . '/' . $params['itemid'];
-                       } else {
-                               $url = $CONF['ItemURL'] . '?itemid=' . $params['itemid'];
-                       }
-                       break;
-
-               case 'member':
-                       if ($usePathInfo) {
-                               $url = $CONF['MemberURL'] . '/' . $CONF['MemberKey'] . '/' . $params['memberid'];
-                       } else {
-                               $url = $CONF['MemberURL'] . '?memberid=' . $params['memberid'];
-                       }
-                       break;
-
-               case 'category':
-                       if ($usePathInfo) {
-                               $url = $CONF['CategoryURL'] . '/' . $CONF['CategoryKey'] . '/' . $params['catid'];
-                       } else {
-                               $url = $CONF['CategoryURL'] . '?catid=' . $params['catid'];
-                       }
-                       break;
-
-               case 'archivelist':
-                       if (!$params['blogid']) {
-                               $params['blogid'] = $CONF['DefaultBlog'];
-                       }
-
-                       if ($usePathInfo) {
-                               $url = $CONF['ArchiveListURL'] . '/' . $CONF['ArchivesKey'] . '/' . $params['blogid'];
-                       } else {
-                               $url = $CONF['ArchiveListURL'] . '?archivelist=' . $params['blogid'];
-                       }
-                       break;
-
-               case 'archive':
-                       if ($usePathInfo) {
-                               $url = $CONF['ArchiveURL'] . '/' . $CONF['ArchiveKey'] . '/'.$params['blogid'].'/' . $params['archive'];
-                       } else {
-                               $url = $CONF['ArchiveURL'] . '?blogid='.$params['blogid'].'&amp;archive=' . $params['archive'];
-                       }
-                       break;
-
-               case 'blog':
-                       if ($usePathInfo) {
-                               $url = $CONF['BlogURL'] . '/' . $CONF['BlogKey'] . '/' . $params['blogid'];
-                       } else {
-                               $url = $CONF['BlogURL'] . '?blogid=' . $params['blogid'];
-                       }
-                       break;
-       }
-
-       return addLinkParams($url, (isset($params['extra'])? $params['extra'] : null));
-}
-
-function createBlogLink($url, $params) {
-    global $CONF;
-    if ($CONF['URLMode'] == 'normal') {
-        if (strpos($url, '?') === FALSE && is_array($params)) {
-            $fParam = reset($params);
-            $fKey   = key($params);
-            array_shift($params);
-            $url .= '?' . $fKey . '=' . $fParam;
-        }
-    } elseif ($CONF['URLMode'] == 'pathinfo' && substr($url, -1) == '/') {
-        $url = substr($url, 0, -1);
-    }
-       return addLinkParams($url, $params);
-}
-
-function addLinkParams($link, $params) {
-       global $CONF;
-
-       if (is_array($params) ) {
-
-               if ($CONF['URLMode'] == 'pathinfo')     {
-
-                       foreach ($params as $param => $value) {
-                               $link .= '/' . $param . '/' . urlencode($value);
-                       }
-
-               } else {
-
-                       foreach ($params as $param => $value) {
-                               $link .= '&amp;' . $param . '=' . urlencode($value);
-                       }
-
-               }
-       }
-
-       return $link;
-}
-
-/**
- * @param $querystr
- *             querystring to alter (e.g. foo=1&bar=2&x=y)
- * @param $param
- *             name of parameter to change (e.g. 'foo')
- * @param $value
- *             New value for that parameter (e.g. 3)
- * @result
- *             altered query string (for the examples above: foo=3&bar=2&x=y)
- */
-function alterQueryStr($querystr, $param, $value) {
-       $vars = explode('&', $querystr);
-       $set  = false;
-
-       for ($i = 0; $i < count($vars); $i++) {
-               $v = explode('=', $vars[$i]);
-
-               if ($v[0] == $param) {
-                       $v[1] = $value;
-                       $vars[$i] = implode('=', $v);
-                       $set = true;
-                       break;
-               }
-       }
-
-       if (!$set) {
-               $vars[] = $param . '=' . $value;
-       }
-
-       return ltrim(implode('&', $vars), '&');
-}
-
-// passes one variable as hidden input field (multiple fields for arrays)
-// @see passRequestVars in varsx.x.x.php
-function passVar($key, $value) {
-       // array ?
-       if (is_array($value) ) {
-               for ($i = 0; $i < sizeof($value); $i++) {
-                       passVar($key . '[' . $i . ']', $value[$i]);
-               }
-
-               return;
-       }
-
-       // other values: do stripslashes if needed
-       ?><input type="hidden" name="<?php echo htmlspecialchars($key)?>" value="<?php echo htmlspecialchars(undoMagic($value) )?>" /><?php
-}
-
-/*
-       Date format functions (to be used from [%date(..)%] skinvars
-*/
-function formatDate($format, $timestamp, $defaultFormat, &$blog) {
-       // apply blog offset (#42)
-       $boffset = $blog ? $blog->getTimeOffset() * 3600 : 0;
-       $offset = date('Z', $timestamp) + $boffset;
-
-       switch ($format) {
-               case 'rfc822':
-                       if ($offset >= 0) {
-                               $tz = '+';
-                       } else {
-                               $tz = '-';
-                               $offset = -$offset;
-                       }
-
-                       $tz .= sprintf("%02d%02d", floor($offset / 3600), round(($offset % 3600) / 60) );
-                       return date('D, j M Y H:i:s ', $timestamp) . $tz;
-
-               case 'rfc822GMT':
-                       $timestamp -= $offset;
-                       return date('D, j M Y H:i:s ', $timestamp) . 'GMT';
-
-               case 'utc':
-                       $timestamp -= $offset;
-                       return date('Y-m-d\TH:i:s\Z', $timestamp);
-
-               case 'iso8601':
-                       if ($offset >= 0) {
-                               $tz = '+';
-                       } else {
-                               $tz = '-';
-                               $offset = -$offset;
-                       }
-
-                       $tz .= sprintf("%02d:%02d", floor($offset / 3600), round(($offset % 3600) / 60) );
-                       return date('Y-m-d\TH:i:s', $timestamp) . $tz;
-
-               default :
-                       return strftime($format ? $format : $defaultFormat, $timestamp);
-       }
-}
-
-function encoding_check($val, $key, $encoding=false, $exclude=false) {\r
-       /*\r
-         When 3rd argument is set, return if checked already.\r
-         When 4th argument is set, set the excluded key(s).\r
-       */\r
-       static $search=false, $checked=array(), $excludes=array();\r
-       if ($exclude!==false) {\r
-               if (is_array($exclude)) {\r
-                       foreach($exclude as $v) $excludes[$v]=true;\r
-               } else $excludes[$excludes]=true;\r
-               return;\r
-       }\r
-       if ($encoding!==false) {\r
-               switch($encoding=strtolower($encoding)){\r
-                       case 'utf-8':\r
-                               $search='/^([\x00-\x7F]+'.\r
-                                       '|[\xC2-\xDF][\x80-\xBF]'.\r
-                                       '|[\xE0-\xEF][\x80-\xBF][\x80-\xBF]'.\r
-                                       '|[\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]'.\r
-                                       '|[\xF8-\xFB][\x80-\xBF][\x80-\xBF][\x80-\xBF][\x80-\xBF]'.\r
-                                       '|[\xFC-\xFD][\x80-\xBF][\x80-\xBF][\x80-\xBF][\x80-\xBF][\x80-\xBF])*/';\r
-                                       break;\r
-                       case 'euc-jp':\r
-                               $search='/^([\x00-\x7F]+'.\r
-                                       '|[\x8E][\xA0-\xDF]'.\r
-                                       '|[\x8F]?[\xA1-\xFE][\xA1-\xFE])*/';\r
-                               break;\r
-                       case 'gb2312':\r
-                               $search='/^([\x00-\x7F]+'.\r
-                                       '|[\xA1-\xF7][\xA1-\xFE])*/';\r
-                               break;\r
-                       default:\r
-                               $search=false;\r
-                               if (preg_match('/^iso\-8859\-[0-9]{1,2}$/',$encoding)) break;\r
-                               if (preg_match('/^windows\-125[0-8]$/',$encoding)) break;\r
-                               startUpError('<p>Unknown or non-supported encoding.</p>', 'Encoding Error');\r
-                               exit;\r
-               }\r
-               if (isset($checked[$encoding])) return true; // Already checked.\r
-               $checked[$encoding]=true;\r
-       }\r
-       if ($key===false) return false; // Not yet checked.\r
-       if ($search===false) return true; // non-multibyte encoding\r
-       if (isset($excludes[$key])) return true; // This key isn't checked.\r
-       if (is_array($val)) {\r
-               array_walk($val, 'encoding_check');\r
-       } else {\r
-               preg_match($search,$val,$m);\r
-               $val2 = (string)$m[0];\r
-               if (!($val2 === (string)$val)) {\r
-                       startUpError('<p>Invalid input.</p>', 'Input Error');\r
-                       exit;\r
-               }\r
-       }\r
-       preg_match($search,$key,$m);\r
-       $key2 = (string)$m[0];\r
-       if (!($key2 === (string)$key)) {\r
-               startUpError('<p>Invalid input.</p>', 'Input Error');\r
-               exit;\r
-       }\r
-       return true;\r
-}\r
-\r
-function checkVars($aVars) {
-       global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES, $HTTP_SESSION_VARS;
-
-       foreach ($aVars as $varName) {
-
-               if (phpversion() >= '4.1.0') {
-
-                       if (   isset($_GET[$varName])
-                               || isset($_POST[$varName])
-                               || isset($_COOKIE[$varName])
-                               || isset($_ENV[$varName])
-                               || isset($_SESSION[$varName])
-                               || isset($_FILES[$varName])
-                       ) {
-                               die('Sorry. An error occurred.');
-                       }
-
-               } else {
-
-                       if (   isset($HTTP_GET_VARS[$varName])
-                               || isset($HTTP_POST_VARS[$varName])
-                               || isset($HTTP_COOKIE_VARS[$varName])
-                               || isset($HTTP_ENV_VARS[$varName])
-                               || isset($HTTP_SESSION_VARS[$varName])
-                               || isset($HTTP_POST_FILES[$varName])
-                       ) {
-                               die('Sorry. An error occurred.');
-                       }
-
-               }
-       }
-}
-
-
-/** 
- * Sanitize parameters such as $_GET and $_SERVER['REQUEST_URI'] etc.
- * to avoid XSS 
- */
-function sanitizeParams()
-{
-       global $HTTP_SERVER_VARS;
-       
-       $array = array();
-       $str = '';
-       $frontParam = '';
-       
-       // REQUEST_URI of $HTTP_SERVER_VARS
-       $str =& $HTTP_SERVER_VARS["REQUEST_URI"];
-       serverStringToArray($str, $array, $frontParam);
-       sanitizeArray($array);
-       arrayToServerString($array, $frontParam, $str);
-       
-       // QUERY_STRING of $HTTP_SERVER_VARS
-       $str =& $HTTP_SERVER_VARS["QUERY_STRING"];
-       serverStringToArray($str, $array, $frontParam);
-       sanitizeArray($array);
-       arrayToServerString($array, $frontParam, $str);
-       
-       if (phpversion() >= '4.1.0') {
-               // REQUEST_URI of $_SERVER
-               $str =& $_SERVER["REQUEST_URI"];
-               serverStringToArray($str, $array, $frontParam);
-               sanitizeArray($array);
-               arrayToServerString($array, $frontParam, $str);
-       
-               // QUERY_STRING of $_SERVER
-               $str =& $_SERVER["QUERY_STRING"];
-               serverStringToArray($str, $array, $frontParam);
-               sanitizeArray($array);
-               arrayToServerString($array, $frontParam, $str);
-       }
-       
-       // $_GET
-       convArrayForSanitizing($_GET, $array);
-       sanitizeArray($array);
-       revertArrayForSanitizing($array, $_GET);
-       
-       // $_REQUEST (only GET param)
-       convArrayForSanitizing($_REQUEST, $array);
-       sanitizeArray($array);
-       revertArrayForSanitizing($array, $_REQUEST);
-}
-
-/** 
- * Check ticket when not checked in plugin's admin page
- * to avoid CSRF.
- * Also avoid the access to plugin/index.php by guest user.
- */
-function ticketForPlugin(){
-       global $CONF,$DIR_PLUGINS,$member,$ticketforplugin;
-       
-       /* initialize */
-       $ticketforplugin=array();
-       $ticketforplugin['ticket']=false;
-       
-       /* Check if using plugin's php file. */
-       if ($p_translated=serverVar('PATH_TRANSLATED')) {
-               if (!file_exists($p_translated)) $p_translated='';
-       }
-       if (!$p_translated) {
-               $p_translated=serverVar('SCRIPT_FILENAME');
-               if (!file_exists($p_translated)) {
-                       header("HTTP/1.0 404 Not Found");
-                       exit('');
-               }
-       }
-       $p_translated=str_replace('\\','/',$p_translated);
-       $d_plugins=str_replace('\\','/',$DIR_PLUGINS);
-       if (strpos($p_translated,$d_plugins)!==0) return;// This isn't plugin php file.
-       
-       /* Solve the plugin php file or admin directory */
-       $phppath=substr($p_translated,strlen($d_plugins));
-       $phppath=preg_replace('!^/!','',$phppath);// Remove the first "/" if exists.
-       $path=preg_replace('/^NP_(.*)\.php$/','$1',$phppath); // Remove the first "NP_" and the last ".php" if exists.
-       $path=preg_replace('!^([^/]*)/(.*)$!','$1',$path); // Remove the "/" and beyond.
-       
-       /* Solve the plugin name. */
-       $plugins=array();
-       $query='SELECT pfile FROM '.sql_table('plugin');
-       $res=sql_query($query);
-       while($row=mysql_fetch_row($res)) {
-               $name=substr($row[0],3);
-               $plugins[strtolower($name)]=$name;
-       }
-       mysql_free_result($res);
-       if ($plugins[$path]) $plugin_name=$plugins[$path];
-       else if (in_array($path,$plugins)) $plugin_name=$path;
-       else {
-               header("HTTP/1.0 404 Not Found");
-               exit('');
-       }
-       
-       /* Return if not index.php */
-       if ( $phppath!=strtolower($plugin_name).'/'
-               && $phppath!=strtolower($plugin_name).'/index.php' ) return;
-       
-       /* Exit if not logged in. */
-       if ( !$member->isLoggedIn() ) exit("You aren't logged in.");
-       
-       global $manager,$DIR_LIBS,$DIR_LANG,$HTTP_GET_VARS,$HTTP_POST_VARS;
-       
-       /* Check if this feature is needed (ie, if "$manager->checkTicket()" is not included in the script). */
-       if (!($p_translated=serverVar('PATH_TRANSLATED'))) $p_translated=serverVar('SCRIPT_FILENAME');
-       if ($file=@file($p_translated)) {
-               $prevline='';
-               foreach($file as $line) {
-                       if (preg_match('/[\$]manager([\s]*)[\-]>([\s]*)checkTicket([\s]*)[\(]/i',$prevline.$line)) return;
-                       $prevline=$line;
-               }
-       }
-       
-       /* Show a form if not valid ticket */
-       if ( ( strstr(serverVar('REQUEST_URI'),'?') || serverVar('QUERY_STRING')
-                       || strtoupper(serverVar('REQUEST_METHOD'))=='POST' )
-                               && (!$manager->checkTicket()) ){
-
-               if (!class_exists('PluginAdmin')) {
-                       $language = getLanguageName();
-                       include($DIR_LANG . ereg_replace( '[\\|/]', '', $language) . '.php');
-                       include($DIR_LIBS . 'PLUGINADMIN.php');
-               }
-               if (!(function_exists('mb_strimwidth') || extension_loaded('mbstring'))) {
-                       if (file_exists($DIR_LIBS.'mb_emulator/mb-emulator.php')) {
-                               global $mbemu_internals;
-                               include_once($DIR_LIBS.'mb_emulator/mb-emulator.php');
-                       }
-               }
-               $oPluginAdmin = new PluginAdmin($plugin_name);
-               $oPluginAdmin->start();
-               echo '<p>' . _ERROR_BADTICKET . "</p>\n";
-               
-               /* Show the form to confirm action */
-               // PHP 4.0.x support
-               $get=  (isset($_GET))  ? $_GET  : $HTTP_GET_VARS;
-               $post= (isset($_POST)) ? $_POST : $HTTP_POST_VARS;
-               // Resolve URI and QUERY_STRING
-               if ($uri=serverVar('REQUEST_URI')) {
-                       list($uri,$qstring)=explode('?',$uri);
-               } else {
-                       if ( !($uri=serverVar('PHP_SELF')) ) $uri=serverVar('SCRIPT_NAME');
-                       $qstring=serverVar('QUERY_STRING');
-               }
-               if ($qstring) $qstring='?'.$qstring;
-               echo '<p>'._SETTINGS_UPDATE.' : '._QMENU_PLUGINS.' <span style="color:red;">'.
-                       htmlspecialchars($plugin_name)."</span> ?</p>\n";
-               switch(strtoupper(serverVar('REQUEST_METHOD'))){
-               case 'POST':
-                       echo '<form method="POST" action="'.htmlspecialchars($uri.$qstring).'">';
-                       $manager->addTicketHidden();
-                       _addInputTags($post);
-                       break;
-               case 'GET':
-                       echo '<form method="GET" action="'.htmlspecialchars($uri).'">';
-                       $manager->addTicketHidden();
-                       _addInputTags($get);
-               default:
-                       break;
-               }
-               echo '<input type="submit" value="'._YES.'" />&nbsp;&nbsp;&nbsp;&nbsp;';
-               echo '<input type="button" value="'._NO.'" onclick="history.back(); return false;" />';
-               echo "</form>\n";
-               
-               $oPluginAdmin->end();
-               exit;
-       }
-       
-       /* Create new ticket */
-       $ticket=$manager->addTicketToUrl('');
-       $ticketforplugin['ticket']=substr($ticket,strpos($ticket,'ticket=')+7);
-}
-function _addInputTags(&$keys,$prefix=''){
-       foreach($keys as $key=>$value){
-               if ($prefix) $key=$prefix.'['.$key.']';
-               if (is_array($value)) _addInputTags($value,$key);
-               else {
-                       if (get_magic_quotes_gpc()) $value=stripslashes($value);
-                       if ($key=='ticket') continue;
-                       echo '<input type="hidden" name="'.htmlspecialchars($key).
-                               '" value="'.htmlspecialchars($value).'" />'."\n";
-               }
-       }
-}
-
-/** 
- * Convert the server string such as $_SERVER['REQUEST_URI']
- * to arry like arry['blogid']=1 and array['page']=2 etc.
- */
-function serverStringToArray($str, &$array, &$frontParam)
-{
-       // init param
-       $array = array();
-       $fronParam = "";
-
-       // split front param, e.g. /index.php, and others, e.g. blogid=1&page=2
-       if (strstr($str, "?")){
-               list($frontParam, $args) = preg_split("/\?/", $str, 2);
-       }
-       else {
-               $args = $str;
-               $frontParam = "";
-       }
-       
-       // If there is no args like blogid=1&page=2, return
-       if (!strstr($str, "=") && !strlen($frontParam)) {
-               $frontParam = $str;
-               return;
-       }
-
-       $array = explode("&", $args);
-}
-
-/** 
- * Convert array like array['blogid'] to server string
- * such as $_SERVER['REQUEST_URI']
- */
-function arrayToServerString($array, $frontParam, &$str)
-{
-       if (strstr($str, "?")) {
-               $str = $frontParam . "?";
-       } else {
-               $str = $frontParam;
-       }
-       if (count($array)) {
-               $str .= implode("&", $array);
-       }
-}
-
-/** 
- * Sanitize array parameters.
- * This function checks both key and value.
- * - check key if it inclues " (double quote),  remove from array
- * - check value if it includes \ (escape sequece), remove remaining string
- */
-function sanitizeArray(&$array)
-{      
-       $excludeListForSanitization = array('query');
-//     $excludeListForSanitization = array();
-
-       foreach ($array as $k => $v) {
-
-               // split to key and value
-               list($key, $val) = preg_split("/=/", $v, 2);
-               if (!isset($val)) {
-                       continue;
-               }
-
-               // when magic quotes is on, need to use stripslashes,
-               // and then addslashes
-               if (get_magic_quotes_gpc()) {
-                       $val = stripslashes($val);
-               }
-               $val = addslashes($val);
-               
-               // if $key is included in exclude list, skip this param
-               if (!in_array($key, $excludeListForSanitization)) {
-                               
-                       // check value
-                       list($val, $tmp) = explode('\\', $val);
-                       
-                       // remove control code etc.
-                       $val = strtr($val, "\0\r\n<>'\"", "       ");
-                               
-                       // check key
-                       if (preg_match('/\"/i', $key)) {
-                               unset($array[$k]);
-                               continue;
-                       }
-                               
-                       // set sanitized info
-                       $array[$k] = sprintf("%s=%s", $key, $val);
-               }
-       }
-}
-
-/**
- * Convert array for sanitizeArray function
- */
-function convArrayForSanitizing($src, &$array)
-{
-       $array = array();
-       foreach ($src as $key => $val) {
-               if (key_exists($key, $_GET)) {
-                       array_push($array, sprintf("%s=%s", $key, $val));
-               }
-       }
-}
-
-/**
- * Revert array after sanitizeArray function
- */
-function revertArrayForSanitizing($array, &$dst)
-{
-       foreach ($array as $v) {
-               list($key, $val) = preg_split("/=/", $v, 2);
-               $dst[$key] = $val;
-       }
-}
-
-/**
- * Stops processing the request and redirects to the given URL.
- * - no actual contents should have been sent to the output yet
- * - the URL will be stripped of illegal or dangerous characters
- */
-function redirect($url) {
-       $url = preg_replace('|[^a-z0-9-~+_.?#=&;,/:@%]|i', '', $url);
-       header('Location: ' . $url);
-       exit;
-}
-
-/**
- * Strip HTML tags from a string
- * This function is a bit more intelligent than a regular call to strip_tags(),
- * because it also deletes the contents of certain tags and cleans up any
- * unneeded whitespace.
- */
-function stringStripTags ($string) {
-       $string = preg_replace("/<del[^>]*>.+<\/del[^>]*>/isU", '', $string);
-       $string = preg_replace("/<script[^>]*>.+<\/script[^>]*>/isU", '', $string);
-       $string = preg_replace("/<style[^>]*>.+<\/style[^>]*>/isU", '', $string);
-       $string = str_replace('>', '> ', $string);
-       $string = str_replace('<', ' <', $string);
-       $string = strip_tags($string);
-       $string = preg_replace("/\s+/", " ", $string);
-       $string = trim($string);
-       return $string;
-}
-
-/**
- * Make a string containing HTML safe for use in a HTML attribute
- * Tags are stripped and entities are normalized
- */
-function stringToAttribute ($string) {
-       $string = stringStripTags($string);
-       $string = entity::named_to_numeric($string);
-       $string = entity::normalize_numeric($string);
-
-       if (_CHARSET == 'UTF-8') {
-               $string = entity::numeric_to_utf8($string);
-       }
-
-       $string = entity::specialchars($string, 'html');
-       $string = entity::numeric_to_named($string);
-       return $string;
-}
-
-/**
- * Make a string containing HTML safe for use in a XML document
- * Tags are stripped, entities are normalized and named entities are
- * converted to numeric entities.
- */
-function stringToXML ($string) {
-       $string = stringStripTags($string);
-       $string = entity::named_to_numeric($string);
-       $string = entity::normalize_numeric($string);
-
-       if (_CHARSET == 'UTF-8') {
-               $string = entity::numeric_to_utf8($string);
-       }
-
-       $string = entity::specialchars($string, 'xml');
-       return $string;
-}
-
-// START: functions from the end of file BLOG.php
-// used for mail notification (html -> text)
-function toAscii($html) {
-       // strip off most tags
-       $html = strip_tags($html,'<a>');
-       $to_replace = "/<a[^>]*href=[\"\']([^\"^']*)[\"\'][^>]*>([^<]*)<\/a>/i";
-       _links_init();
-       $ascii = preg_replace_callback ($to_replace, '_links_add', $html);
-       $ascii .= "\n\n" . _links_list();
-       return strip_tags($ascii);
-}
-
-function _links_init() {
-   global $tmp_links;
-   $tmp_links = array();
-}
-
-function _links_add($match) {
-   global $tmp_links;
-   array_push($tmp_links, $match[1]);
-   return $match[2] . ' [' . sizeof($tmp_links) .']';
-}
-
-function _links_list() {
-   global $tmp_links;
-   $output = '';
-   $i = 1;
-   foreach ($tmp_links as $current) {
-         $output .= "[$i] $current\n";
-         $i++;
-   }
-   return $output;
-}
-// END: functions from the end of file BLOG.php
-
-// START: functions from the end of file ADMIN.php
-/**
- * @todo document this
- */
-function encode_desc(&$data)
-    {   //_$to_entities = get_html_translation_table(HTML_ENTITIES);
-        $to_entities = get_html_translation_table(HTML_SPECIALCHARS);
-        $from_entities = array_flip($to_entities);
-        $data = str_replace('<br />','\n',$data); //hack
-        $data = strtr($data,$from_entities);
-        $data = strtr($data,$to_entities);
-        $data = str_replace('\n','<br />',$data); //hack
-        return $data;
-    }
-/**
- * Returns the Javascript code for a bookmarklet that works on most modern browsers
- *
- * @param blogid
- */
-function getBookmarklet($blogid) {
-       global $CONF;
-
-       // normal
-       $document = 'document';
-       $bookmarkletline = "javascript:Q='';x=".$document.";y=window;if(x.selection){Q=x.selection.createRange().text;}else if(y.getSelection){Q=y.getSelection();}else if(x.getSelection){Q=x.getSelection();}wingm=window.open('";
-       $bookmarkletline .= $CONF['AdminURL'] . "bookmarklet.php?blogid=$blogid";
-       $bookmarkletline .="&logtext='+escape(Q)+'&loglink='+escape(x.location.href)+'&loglinktitle='+escape(x.title),'nucleusbm','scrollbars=yes,width=600,height=500,left=10,top=10,status=yes,resizable=yes');wingm.focus();";
-
-       return $bookmarkletline;
-}
-// END: functions from the end of file ADMIN.php
-
-/**
- * Returns a variable or null if not set
- *
- * @param mixed Variable
- * @return mixed Variable
- */
-function ifset(&$var) {
-       if (isset($var)) {
-               return $var;
-       }
-
-       return null;
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/include/admin-add.template b/euc/nucleus/libs/include/admin-add.template
deleted file mode 100755 (executable)
index 8d11561..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<h2><%text(_ADD_ADDTO)%> '<%bloglink%>'</h2>
-
-<%init%>
-<script type="text/javascript" src="javascript/numbercheck.js"></script>
-<script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
-
-<form id="addform" method="post" action="index.php" >
-
-<div>
-
-<input type="hidden" name="action" value="additem" />
-<input name="blogid" value="<%blogid%>" type="hidden" />
-<input type="hidden" name="draftid" value="0" />
-<%ticket%>
-
-<table>
-       <tr>
-               <th colspan="2"><%text(_ADD_CREATENEW)%></th>
-       </tr><tr>
-               <td><%text(_AUTOSAVEDRAFT)%></td>
-               <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
-       </tr><tr>
-               <td><%text(_ADD_TITLE)%></td>
-               <td><input 
-                       <%jsinput(title)%>
-                       tabindex="10"
-                       size="60" 
-                       maxlength="160" 
-                       value="<%contents(title)%>"
-                       /></td>
-       </tr><tr>
-               <td>
-                       <%text(_ADD_BODY)%> <%helplink(additem)%>
-               </td>
-               <td>
-                       <%jsbuttonbar(media+preview)%>
-                       <textarea
-                               <%jsinput(body)%>
-                               tabindex="20"
-                               cols="60"
-                               rows="20"><%contents(body)%></textarea>
-               </td>
-       </tr><tr id="edit" style="display:none;">
-               <td><%text(_ADD_PREVIEW)%></td>
-               <td><b><span id="prevtitle">&#160;</span></b><br />
-                       <span id="prevbody">&#160;</span><br />
-                       <span id="prevmore">&#160;</span><br />
-               </td>
-       </tr><tr>
-       
-<%ifblogsetting(bcomments)%>
-               <td><%text(_ADD_DISABLE_COMMENTS)%></td>
-               <td>
-                       <input name="closed" type="radio" tabindex="30" value="1" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>
-                       <input name="closed" type="radio" tabindex="30" value="0" checked="checked" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>
-               </td>
-       </tr><tr>
-<%endif%>
-
-
-               <td><%text(_ADD_CATEGORY)%></td>
-               <td><%categories(40)%></td>
-       </tr><tr>
-               <td><%text(_SUBMIT)%></td>
-               <td>
-                       <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>" 
-                               onclick="return checkSubmit();" />
-
-                       <br /><br />
-
-                       <input name="actiontype" value="addnow" type="radio" checked='checked' id="act_now" tabindex="61" /><label for="act_now"><%text(_ADD_ADDNOW)%></label>
-                       <br />
-                       <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future" ><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>
-                       <div class="indent">
-                               <%text(_ADD_PLACE_ON)%>
-                               <input id="inputyear" name="year" tabindex="63" size="4" value="<%currenttime(year)%>" />ǯ
-                               <input id="inputmonth" name="month" tabindex="64" size="2" value="<%currenttime(mon)%>" />·î
-                               <input id="inputday" name="day" tabindex="65" size="2" value="<%currenttime(mday)%>" />Æü
-                                
-                               <input id="inputhour" name="hour" tabindex="66" size="2" value="<%currenttime(hours)%>" />»þ
-                               <input id="inputminutes" name="minutes" tabindex="67" size="2" value="<%currenttime(minutes)%>" />ʬ
-                               <br />
-                               ¥Õ¥©¡¼¥Þ¥Ã¥È¡§(yyyy)ǯ(mm)·î(dd)Æü (hh)»þ(mm)ʬ
-                               
-                               <%ifblogsetting(ballowpast,0)%>
-                                       <br />
-                                       <%text(_ADD_NOPASTDATES)%>
-                               <%endif%>
-                       </div>
-                       <input name="actiontype" tabindex="61" value="adddraft" type="radio" id="act_draft" /><label for="act_draft"><%text(_ADD_ADDDRAFT)%></label> <%helplink(draft)%>
-               </td>
-       </tr><tr>
-               <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
-               <td>
-                       <%pluginextras%>
-               </td>
-       </tr>
-                       <%itemoptions%> 
-    <tr>
-       <th colspan="2"><%text(_ADD_MORE)%></th>
-       </tr><tr>
-               <td><%text(_ADD_MORE)%>
-                       <br /><%helplink(extended)%>
-               </td>
-               <td>
-                       <%jsbuttonbar(media+preview)%>          
-                       <textarea 
-                               <%jsinput(more)%>                       
-                               tabindex="70"
-                               cols="60"
-                               rows="20"
-                               ><%contents(more)%></textarea>
-               </td>
-       </tr><tr>
-               <td><%text(_SUBMIT)%></td>
-               <td>
-                       <input tabindex="60" type="submit" value="<%text(_ADD_ADDITEM)%>" 
-                               onclick="return checkSubmit();" />
-                       <input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"
-                               onclick="autoSaveDraft();" />
-               </td>
-       </tr>
-</table>
-
-</div>
-</form>
-
-<script type="text/javascript">
-       var xmlhttprequest = new Array();
-       xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
-       xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
-       var seconds = now(); // Last AutoDraft time
-       var checks = 0; // Number of checks since last AutoDraft
-       var addform = document.getElementById('addform'); // The form id
-       var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
-       var goalurl = '../action.php'; // The PHP file where the content must be posted to
-       var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
-       var formtype = 'add'; // Add or edit form
-</script>      
diff --git a/euc/nucleus/libs/include/admin-edit.template b/euc/nucleus/libs/include/admin-edit.template
deleted file mode 100755 (executable)
index 0792141..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-<h2><%text(_EDIT_ITEM)%></h2>
-
-<%init%>
-<script type="text/javascript" src="javascript/numbercheck.js"></script>
-<script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
-
-<form id="editform" method="post" action="index.php">
-<div>
-
-<input type="hidden" name="action" value="itemupdate" />
-<input name="itemid" value="<%contents(itemid)%>" type="hidden" />
-<input type="hidden" name="draftid" value="0" />
-<%ticket%>
-
-<table><tr>
-       <th colspan="2"><%text(_EDIT_ITEM)%></th>
-</tr><tr>
-       <td><%text(_AUTOSAVEDRAFT)%></td>
-       <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
-</tr><tr>
-       <td><%text(_EDIT_ORIG_AUTHOR)%></td>
-       <td><%contents(author)%></td>
-</tr><tr>
-       <td><%text(_ADD_TITLE)%></td>
-       <td><input 
-                       <%jsinput(title)%>
-                       tabindex="10" 
-                       size="60" 
-                       maxlength="160" 
-                       value="<%contents(title)%>" />
-       </td>
-</tr><tr>
-       <td>
-               <%text(_ADD_BODY)%>
-       </td>
-       <td>
-               <%jsbuttonbar(media+preview)%>  
-               <textarea 
-                       <%jsinput(body)%>
-                       tabindex="20"
-                       cols="60"
-                       rows="20"><%contents(body)%></textarea>
-       </td>
-</tr><tr id="edit" style="display:none;">
-       <td><%text(_ADD_PREVIEW)%></td>
-       <td><b><span id="prevtitle">&#160;</span></b><br />
-               <span id="prevbody">&#160;</span><br />
-               <span id="prevmore">&#160;</span><br />
-       </td>
-</tr><tr>
-
-<%ifblogsetting(bcomments)%>
-               <td>
-                       <%text(_ADD_DISABLE_COMMENTS)%>
-               </td>
-               <td> 
-                       <input type="radio" name="closed" value="1" <%checkedonval(1,closed)%> tabindex="30" id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>
-                       <input type="radio" name="closed" value="0" <%checkedonval(0,closed)%> tabindex="30" id="closed_no" /><label for="closed_no"><%text(_NO)%></label>
-                       <br />
-                       <small><%text(_EDIT_COMMENTSNOTE)%></small>     
-               </td>
-       </tr><tr>                               
-<%endif%>
-
-       <td><%text(_ADD_CATEGORY)%></td>
-       <td><%categories(40)%></td>
-</tr><tr>
-       <td><%text(_EDIT_SUBMIT)%></td>
-       <td>
-
-               <input type="submit" tabindex="60" value="<%text(_EDIT_SUBMIT)%>" onclick="return checkSubmit();" />
-
-<%ifitemproperty(draft)%>
-               <br /><br />
-               <input name="actiontype" value="addnow" type="radio" id="act_now" /><label for="act_now" tabindex="61"><%text(_ADD_ADDNOW)%></label>
-               <br />
-               <input name="actiontype" value="addfuture" type="radio" id="act_future" tabindex="61" /><label for="act_future"><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>
-               <div class="indent">
-                       <%text(_ADD_PLACE_ON)%>
-                       <input id="inputyear" name="year" tabindex="71" size="4" value="<%currenttime(year)%>" />/
-                       <input id="inputmonth" name="month" tabindex="72" size="2" value="<%currenttime(mon)%>" />/
-                       <input id="inputday" name="day" tabindex="73" size="2" value="<%currenttime(mday)%>" />&nbsp;
-                       
-                       <input id="inputhour" name="hour" tabindex="74" size="2" value="<%currenttime(hours)%>" />:
-                       <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%currenttime(minutes)%>" />
-                       (yyyy/mm/dd hh:mm)
-                       <%ifblogsetting(ballowpast,0)%>
-                               <br />
-                               <%text(_ADD_NOPASTDATES)%>
-                       <%endif%>
-               </div>
-               <input name="actiontype" value="adddraft" type="radio" checked='checked' id="act_draft" tabindex="61" /><label for="act_draft"><%text(_EDIT_BACKTODRAFTS)%></label> <%helplink(draft)%>
-               <br />
-               <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>
-<%endif%>
-
-<%ifitemproperty(draft,0)%>
-       <br /><br />
-       <input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" tabindex="61" /><label for="act_edit"><%text(_BMLET_EDIT)%></label>
-       <%ifblogsetting(ballowpast)%>
-               <br />
-               <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_ADD_CHANGEDATE)%></label> <%helplink(changedate)%>
-                       <div class="indent">
-                               <input id="inputyear" name="year" tabindex="71" size="4" value="<%itemtime(year)%>" />ǯ
-                               <input id="inputmonth" name="month" tabindex="72" size="2" value="<%itemtime(mon)%>" />·î
-                               <input id="inputday" name="day" tabindex="73" size="2" value="<%itemtime(mday)%>" />Æü
-                                
-                               <input id="inputhour" name="hour" tabindex="74" size="2" value="<%itemtime(hours)%>" />»þ
-                               <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%itemtime(minutes)%>" />ʬ
-                               <br />
-                               ¥Õ¥©¡¼¥Þ¥Ã¥È¡§(yyyy)ǯ(mm)·î(dd)Æü (hh)»þ(mm)ʬ
-                       </div>
-       <%endif%>       
-       <br />
-       <input name="actiontype" value="delete" type="radio" id="act_delete" tabindex="61" /><label for="act_delete"><%text(_BMLET_DELETE)%></label>
-<%endif%>
-
-       </td>
-</tr><tr>
-       <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
-       <td>
-               <%pluginextras%>
-       </td>   
-</tr>
-                       <%itemoptions%> 
-<tr>
-       <th colspan="2"><%text(_ADD_MORE)%></th>
-</tr>
-<tr>
-       <td><%text(_ADD_MORE)%>
-               <br /><%helplink(extended)%>
-       </td>
-       <td>
-               <%jsbuttonbar(media+preview)%>
-               <textarea 
-                       <%jsinput(more)%>
-                       tabindex="90" 
-                       cols="60" 
-                       rows="20"><%contents(more)%></textarea>
-       </td>
-</tr><tr>
-               <td><%text(_SUBMIT)%></td>
-               <td>
-                       <input tabindex="60" type="submit" value="<%text(_EDIT_SUBMIT)%>" 
-                               onclick="return checkSubmit();" />
-                       <input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>"
-                               onclick="autoSaveDraft();" />
-               </td>
-       
-</tr></table>
-
-</div>
-</form>
-
-<script type="text/javascript">
-       var xmlhttprequest = new Array();
-       xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
-       xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
-       var seconds = now(); // Last AutoDraft time
-       var checks = 0; // Number of checks since last AutoDraft
-       var addform = document.getElementById('editform'); // The form id
-       var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
-       var goalurl = '../action.php'; // The PHP file where the content must be posted to
-       var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
-       var formtype = 'edit'; // Add or edit form
-</script>      
diff --git a/euc/nucleus/libs/include/bookmarklet-add.template b/euc/nucleus/libs/include/bookmarklet-add.template
deleted file mode 100755 (executable)
index fe161a2..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <title><%text(_ADD_ADDTO)%> '<%blogname%>'</title>
-               <link rel="stylesheet" type="text/css" href="styles/bookmarklet.css" /> 
-               <link rel="stylesheet" type="text/css" href="styles/addedit.css" />             
-               <script type="text/javascript" src="javascript/bookmarklet.js"></script>
-               <script type="text/javascript" src="javascript/edit.js"></script>
-               <script type="text/javascript" src="javascript/numbercheck.js"></script>
-               <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
-               <%init%>
-               <%extrahead%>
-               <script type="text/javascript">
-                       var nucleus_initbm_oldonload = window.onload;
-                       function nucleus_initbm()
-                       {
-                               initStyles(); 
-                               updAllPreviews();
-
-                               if (nucleus_initbm_oldonload)
-                                       nucleus_initbm_oldonload();
-                       }
-                       window.onload = nucleus_initbm;
-               </script>
-       </head>
-       <body>
-               <h1><%text(_ADD_ADDTO)%> '<%bloglink%>'</h1>
-               <form id="addform" method="post" action="bookmarklet.php" ><div>
-                       
-                       <input name="action" type="hidden" value="additem" />
-                       <input name="blogid" type="hidden" value="<%blogid%>" />
-                       <input type="hidden" name="draftid" value="0" />
-                       <%ticket%>
-                       
-                       <div id="submit" class="buttonbar">
-                               <input type="submit" value="<%text(_BMLET_ADD)%>" onclick="return checkSubmit();" />
-                               <div id="switchbuttons">
-                                       <input type="button" onclick="flipBlock('body');" value="<%text(_BMLET_BODY)%> &gt;&gt;" />
-                                       <input type="button" onclick="flipBlock('more');" value="<%text(_BMLET_MORE)%> &gt;&gt;" />
-                                       <input type="button" onclick="flipBlock('options');" value="<%text(_BMLET_OPTIONS)%> &gt;&gt;" />
-                                       <input type="button" onclick="updAllPreviews(); flipBlock('preview');" value="<%text(_BMLET_PREVIEW)%> &gt;&gt;" />
-                               </div>
-                       </div>
-
-                       <div id="body" class="contentblock">
-
-                               <table>
-                               <tr>
-                               <td><%text(_AUTOSAVEDRAFT)%></td>
-                               <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
-                               </tr>
-                               <tr>
-                               <td><%text(_ADD_TITLE)%></td>
-                               <td>
-                               <input 
-                                       <%jsinput(title)%>
-                                       type="text" size="60" maxlength="160" 
-                                       value="<%contents(title)%>"
-                               /></td>
-                               </tr><tr>
-                               <td>
-                               <%text(_ADD_BODY)%> <%helplink(additem)%></td>
-                               <td>
-                               <%jsbuttonbar(media)%>
-                               <textarea 
-                                       <%jsinput(body)%>
-                                       cols="58" 
-                                       rows="12"><%contents(body)%></textarea>
-                                       
-                               </td></tr>
-                               <tr><td>
-                               <%text(_ADD_CATEGORY)%></td>
-                               <td><%categories%></td>
-                               </tr>
-                               <tr>
-                               <td><%text(_AUTOSAVEDRAFT_NOW)%></td>
-                               <td><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>" onclick="autoSaveDraft();" /></td>
-                               </tr>
-                               </table>
-
-                                       
-                       </div>
-                       
-                       <div id="more" class="contentblock">
-                               <table>
-                               <tr>
-                               <td><%text(_ADD_MORE)%> <%helplink(extended)%></td>
-                               <td>
-                               <%jsbuttonbar(media)%>
-                               <textarea 
-                                       <%jsinput(more)%>
-                                       cols="58" 
-                                       rows="17"><%contents(more)%></textarea>
-                               </td></tr></table>
-                       </div>
-                       <div id="options" class="contentblock">
-                               <table>
-                               <%ifblogsetting(bcomments)%>
-                                       <tr>
-                                       <td><%text(_ADD_DISABLE_COMMENTS)%></td>
-                                       <td>
-                                       <input type='radio' name='closed' value='1' id="closed_yes" /><label for="closed_yes"><%text(_YES)%></label>
-                                       <input type='radio' name='closed' value='0' checked='checked' id="closed_no"/><label for="closed_no"><%text(_NO)%></label>
-                                       </td>
-                                       </tr>
-                               <%endif%>
-                               
-                               <tr>
-                               <td><%text(_ADD_DRAFTNFUTURE)%></td>
-                               <td>
-                                       <input name="actiontype" value="addnow" type="radio" checked='checked' id="act_now" /><label for="act_now"><%text(_ADD_ADDNOW)%></label>
-                                       <br />
-                                       <input name="actiontype" value="addfuture" type="radio" id="act_future" /><label for="act_future"><%text(_ADD_ADDLATER)%></label> <%helplink(future)%>
-                                       <div class="indent">
-                                               <%text(_ADD_PLACE_ON)%>
-                                               <input id="inputyear" name="year" size="4" value="<%currenttime(year)%>" />ǯ
-                                               <input id="inputmonth" name="month" size="2" value="<%currenttime(mon)%>" />·î
-                                               <input id="inputday" name="day" size="2" value="<%currenttime(mday)%>" />Æü
-                                               <input id="inputhour" name="hour" size="2" value="<%currenttime(hours)%>" />»þ
-                                               <input id="inputminutes" name="minutes" size="2" value="<%currenttime(minutes)%>" />ʬ
-                                               <br />
-                                               ¥Õ¥©¡¼¥Þ¥Ã¥È¡§(yyyy)ǯ(mm)·î(dd)Æü (hh)»þ(mm)ʬ
-                                               <%ifblogsetting(ballowpast,0)%>
-                                                       <br />
-                                                       <%text(_ADD_NOPASTDATES)%>
-                                               <%endif%>
-                                       </div>
-                                       <input name="actiontype" value="adddraft" type="radio" id="act_draft" /><label for="act_draft"><%text(_ADD_ADDDRAFT)%></label> <%helplink(draft)%>
-                               </td>
-                               </tr>
-                               <tr>
-                               <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
-                               <td>
-                               <%pluginextras%></td>
-                               </tr>
-                               
-                               
-                                 <%itemoptions%>
-                               </table>
-                               
-
-                       </div>
-                       
-                       <div id="preview" class="contentblock">
-                               <h2><%text(_ADD_PREVIEW)%></h2>
-                               
-                               <b><span id="prevtitle">&#160;</span></b>
-                               <br />
-                               <span id="prevbody">&#160;</span>
-                               <br />
-                               <span id="prevmore">&#160;</span>
-                       </div>
-                       
-               </div></form>
-
-       <script type="text/javascript">
-               var xmlhttprequest = new Array();
-               xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
-               xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
-               var seconds = now(); // Last AutoDraft time
-               var checks = 0; // Number of checks since last AutoDraft
-               var addform = document.getElementById('addform'); // The form id
-               var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
-               var goalurl = '../action.php'; // The PHP file where the content must be posted to
-               var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
-               var formtype = 'add'; // Add or edit form
-       </script>
-
-       </body>
-       </html>
-
diff --git a/euc/nucleus/libs/include/bookmarklet-edit.template b/euc/nucleus/libs/include/bookmarklet-edit.template
deleted file mode 100755 (executable)
index 2bf36ba..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <title><%text(_EDIT_ITEM)%></title>
-               <link rel="stylesheet" type="text/css" href="styles/bookmarklet.css" />
-               <link rel="stylesheet" type="text/css" href="styles/addedit.css" />                             
-               <script type="text/javascript" src="javascript/bookmarklet.js"></script>
-               <script type="text/javascript" src="javascript/edit.js"></script>
-               <script type="text/javascript" src="javascript/numbercheck.js"></script>
-               <script type="text/javascript" src="javascript/xmlhttprequest.js"></script>
-               <%init%>
-               <%extrahead%>
-               <script type="text/javascript">
-                       var nucleus_initbm_oldonload = window.onload;
-                       function nucleus_initbm()
-                       {
-                               initStyles(); 
-                               updAllPreviews();
-
-                               if (nucleus_initbm_oldonload)
-                                       nucleus_initbm_oldonload();
-                       }
-                       window.onload = nucleus_initbm;
-               </script>
-       </head>
-       <body>
-               <h1><%text(_EDIT_ITEM)%> (<%contents(itemid)%>)</h1>
-               <form id="editform" method="post" action="bookmarklet.php" ><div>
-                       
-                       <input name="action" type="hidden" value="edititem" />
-                       <input name="itemid" type="hidden" value="<%contents(itemid)%>" />
-                       <input type="hidden" name="draftid" value="0" />
-                       <%ticket%>
-                       
-                       <div id="submit" class="buttonbar">
-                               <input type="submit" value="<%text(_BMLET_EDIT)%>" onclick="return checkSubmit();" />
-                               <div id="switchbuttons">
-                                       <input type="button" onclick="flipBlock('body');" value="<%text(_BMLET_BODY)%> &gt;&gt;" />
-                                       <input type="button" onclick="flipBlock('more');" value="<%text(_BMLET_MORE)%> &gt;&gt;" />
-                                       <input type="button" onclick="flipBlock('options');" value="<%text(_BMLET_OPTIONS)%> &gt;&gt;" />
-                                       <input type="button" onclick="updAllPreviews(); flipBlock('preview');" value="<%text(_BMLET_PREVIEW)%> &gt;&gt;" />
-                               </div>
-                       </div>
-
-                       <div id="body" class="contentblock">
-                               <table>
-                               <tr>
-                               <td><%text(_AUTOSAVEDRAFT)%></td>
-                               <td><span id="info"><%text(_AUTOSAVEDRAFT_NOTYETSAVED)%></span></td>
-                               </tr>
-                               <tr>
-                               <td><%text(_ADD_TITLE)%></td>
-                               <td><input 
-                                       <%jsinput(title)%>
-                                       type="text" size="60" maxlength="160" 
-                                       value="<%contents(title)%>"
-                               /></td></tr>
-                       
-                               <tr><td>
-                               <%text(_ADD_BODY)%>
-                               </td><td>
-                               <%jsbuttonbar(media)%>
-                               <textarea 
-                                       <%jsinput(body)%>
-                                       cols="58" 
-                                       rows="12"><%contents(body)%></textarea>
-
-                               </td></tr>
-                               <tr>
-                               <td><%text(_ADD_CATEGORY)%></td>
-                               <td><%categories%></td>
-                               </tr>
-                               <tr>
-                               <td><%text(_AUTOSAVEDRAFT_NOW)%></td>
-                               <td><input tabindex="80" type="button" name="autosavenow" value="<%text(_AUTOSAVEDRAFT_NOW)%>" onclick="autoSaveDraft();" /></td>
-                               </tr>
-                               </table>
-                                       
-                       </div>
-                       
-                       <div id="more" class="contentblock">
-                               <table>
-                               <tr>
-                               <td><%text(_ADD_MORE)%> <%helplink(extended)%></td>
-                               <td>
-                               <%jsbuttonbar(media)%>
-                               <textarea 
-                                       <%jsinput(more)%>
-                                       cols="58" 
-                                       rows="17"><%contents(more)%></textarea>
-                               </td></tr></table>
-                       </div>
-                       <div id="options" class="contentblock">
-                               <table>
-                               <%ifblogsetting(bcomments)%>
-                                       <tr>
-                                       <td><%text(_ADD_DISABLE_COMMENTS)%></td>
-                                       <td>
-                                   <input type="radio" name="closed" value="1" id="closed_yes" <%checkedonval(1,closed)%> /><label for="closed_yes"><%text(_YES)%></label>
-                                   <input type="radio" name="closed" value="0" id="closed_no" <%checkedonval(0,closed)%> /><label for="closed_no"><%text(_NO)%></label>
-                                       </td>
-                                       </tr>
-                               <%endif%>
-                               
-                               <!-- The only actiontypes are 'edit', 'changedate' (no draft items can be edited) and 'delete' -->
-                               <tr>
-                               <td>Action</td>
-                               <td>
-                               <ul class="nobullets">
-                                       <li><input name="actiontype" value="edit" type="radio" checked="checked" id="act_edit" /><label for="act_edit"><%text(_BMLET_EDIT)%></label></li>
-                                       <li><input name="actiontype" value="delete" type="radio" id="act_delete" /><label for="act_delete"><%text(_BMLET_DELETE)%></label></li>
-                                       <%ifblogsetting(ballowpast)%>
-                                               <li>
-                                                       <input name="actiontype" value="changedate" type="radio" id="act_changedate" tabindex="70" /><label for="act_changedate"><%text(_BMLET_CHANGEDATE)%></label> <%helplink(changedate)%>
-                                                                       <div class="indent">
-                                                                               <input id="inputyear" name="year" tabindex="71" size="4" value="<%itemtime(year)%>" />ǯ
-                                                                               <input id="inputmonth" name="month" tabindex="72" size="2" value="<%itemtime(mon)%>" />·î
-                                                                               <input id="inputday" name="day" tabindex="73" size="2" value="<%itemtime(mday)%>" />Æü
-                                                                               <input id="inputhour" name="hour" tabindex="74" size="2" value="<%itemtime(hours)%>" />»þ
-                                                                               <input id="inputminutes" name="minutes" tabindex="75" size="2" value="<%itemtime(minutes)%>" />ʬ
-                                                                               <br />
-                                                                               ¥Õ¥©¡¼¥Þ¥Ã¥È¡§(yyyy)ǯ(mm)·î(dd)Æü (hh)»þ(mm)ʬ
-                                                                       </div>
-                                                       </li>
-                                       <%endif%>                                               
-                               </ul>
-                               </td></tr>
-                               
-                               <tr>
-                               <td><%text(_ADD_PLUGIN_EXTRAS)%></td>
-                               <td>
-                               <%pluginextras%>
-                               </td></tr>
-                               
-                                 <%itemoptions%>
-                               </table>
-                               
-                       </div>
-                       
-                       <div id="preview" class="contentblock">
-                               <h2><%text(_ADD_PREVIEW)%></h2>
-                               
-                               <b><span id="prevtitle">&#160;</span></b>
-                               <br />
-                               <span id="prevbody">&#160;</span>
-                               <br />
-                               <span id="prevmore">&#160;</span>
-                       </div>
-                       
-               </div></form>
-
-       <script type="text/javascript">
-               var xmlhttprequest = new Array();
-               xmlhttprequest[0] = createHTTPHandler(); // AutoDraft handler
-               xmlhttprequest[1] = createHTTPHandler(); // UpdateTicket handler
-               var seconds = now(); // Last AutoDraft time
-               var checks = 0; // Number of checks since last AutoDraft
-               var addform = document.getElementById('editform'); // The form id
-               var goal = document.getElementById('info'); // The html div id where 'Last saved: date time' must come
-               var goalurl = '../action.php'; // The PHP file where the content must be posted to
-               var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
-               var formtype = 'edit'; // Add or edit form
-       </script>
-
-       </body>
-       </html>
-
diff --git a/euc/nucleus/libs/include/index.html b/euc/nucleus/libs/include/index.html
deleted file mode 100755 (executable)
index d004b8f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html\r
-PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\r
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/libs/include/readme.txt b/euc/nucleus/libs/include/readme.txt
deleted file mode 100755 (executable)
index 2853180..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-README for the libs/include directory\r
--------------------------------------\r
-\r
-This directory contains templates used by the admin-area. \r
-They're not really intended to be edited by the people using Nucleus (i.e. there's \r
-no documentation and little support). But if you really can't stop yourself,\r
-go ahead :)
\ No newline at end of file
diff --git a/euc/nucleus/libs/index.html b/euc/nucleus/libs/index.html
deleted file mode 100755 (executable)
index 50f792c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/libs/mb_emulator/convert.table b/euc/nucleus/libs/mb_emulator/convert.table
deleted file mode 100755 (executable)
index b1e0e17..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-$mbemu_internals['sjistoeuc_byte1'] = array(
-129 => 161 ,130 => 163 ,131 => 165 ,132 => 167 ,133 => 169 ,134 => 171 ,
-135 => 173 ,136 => 175 ,137 => 177 ,138 => 179 ,139 => 181 ,140 => 183 ,
-141 => 185 ,142 => 187 ,143 => 189 ,144 => 191 ,145 => 193 ,146 => 195 ,
-147 => 197 ,148 => 199 ,149 => 201 ,150 => 203 ,151 => 205 ,152 => 207 ,
-153 => 209 ,154 => 211 ,155 => 213 ,156 => 215 ,157 => 217 ,158 => 219 ,
-159 => 221 ,224 => 223 ,225 => 225 ,226 => 227 ,227 => 229 ,228 => 231 ,
-229 => 233 ,230 => 235 ,231 => 237 ,232 => 239 ,233 => 241 ,234 => 243 ,
-235 => 245 ,236 => 247 ,237 => 249 ,238 => 251 ,239 => 253 ,240 => 255 );
-
-$mbemu_internals['sjistoeuc_byte2'] = array(
-0 => array(
-64 => 161 ,65 => 162 ,66 => 163 ,67 => 164 ,68 => 165 ,69 => 166 ,
-70 => 167 ,71 => 168 ,72 => 169 ,73 => 170 ,74 => 171 ,75 => 172 ,
-76 => 173 ,77 => 174 ,78 => 175 ,79 => 176 ,80 => 177 ,81 => 178 ,
-82 => 179 ,83 => 180 ,84 => 181 ,85 => 182 ,86 => 183 ,87 => 184 ,
-88 => 185 ,89 => 186 ,90 => 187 ,91 => 188 ,92 => 189 ,93 => 190 ,
-94 => 191 ,95 => 192 ,96 => 193 ,97 => 194 ,98 => 195 ,99 => 196 ,
-100 => 197 ,101 => 198 ,102 => 199 ,103 => 200 ,104 => 201 ,105 => 202 ,
-106 => 203 ,107 => 204 ,108 => 205 ,109 => 206 ,110 => 207 ,111 => 208 ,
-112 => 209 ,113 => 210 ,114 => 211 ,115 => 212 ,116 => 213 ,117 => 214 ,
-118 => 215 ,119 => 216 ,120 => 217 ,121 => 218 ,122 => 219 ,123 => 220 ,
-124 => 221 ,125 => 222 ,126 => 223 ,128 => 224 ,129 => 225 ,130 => 226 ,
-131 => 227 ,132 => 228 ,133 => 229 ,134 => 230 ,135 => 231 ,136 => 232 ,
-137 => 233 ,138 => 234 ,139 => 235 ,140 => 236 ,141 => 237 ,142 => 238 ,
-143 => 239 ,144 => 240 ,145 => 241 ,146 => 242 ,147 => 243 ,148 => 244 ,
-149 => 245 ,150 => 246 ,151 => 247 ,152 => 248 ,153 => 249 ,154 => 250 ,
-155 => 251 ,156 => 252 ,157 => 253 ,158 => 254 ),
-1 => array(
-159 => 161 ,160 => 162 ,
-161 => 163 ,162 => 164 ,163 => 165 ,164 => 166 ,165 => 167 ,166 => 168 ,
-167 => 169 ,168 => 170 ,169 => 171 ,170 => 172 ,171 => 173 ,172 => 174 ,
-173 => 175 ,174 => 176 ,175 => 177 ,176 => 178 ,177 => 179 ,178 => 180 ,
-179 => 181 ,180 => 182 ,181 => 183 ,182 => 184 ,183 => 185 ,184 => 186 ,
-185 => 187 ,186 => 188 ,187 => 189 ,188 => 190 ,189 => 191 ,190 => 192 ,
-191 => 193 ,192 => 194 ,193 => 195 ,194 => 196 ,195 => 197 ,196 => 198 ,
-197 => 199 ,198 => 200 ,199 => 201 ,200 => 202 ,201 => 203 ,202 => 204 ,
-203 => 205 ,204 => 206 ,205 => 207 ,206 => 208 ,207 => 209 ,208 => 210 ,
-209 => 211 ,210 => 212 ,211 => 213 ,212 => 214 ,213 => 215 ,214 => 216 ,
-215 => 217 ,216 => 218 ,217 => 219 ,218 => 220 ,219 => 221 ,220 => 222 ,
-221 => 223 ,222 => 224 ,223 => 225 ,224 => 226 ,225 => 227 ,226 => 228 ,
-227 => 229 ,228 => 230 ,229 => 231 ,230 => 232 ,231 => 233 ,232 => 234 ,
-233 => 235 ,234 => 236 ,235 => 237 ,236 => 238 ,237 => 239 ,238 => 240 ,
-239 => 241 ,240 => 242 ,241 => 243 ,242 => 244 ,243 => 245 ,244 => 246 ,
-245 => 247 ,246 => 248 ,247 => 249 ,248 => 250 ,249 => 251 ,250 => 252 ,
-251 => 253 ,252 => 254 ));
-
-$mbemu_internals['sjistoeuc_byte1_shift'] = array (
-64 => 0 ,65 => 0 ,66 => 0 ,67 => 0 ,68 => 0 ,69 => 0 ,
-70 => 0 ,71 => 0 ,72 => 0 ,73 => 0 ,74 => 0 ,75 => 0 ,
-76 => 0 ,77 => 0 ,78 => 0 ,79 => 0 ,80 => 0 ,81 => 0 ,
-82 => 0 ,83 => 0 ,84 => 0 ,85 => 0 ,86 => 0 ,87 => 0 ,
-88 => 0 ,89 => 0 ,90 => 0 ,91 => 0 ,92 => 0 ,93 => 0 ,
-94 => 0 ,95 => 0 ,96 => 0 ,97 => 0 ,98 => 0 ,99 => 0 ,
-100 => 0 ,101 => 0 ,102 => 0 ,103 => 0 ,104 => 0 ,105 => 0 ,
-106 => 0 ,107 => 0 ,108 => 0 ,109 => 0 ,110 => 0 ,111 => 0 ,
-112 => 0 ,113 => 0 ,114 => 0 ,115 => 0 ,116 => 0 ,117 => 0 ,
-118 => 0 ,119 => 0 ,120 => 0 ,121 => 0 ,122 => 0 ,123 => 0 ,
-124 => 0 ,125 => 0 ,126 => 0 ,128 => 0 ,129 => 0 ,130 => 0 ,
-131 => 0 ,132 => 0 ,133 => 0 ,134 => 0 ,135 => 0 ,136 => 0 ,
-137 => 0 ,138 => 0 ,139 => 0 ,140 => 0 ,141 => 0 ,142 => 0 ,
-143 => 0 ,144 => 0 ,145 => 0 ,146 => 0 ,147 => 0 ,148 => 0 ,
-149 => 0 ,150 => 0 ,151 => 0 ,152 => 0 ,153 => 0 ,154 => 0 ,
-155 => 0 ,156 => 0 ,157 => 0 ,158 => 0 ,159 => 1 ,160 => 1 ,
-161 => 1 ,162 => 1 ,163 => 1 ,164 => 1 ,165 => 1 ,166 => 1 ,
-167 => 1 ,168 => 1 ,169 => 1 ,170 => 1 ,171 => 1 ,172 => 1 ,
-173 => 1 ,174 => 1 ,175 => 1 ,176 => 1 ,177 => 1 ,178 => 1 ,
-179 => 1 ,180 => 1 ,181 => 1 ,182 => 1 ,183 => 1 ,184 => 1 ,
-185 => 1 ,186 => 1 ,187 => 1 ,188 => 1 ,189 => 1 ,190 => 1 ,
-191 => 1 ,192 => 1 ,193 => 1 ,194 => 1 ,195 => 1 ,196 => 1 ,
-197 => 1 ,198 => 1 ,199 => 1 ,200 => 1 ,201 => 1 ,202 => 1 ,
-203 => 1 ,204 => 1 ,205 => 1 ,206 => 1 ,207 => 1 ,208 => 1 ,
-209 => 1 ,210 => 1 ,211 => 1 ,212 => 1 ,213 => 1 ,214 => 1 ,
-215 => 1 ,216 => 1 ,217 => 1 ,218 => 1 ,219 => 1 ,220 => 1 ,
-221 => 1 ,222 => 1 ,223 => 1 ,224 => 1 ,225 => 1 ,226 => 1 ,
-227 => 1 ,228 => 1 ,229 => 1 ,230 => 1 ,231 => 1 ,232 => 1 ,
-233 => 1 ,234 => 1 ,235 => 1 ,236 => 1 ,237 => 1 ,238 => 1 ,
-239 => 1 ,240 => 1 ,241 => 1 ,242 => 1 ,243 => 1 ,244 => 1 ,
-245 => 1 ,246 => 1 ,247 => 1 ,248 => 1 ,249 => 1 ,250 => 1 ,
-251 => 1 ,252 => 1 );
-
-$mbemu_internals['euctosjis_byte1'] = array(
-161 => 129, 162 => 129, 163 => 130, 164 => 130, 165 => 131, 
-166 => 131, 167 => 132, 168 => 132, 169 => 133, 170 => 133, 
-171 => 134, 172 => 134, 173 => 135, 174 => 135, 175 => 136, 
-176 => 136, 177 => 137, 178 => 137, 179 => 138, 180 => 138, 
-181 => 139, 182 => 139, 183 => 140, 184 => 140, 185 => 141, 
-186 => 141, 187 => 142, 188 => 142, 189 => 143, 190 => 143, 
-191 => 144, 192 => 144, 193 => 145, 194 => 145, 195 => 146, 
-196 => 146, 197 => 147, 198 => 147, 199 => 148, 200 => 148, 
-201 => 149, 202 => 149, 203 => 150, 204 => 150, 205 => 151, 
-206 => 151, 207 => 152, 208 => 152, 209 => 153, 210 => 153, 
-211 => 154, 212 => 154, 213 => 155, 214 => 155, 215 => 156, 
-216 => 156, 217 => 157, 218 => 157, 219 => 158, 220 => 158, 
-221 => 159, 222 => 159, 223 => 224, 224 => 224, 225 => 225, 
-226 => 225, 227 => 226, 228 => 226, 229 => 227, 230 => 227, 
-231 => 228, 232 => 228, 233 => 229, 234 => 229, 235 => 230, 
-236 => 230, 237 => 231, 238 => 231, 239 => 232, 240 => 232, 
-241 => 233, 242 => 233, 243 => 234, 244 => 234, 245 => 235, 
-246 => 235, 247 => 236, 248 => 236, 249 => 237, 250 => 237, 
-251 => 238, 252 => 238, 253 => 239, 254 => 239, 255 => 240);
-
-$mbemu_internals['euctosjis_byte2'] = array(
-0 => array(
-161 => 64, 162 => 65, 163 => 66, 164 => 67, 165 => 68, 
-166 => 69, 167 => 70, 168 => 71, 169 => 72, 170 => 73, 
-171 => 74, 172 => 75, 173 => 76, 174 => 77, 175 => 78, 
-176 => 79, 177 => 80, 178 => 81, 179 => 82, 180 => 83, 
-181 => 84, 182 => 85, 183 => 86, 184 => 87, 185 => 88, 
-186 => 89, 187 => 90, 188 => 91, 189 => 92, 190 => 93, 
-191 => 94, 192 => 95, 193 => 96, 194 => 97, 195 => 98, 
-196 => 99, 197 => 100, 198 => 101, 199 => 102, 200 => 103, 
-201 => 104, 202 => 105, 203 => 106, 204 => 107, 205 => 108, 
-206 => 109, 207 => 110, 208 => 111, 209 => 112, 210 => 113, 
-211 => 114, 212 => 115, 213 => 116, 214 => 117, 215 => 118, 
-216 => 119, 217 => 120, 218 => 121, 219 => 122, 220 => 123, 
-221 => 124, 222 => 125, 223 => 126, 224 => 128, 225 => 129, 
-226 => 130, 227 => 131, 228 => 132, 229 => 133, 230 => 134, 
-231 => 135, 232 => 136, 233 => 137, 234 => 138, 235 => 139, 
-236 => 140, 237 => 141, 238 => 142, 239 => 143, 240 => 144, 
-241 => 145, 242 => 146, 243 => 147, 244 => 148, 245 => 149, 
-246 => 150, 247 => 151, 248 => 152, 249 => 153, 250 => 154, 
-251 => 155, 252 => 156, 253 => 157, 254 => 158),
-1 => array(
-161 => 159, 162 => 160, 163 => 161, 164 => 162, 165 => 163, 
-166 => 164, 167 => 165, 168 => 166, 169 => 167, 170 => 168, 
-171 => 169, 172 => 170, 173 => 171, 174 => 172, 175 => 173, 
-176 => 174, 177 => 175, 178 => 176, 179 => 177, 180 => 178, 
-181 => 179, 182 => 180, 183 => 181, 184 => 182, 185 => 183, 
-186 => 184, 187 => 185, 188 => 186, 189 => 187, 190 => 188, 
-191 => 189, 192 => 190, 193 => 191, 194 => 192, 195 => 193, 
-196 => 194, 197 => 195, 198 => 196, 199 => 197, 200 => 198, 
-201 => 199, 202 => 200, 203 => 201, 204 => 202, 205 => 203, 
-206 => 204, 207 => 205, 208 => 206, 209 => 207, 210 => 208, 
-211 => 209, 212 => 210, 213 => 211, 214 => 212, 215 => 213, 
-216 => 214, 217 => 215, 218 => 216, 219 => 217, 220 => 218, 
-221 => 219, 222 => 220, 223 => 221, 224 => 222, 225 => 223, 
-226 => 224, 227 => 225, 228 => 226, 229 => 227, 230 => 228, 
-231 => 229, 232 => 230, 233 => 231, 234 => 232, 235 => 233, 
-236 => 234, 237 => 235, 238 => 236, 239 => 237, 240 => 238, 
-241 => 239, 242 => 240, 243 => 241, 244 => 242, 245 => 243, 
-246 => 244, 247 => 245, 248 => 246, 249 => 247, 250 => 248, 
-251 => 249, 252 => 250, 253 => 251, 254 => 252));
-
-$mbemu_internals['alphanumeric_convert'] = array (
-0x20 => "\xa1\xa1",0x21 => "\xa1\xaa",0x23 => "\xa1\xf4",0x24 => 
-"\xa1\xf0",0x25 => "\xa1\xf3",
-0x26 => "\xa1\xf5",0x28 => "\xa1\xca",0x29 => "\xa1\xcb",0x2a => "\xa1\xf6",
-0x2b => "\xa1\xdc",0x2c => "\xa1\xa4",0x2d => "\xa1\xdd",0x2e => "\xa1\xa5",
-0x2f => "\xa1\xbf",0x30 => "\xa3\xb0",0x31 => "\xa3\xb1",0x32 => "\xa3\xb2",
-0x33 => "\xa3\xb3",0x34 => "\xa3\xb4",0x35 => "\xa3\xb5",0x36 => "\xa3\xb6",
-0x37 => "\xa3\xb7",0x38 => "\xa3\xb8",0x39 => "\xa3\xb9",0x3a => "\xa1\xa7",
-0x3b => "\xa1\xa8",0x3c => "\xa1\xe3",0x3d => "\xa1\xe1",0x3e => "\xa1\xe4",
-0x3f => "\xa1\xa9",0x40 => "\xa1\xf7",0x41 => "\xa3\xc1",0x42 => "\xa3\xc2",
-0x43 => "\xa3\xc3",0x44 => "\xa3\xc4",0x45 => "\xa3\xc5",0x46 => "\xa3\xc6",
-0x47 => "\xa3\xc7",0x48 => "\xa3\xc8",0x49 => "\xa3\xc9",0x4a => "\xa3\xca",
-0x4b => "\xa3\xcb",0x4c => "\xa3\xcc",0x4d => "\xa3\xcd",0x4e => "\xa3\xce",
-0x4f => "\xa3\xcf",0x50 => "\xa3\xd0",0x51 => "\xa3\xd1",0x52 => "\xa3\xd2",
-0x53 => "\xa3\xd3",0x54 => "\xa3\xd4",0x55 => "\xa3\xd5",0x56 => "\xa3\xd6",
-0x57 => "\xa3\xd7",0x58 => "\xa3\xd8",0x59 => "\xa3\xd9",0x5a => "\xa3\xda",
-0x5b => "\xa1\xce",0x5d => "\xa1\xcf",0x5e => "\xa1\xb0",0x5f => "\xa1\xb2",
-0x61 => "\xa3\xe1",0x62 => "\xa3\xe2",0x63 => "\xa3\xe3",0x64 => "\xa3\xe4",
-0x65 => "\xa3\xe5",0x66 => "\xa3\xe6",0x67 => "\xa3\xe7",0x68 => "\xa3\xe8",
-0x69 => "\xa3\xe9",0x6a => "\xa3\xea",0x6b => "\xa3\xeb",0x6c => "\xa3\xec",
-0x6d => "\xa3\xed",0x6e => "\xa3\xee",0x6f => "\xa3\xef",0x70 => "\xa3\xf0",
-0x71 => "\xa3\xf1",0x72 => "\xa3\xf2",0x73 => "\xa3\xf3",0x74 => "\xa3\xf4",
-0x75 => "\xa3\xf5",0x76 => "\xa3\xf6",0x77 => "\xa3\xf7",0x78 => "\xa3\xf8",
-0x79 => "\xa3\xf9",0x7a => "\xa3\xfa",0x7b => "\xa1\xd0",0x7c => "\xa1\xc3",
-0x7d => "\xa1\xd1");
-
-$mbemu_internals['kana_zenhan_convert'] = array (
-0xa1 => "\xa7",0xa2 => "\xb1",0xa3 => "\xa8",0xa4 => "\xb2",
-0xa5 => "\xa9",0xa6 => "\xb3",0xa7 => "\xaa",0xa8 => "\xb4",
-0xa9 => "\xab",0xaa => "\xb5",0xab => "\xb6",0xac => "\xb6\x8e\xde",
-0xad => "\xb7",0xae => "\xb7\x8e\xde",0xaf => "\xb8",
-0xb0 => "\xb8\x8e\xde",0xb1 => "\xb9",0xb2 => "\xb9\x8e\xde",
-0xb3 => "\xba",0xb4 => "\xba\x8e\xde",0xb5 => "\xbb",
-0xb6 => "\xbb\x8e\xde",0xb7 => "\xbc",0xb8 => "\xbc\x8e\xde",
-0xb9 => "\xbd",0xba => "\xbd\x8e\xde",0xbb => "\xbe",
-0xbc => "\xbe\x8e\xde",0xbd => "\xbf",0xbe => "\xbf\x8e\xde",
-0xbf => "\xc0",0xc0 => "\xc0\x8e\xde",0xc1 => "\xc1",
-0xc2 => "\xc1\x8e\xde",0xc3 => "\xaf",0xc4 => "\xc2",
-0xc5 => "\xc2\x8e\xde",0xc6 => "\xc3",0xc7 => "\xc3\x8e\xde",
-0xc8 => "\xc4",0xc9 => "\xc4\x8e\xde",0xca => "\xc5",
-0xcb => "\xc6",0xcc => "\xc7",0xcd => "\xc8",0xce => "\xc9",
-0xcf => "\xca",0xd0 => "\xca\x8e\xde",0xd1 => "\xca\x8e\xdf",
-0xd2 => "\xcb",0xd3 => "\xcb\x8e\xde",0xd4 => "\xcb\x8e\xdf",
-0xd5 => "\xcc",0xd6 => "\xcc\x8e\xde",0xd7 => "\xcc\x8e\xdf",
-0xd8 => "\xcd",0xd9 => "\xcd\x8e\xde",0xda => "\xcd\x8e\xdf",0xdb => "\xce",
-0xdc => "\xce\x8e\xde",0xdd => "\xce\x8e\xdf",0xde => "\xcf",0xdf => "\xd0",
-0xe0 => "\xd1",0xe1 => "\xd2",0xe2 => "\xd3",0xe3 => "\xac",0xe4 => "\xd4",
-0xe5 => "\xad",0xe6 => "\xd5",0xe7 => "\xae",0xe8 => "\xd6",0xe9 => "\xd7",
-0xea => "\xd8",0xeb => "\xd9",0xec => "\xda",0xed => "\xdb",0xef => "\xdc",
-0xee => "\xdc",0xf0 => "\xb2",0xf1 => "\xb4",0xf2 => "\xa6",0xf3 => "\xdd",
-0xf4 => "\xb3\x8e\xde");
-
-$mbemu_internals['special_zenhan_convert'] = array(
-0xa2 => "\xa4",0xa3 => "\xa1",0xa6 => "\xa5",0xab => "\xde",
-0xac => "\xdf",0xbc => "\xb0",0xd6 => "\xa2",0xd7 => "\xa3");
-
-
-
-
-
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/mb_emulator/history.html b/euc/nucleus/libs/mb_emulator/history.html
deleted file mode 100755 (executable)
index eb0c7f8..0000000
+++ /dev/null
@@ -1,1031 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-
-  <meta http-equiv="CONTENT-TYPE" content="text/html; charset=shift_jis">
-  <title>\95Ï\8dX\97\9a\97ð</title>
-
-
-  <meta name="GENERATOR" content="OpenOffice.org 1.1.3 (Win32)">
-
-  <meta name="CREATED" content="20050130;2310982">
-
-  <meta name="CHANGED" content="20050130;2372139">
-
-</head>
-
-
-<body style="direction: ltr;" lang="ja-JP">
-
-<h2>\95Ï\8dX\97\9a\97ð</h2>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">mbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese Ver.0.84</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2006/1/23</span></font>\81j</h3>
-
-<ul>
-
-  <li>\83V\83t\83gJIS\82Å\94¼\8ap\83J\83\93\83}\82Ì\8f\88\97\9d\82ª\82¨\82©\82µ\82©\82Á\82½\82Ì\82ð\8fC\90³\82µ\82Ü\82µ\82½</li>
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">mbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese Ver.0.83</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2005/12/15</span></font>\81j</h3>
-
-<ul>
-
-  <li>mb_send_mail\82Åmb_language\82ªja\82¾\82Á\82½\82Æ\82«\82É\91Î\89\9e\82µ\82Ü\82µ\82½</li>
-  <li>mb_send_mail\82Å\93ú\96{\8cê\8f\88\97\9d\82Ì\8dÅ\8cã\82Ébreak\82ª\82È\82©\82Á\82½\82Ì\82Å\89Á\82¦\82Ü\82µ\82½</li>
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">mbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese Ver.0.82</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2005/11/28</span></font>\81j</h3>
-
-<ul>
-
-  <li>mb_language\82Å\83p\83\89\83\81\81[\83^\82ª\82È\82©\82Á\82½\8fê\8d\87\82Éwarning\82ª\8fo\82Ä\82µ\82Ü\82¤\82Ì\82ð\8fC\90³\82µ\82Ü\82µ\82½</li>
-  <li>mb_send_mail\93à\95\94\82Å_is_encoded\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\82¢\82é\82Ì\82ð_check_encoding\82ð\8cÄ\82Ô\82æ\82¤\82É\8fC\90³\82µ\82Ü\82µ\82½</li>
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">mbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese Ver.0.81</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2005/10/09</span></font>\81j</h3>
-
-<ul>
-
-  <li>$jis_match\82ª\96¢\92è\8b`\82¾\82Á\82½\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½</li>
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">mbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese Ver.0.8</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2005/8/23</span></font>\81j</h3>
-
-<ul>
-
-  <li>\96¼\8fÌ\82ðmbstring\83G\83~\83\85\83\8c\81[\83^ for Japanese\82É\95Ï\8dX\82µ\82Ü\82µ\82½</li>
-  <li>
-mb_substitute_character\83T\83|\81[\83g\82µ\82Ü\82µ\82½
-  </li>
-
-  <li>
-mb_convert_case\83T\83|\81[\83g\82µ\82Ü\82µ\82½
-  </li>
-
-  <li>
-mb_get_info\83T\83|\81[\83g\82µ\82Ü\82µ\82½
-  </li>
-
-  <li>
-mb_strtolower\83T\83|\81[\83g\82µ\82Ü\82µ\82½
-  </li>
-
-  <li>
-mb_strtoupper\83T\83|\81[\83g\82µ\82Ü\82µ\82½</li>
-  <li>MB_CASE_UPPER\81CMB_CASE_LOWER\81CMB_CASE_CASE\82ð\92è\8b`\82µ\82Ü\82µ\82½</li>
-
-  <li>\83O\83\8d\81[\83o\83\8b\95Ï\90\94\82ð$mbemu_internals\82É\8fW\96ñ\82µ\82Ü\82µ\82½</li>
-
-  <li>\83G\83\93\83R\81[\83f\83B\83\93\83O\82ÉSHIFT_JIS\81CISO-8859-1\82ð\92Ç\89Á\82µ\82Ü\82µ\82½</li>
-
-  <li>\95Ï\8a·\83e\81[\83u\83\8b\82ð\95K\97v\8e\9e\82É\93Ç\82Ý\8d\9e\82Þ\82æ\82¤\82É\8fC\90³\82µ\82Ü\82µ\82½</li>
-  <li>
-               mb_convert_kana\82Ì\83G\83\93\83R\81[\83f\83B\83\93\83O\82ª\8ew\92è\82³\82ê\82Ä\82¢\82È\82¢\82Æ\82«\81Cinternal_encoding\82Ì\92l\82ð\8eg\82¤\82æ\82¤\82É\8fC\90³\82µ\82Ü\82µ\82½</li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.37</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2005/1/30</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">JIS</span></font>\82Ì\83}\83b\83`\83\93\83O\82Ì\83o\83O\82ð\8dÄ\82Ñ\8fC\90³\82µ\82Ü\82µ\82½\81B
-    </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.36</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2004/11/13</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">JIS</span></font>\82Ì\83}\83b\83`\83\93\83O\82Ì\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.35</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2004/9/26</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_send_mail</span></font>\82Ì\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ
-\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.341</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2004/9/16</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_kana</span></font>\82Ì\83o\83O\82ð\8fC\90³\82µ
-\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.34</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2004/9/15</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_kana</span></font>\82Ì\83o\83O\82ð\8fC\90³\82µ
-\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.33</span></font>\81i<font face="Times New Roman, serif"><span lang="en-US">2004/8/27</span></font>\81j</h3>
-
-<ul>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_encode_numericentity,
-mb_decode_numericentity</span></font>\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_convert_encoding</span></font>\82Å<font face="Times New Roman, serif"><span lang="en-US">UTF-16</span></font>\82©
-\82ç\82Ì\95Ï\8a·\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;">\83V\83t\83g<font face="Times New Roman, serif"><span lang="en-US">JIS</span></font>\82Ì
-\8f\88\97\9d\82ð<font face="Times New Roman, serif"><span lang="en-US">SJIS-WIN</span></font>\8cÝ\8a·\82É\82µ\82Ü\82µ\82½\81B<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-mbstring</span></font>\96{\89Æ\82Æ\82Í\88Ù\82È\82è\81C<font face="Times New Roman, serif"><span lang="en-US">SJIS</span></font>\82Æ<font face="Times New Roman, serif"><span lang="en-US">SJIS-WIN</span></font>\82Ì
-\93®\8dì\82Í\93¯\82\82Å\82·\81B </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_strcut</span></font>\82Ì
-\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-  <li>
-    <p>\95Ï\8dX\97\9a\97ð\82ð<font face="Times New Roman, serif"><span lang="en-US">HTML</span></font>\82É\95Ï\82¦\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.32(2004/8/19)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_http_input, mb_http_output,
-mb_output_handler </span></font>\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    </span></font>\82½\82¾\82µ\81C<font face="Times New Roman, serif"><span lang="en-US">mb_http_input</span></font>\82É\8aÖ\82µ\82Ä\82Í\95\8e\9a\83R\81[
-\83h\95Ï\8a·\82ð\8ds\82í\82È\82¢\82½\82ß\81C\8fí\82É<font face="Times New Roman, serif"><span lang="en-US">FALSE</span></font>\82ð\95Ô\82µ\82Ü\82·\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.31(2004/8/16)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_decode_mimeheader</span></font>\82Ì
-\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½ </p>
-
-  </li>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_variables</span></font>\82Ì\8f\89
-\8aú\90Ý\92è\83`\83F\83b\83N\82Ì\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½ </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.3(2004/8/8)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p style="margin-bottom: 0cm;">\83o\83O\82Â\82Ô\82µ<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    </span></font>\93ü\82ê\8eq\82Ì\83t\83@\83\93\83N\83V\83\87\83\93\82Å\93ñ\8fd\90é\8c¾\82É\82È\82Á\82Ä\82µ\82Ü\82¤\8fê\8d\87\82ª\82 \82é\82Ì\82Å\8aO\95\94\82É\8fo\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;">\83o\83O\82Â\82Ô\82µ<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-mb_strcut</span></font>\82Ì\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½ </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_encode_mimeheader,
-mb_decode_mimeheader</span></font>\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_variables</span></font>\82Å\94z
-\97ñ\82©\82ç\82Ì\95Ï\8a·\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    </span></font>\82±\82ê\82É\94º\82¢<font face="Times New Roman, serif"><span lang="en-US">mb_convert_variables</span></font>\82ð<font face="Times New Roman, serif"><span lang="en-US">2</span></font>\83p
-\83^\81[\83\93\82É\82µ\81C\8f\89\8aú\90Ý\92è\82Å\95Ï\8dX\82Å\82«\82é\82æ\82¤\82É\82µ\82Ü\82µ\82½\81B<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    </span></font>\8f\89\8aú\90Ý\92è\83t\83@\83C\83\8b\82Ì<font face="Times New Roman, serif"><span lang="en-US">convert-variables-arrayonly</span></font>\82ª<font face="Times New Roman, serif"><span lang="en-US">no</span></font>\82Ì
-\8fê\8d\87\81i\83f\83t\83H\83\8b\83g\81j\81C\82±\82ê\82Ü\82Å\82Æ\93¯\82\82æ\82¤\82É\94z\97ñ\82Å\82È\82­\82Ä\82à\95Ï\8a·\82µ\82Ü\82·\81B\82Ü\82½\81C\8dÅ\8f\89\82Ì\97v\91f\82ª\94z\97ñ\82Ì\8fê\8d\87\81C\82»\82ê\82¾\82¯\82ð\95Ï\8a·\82µ\82Ü\82·\81B\82½\82¾\82µ\81C\82±\82¿\82ç\82Ì\8fê\8d\87\81C\8cÄ\82Ñ
-\8fo\82µ\8e\9e\82É\88ø\90\94\82É<font face="Times New Roman, serif"><span lang="en-US">&amp;</span></font>\82ð\95t\82¯\82Ä\96¾\8e¦\93I\82É\8eQ\8fÆ\93n\82µ\82É
-\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-convert-variables-arrayonly</span></font>\82ª<font face="Times New Roman, serif"><span lang="en-US">no</span></font>\82Å
-\82È\82¢\8fê\8d\87\81C\95Ï\8a·\82·\82é\88ø\90\94\82Í\94z\97ñ\82¾\82¯\82É\82È\82è\82Ü\82·\81B\82»\82Ì\91ã\82í\82è\81C<font face="Times New Roman, serif"><span lang="en-US">&amp;</span></font>\82Í\95s\97v\82Å\82·\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">Ver.0.25(2004/7/7)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p>\83o\83O\82Â\82Ô\82µ<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    </span></font>\93ü\82ê\8eq\82Ì\83t\83@\83\93\83N\83V\83\87\83\93\82Å\93ñ\8fd\90é\8c¾\82É\82È\82Á\82Ä\82µ\82Ü\82¤\8fê\8d\87\82ª\82 \82é\82Ì\82Å\8aO\95\94\82É\8fo\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">ver.0.24(2004/6/8)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_strpos, mb_substr_count,
-mb_preferred_mime_name</span></font>\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">ver.0.23(2004/5/19)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_encoding</span></font>\82Å<font face="Times New Roman, serif"><span lang="en-US">UTF-16</span></font>\82Ö
-\82Ì\95Ï\8a·\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-    <br>
-
-usage:<br>
-
-$str = mb_convert_encoding($str, 'UTF-16', 'EUC-JP, UTF-8');<br>
-
-    <br>
-
-    </span></font>\95Ô\82·\82Ì\82Í<font face="Times New Roman, serif"><span lang="en-US">BOM</span></font>\82È\82µ\82Ì\83r\83b\83O\81E\83G\83\93\83f\83B\83A\83\93\82É\82È\82è\82Ü\82·\81B
-    </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">ver.0.22(2004/5/11)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p style="margin-bottom: 0cm;">\83o\83O\82Â\82Ô\82µ </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">mb_convert_variables</span></font>\82ð
-\8eb\92è\83T\83|\81[\83g </p>
-
-  </li>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">mb_strwidth</span></font>\82ð\83T\83|\81[\83g </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">ver.0.21(2004/4/28)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p style="margin-bottom: 0cm;">\8f\89\8aú\90Ý\92è\82ð<font face="Times New Roman, serif"><span lang="en-US">mb-emulator.ini</span></font>\82©
-\82ç\93Ç\82Þ\82æ\82¤\82É\95Ï\8dX </p>
-
-  </li>
-
-  <li>
-    <p style="margin-bottom: 0cm;"><font face="Times New Roman, serif"><span lang="en-US">EUC</span></font>\82Æ<font face="Times New Roman, serif"><span lang="en-US">UTF-8</span></font>\8aÔ
-\82ð\92¼\90Ú\95Ï\8a·\82·\82é\82æ\82¤\82É\95Ï\8dX </p>
-
-  </li>
-
-  <li>
-    <p>\83o\83O\82Â\82Ô\82µ </p>
-
-  </li>
-
-</ul>
-
-<h3><font face="Times New Roman, serif"><span lang="en-US">ver.0.2(2004/4/27)</span></font></h3>
-
-<ul>
-
-  <li>
-    <p><font face="Times New Roman, serif"><span lang="en-US">jcode</span></font>\82ð\8eg\82í\82È\82¢\8c`\82Å\93Æ\97§\82µ\82Ü\82µ\82½\81B<font face="Times New Roman, serif"><span lang="en-US">12</span></font>\8aÖ
-\90\94\83T\83|\81[\83g<font face="Times New Roman, serif"><span lang="en-US"><br>
-
-mb_language, mb_internal_encoding, mb_convert_encoding,
-mb_convert_kana, mb_send_mail, mb_strimwidth, mb_detect_encoding,
-mb_detect_order, mb_strlen, mb_substr, mb_strcut, mb_strrpos </span></font>
-    </p>
-
-  </li>
-
-</ul>
-
-<h2>\8aÖ\90\94\83T\83|\81[\83g\8fó\8bµ\81i<font face="Times New Roman, serif"><span lang="en-US">2004/8/19</span></font>\81j</h2>
-
-<table cellpadding="2" cellspacing="2">
-
-  <tbody>
-
-    <tr>
-
-      <td width="150">
-      <p><font face="Times New Roman, serif"><span lang="en-US"><b>mbstring</b></span></font><b>\8aÖ
-\90\94\96¼</b></p>
-
-      </td>
-
-      <td width="300">
-      <p><b>\8d¡\8cã\82Ì\83T\83|\81[\83g\97\\92è</b></p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_case</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\89Â\94\\82¾\82¯\82Ç\8c\8b\8d\\91å\95Ï\82»\82¤\81B\82 \82Ü\82è\8eg\82¢\82»\82¤\82É\82È\82¢\8bC\82ª\82·\82é\81B\82à\82µ\83j\81[\83Y\82ª\82 \82ê\82Î</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_encoding</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_kana</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_convert_variables</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_decode_mimeheader</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_decode_numericentity</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_detect_encoding</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_detect_order</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_encode_mimeheader</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_encode_numericentity</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_match</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_replace</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_getpos</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_getregs</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_init</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_pos</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_regs</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search_setpos</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg_search</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_ereg</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_eregi_replace</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_eregi</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_get_info</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_http_input</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý\81i\8fí\82É<font face="Times New Roman, serif"><span lang="en-US">FALSE</span></font>\82ð\95Ô\82·\81j</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_http_output</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_internal_encoding</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_language</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý\81i\82½\82¾\82µ\8ew\92è\82µ\82Ä\82à\89½\82à\95Ï\82í\82ç\82È\82¢\81j</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_output_handler</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_parse_str</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_preferred_mime_name</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_regex_encoding</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_regex_set_options</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_send_mail</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_split</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\95s\89Â\94\</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strcut</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strimwidth</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strlen</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strpos</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strrpos</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strtolower</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\89Â\94\\82¾\82¯\82Ç\91å\95Ï\82»\82¤</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strtoupper</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\89Â\94\\82¾\82¯\82Ç\91å\95Ï\82»\82¤</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_strwidth</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_substitute_character</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\93ï\82µ\82»\82¤</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_substr_count</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-    <tr>
-
-      <td>
-      <p><font face="Times New Roman, serif"><span lang="en-US">mb_substr</span></font></p>
-
-      </td>
-
-      <td>
-      <p>\83T\83|\81[\83g\8dÏ\82Ý</p>
-
-      </td>
-
-    </tr>
-
-  </tbody>
-</table>
-
-<p><br>
-
-<br>
-
-</p>
-
-</body>
-</html>
diff --git a/euc/nucleus/libs/mb_emulator/history.txt b/euc/nucleus/libs/mb_emulator/history.txt
deleted file mode 100755 (executable)
index 47f0dd8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-Ver.0.3(2004/8/8)
-\81E\83o\83O\82Â\82Ô\82µ
-\93ü\82ê\8eq\82Ì\83t\83@\83\93\83N\83V\83\87\83\93\82Å\93ñ\8fd\90é\8c¾\82É\82È\82Á\82Ä\82µ\82Ü\82¤\8fê\8d\87\82ª\82 \82é\82Ì\82Å\8aO\95\94\82É\8fo\82µ\82Ü\82µ\82½\81B
-\81E\83o\83O\82Â\82Ô\82µ
-mb_strcut\82Ì\83o\83O\82ð\8fC\90³\82µ\82Ü\82µ\82½
-\81Emb_encode_mimeheader, mb_decode_mimeheader\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B
-\81Emb_convert_variables\82Å\94z\97ñ\82©\82ç\82Ì\95Ï\8a·\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B
-\82±\82ê\82É\94º\82¢mb_convert_variables\82ð2\83p\83^\81[\83\93\82É\82µ\81C\8f\89\8aú\90Ý\92è\82Å\95Ï\8dX\82Å\82«\82é\82æ\82¤\82É\82µ\82Ü\82µ\82½\81B
-\8f\89\8aú\90Ý\92è\83t\83@\83C\83\8b\82Ìconvert-variables-arrayonly\82ªno\82Ì\8fê\8d\87\81i\83f\83t\83H\83\8b\83g\81j\81C\82±\82ê\82Ü\82Å\82Æ\93¯\82\82æ\82¤\82É\94z\97ñ\82Å\82È\82­\82Ä\82à\95Ï\8a·\82µ\82Ü\82·\81B\82Ü\82½\81C\8dÅ\8f\89\82Ì\97v\91f\82ª\94z\97ñ\82Ì\8fê\8d\87\81C\82»\82ê\82¾\82¯\82ð\95Ï\8a·\82µ\82Ü\82·\81B\82½\82¾\82µ\81C\82±\82¿\82ç\82Ì\8fê\8d\87\81C\8cÄ\82Ñ\8fo\82µ\8e\9e\82É\88ø\90\94\82É&\82ð\95t\82¯\82Ä\96¾\8e¦\93I\82É\8eQ\8fÆ\93n\82µ\82É\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
-convert-variables-arrayonly\82ªno\82Å\82È\82¢\8fê\8d\87\81C\95Ï\8a·\82·\82é\88ø\90\94\82Í\94z\97ñ\82¾\82¯\82É\82È\82è\82Ü\82·\81B\82»\82Ì\91ã\82í\82è\81C&\82Í\95s\97v\82Å\82·\81B
-
-Ver.0.25(2004/7/7)
-\81E\83o\83O\82Â\82Ô\82µ
-\93ü\82ê\8eq\82Ì\83t\83@\83\93\83N\83V\83\87\83\93\82Å\93ñ\8fd\90é\8c¾\82É\82È\82Á\82Ä\82µ\82Ü\82¤\8fê\8d\87\82ª\82 \82é\82Ì\82Å\8aO\95\94\82É\8fo\82µ\82Ü\82µ\82½\81B
-
-ver.0.24(2004/6/8)
-\81Emb_strpos, mb_substr_count, mb_preferred_mime_name\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B
-
-ver.0.23(2004/5/19)
-\81Emb_convert_encoding\82ÅUTF-16\82Ö\82Ì\95Ï\8a·\82ð\83T\83|\81[\83g\82µ\82Ü\82µ\82½\81B
-
-usage:
-$str = mb_convert_encoding($str, 'UTF-16', 'EUC-JP, UTF-8');
-
-\95Ô\82·\82Ì\82ÍBOM\82È\82µ\82Ì\83r\83b\83O\81E\83G\83\93\83f\83B\83A\83\93\82É\82È\82è\82Ü\82·\81B
-
-ver.0.22(2004/5/11)
-\81E\83o\83O\82Â\82Ô\82µ
-\81Emb_convert_variables\82ð\8eb\92è\83T\83|\81[\83g
-\81Emb_strwidth\82ð\83T\83|\81[\83
-
-ver.0.21(2004/4/28)
-\81E\8f\89\8aú\90Ý\92è\82ðmb-emulator.ini\82©\82ç\93Ç\82Þ\82æ\82¤\82É\95Ï\8dX
-\81EEUC\82ÆUTF-8\8aÔ\82ð\92¼\90Ú\95Ï\8a·\82·\82é\82æ\82¤\82É\95Ï\8dX
-\81E\83o\83O\82Â\82Ô\82µ
-
-ver.0.2(2004/4/27)
-jcode\82ð\8eg\82í\82È\82¢\8c`\82Å\93Æ\97§\82µ\82Ü\82µ\82½\81B12\8aÖ\90\94\83T\83|\81[\83g
-mb_language, mb_internal_encoding, mb_convert_encoding, mb_convert_kana, mb_send_mail, mb_strimwidth, mb_detect_encoding, mb_detect_order, mb_strlen, mb_substr, mb_strcut, mb_strrpos
-
diff --git a/euc/nucleus/libs/mb_emulator/lower.table b/euc/nucleus/libs/mb_emulator/lower.table
deleted file mode 100644 (file)
index 57e44ce..0000000
+++ /dev/null
@@ -1,615 +0,0 @@
-<?php
-$mbemu_internals['lowerarray'] = array (
-0x00C0 => 0x00E0,
-0x00C1 => 0x00E1,
-0x00C2 => 0x00E2,
-0x00C3 => 0x00E3,
-0x00C4 => 0x00E4,
-0x00C5 => 0x00E5,
-0x00C6 => 0x00E6,
-0x00C7 => 0x00E7,
-0x00C8 => 0x00E8,
-0x00C9 => 0x00E9,
-0x00CA => 0x00EA,
-0x00CB => 0x00EB,
-0x00CC => 0x00EC,
-0x00CD => 0x00ED,
-0x00CE => 0x00EE,
-0x00CF => 0x00EF,
-0x00D0 => 0x00F0,
-0x00D1 => 0x00F1,
-0x00D2 => 0x00F2,
-0x00D3 => 0x00F3,
-0x00D4 => 0x00F4,
-0x00D5 => 0x00F5,
-0x00D6 => 0x00F6,
-0x00D8 => 0x00F8,
-0x00D9 => 0x00F9,
-0x00DA => 0x00FA,
-0x00DB => 0x00FB,
-0x00DC => 0x00FC,
-0x00DD => 0x00FD,
-0x00DE => 0x00FE, 
-0x0100 => 0x0101,
-0x0102 => 0x0103,
-0x0104 => 0x0105,
-0x0106 => 0x0107,
-0x0108 => 0x0109,
-0x010A => 0x010B,
-0x010C => 0x010D,
-0x010E => 0x010F,
-0x0110 => 0x0111,
-0x0112 => 0x0113,
-0x0114 => 0x0115,
-0x0116 => 0x0117,
-0x0118 => 0x0119,
-0x011A => 0x011B,
-0x011C => 0x011D,
-0x011E => 0x011F,
-0x0120 => 0x0121,
-0x0122 => 0x0123,
-0x0124 => 0x0125,
-0x0126 => 0x0127,
-0x0128 => 0x0129,
-0x012A => 0x012B,
-0x012C => 0x012D,
-0x012E => 0x012F,
-0x0130 => 0x0069,
-0x0132 => 0x0133,
-0x0134 => 0x0135,
-0x0136 => 0x0137,
-0x0139 => 0x013A,
-0x013B => 0x013C,
-0x013D => 0x013E,
-0x013F => 0x0140,
-0x0141 => 0x0142,
-0x0143 => 0x0144,
-0x0145 => 0x0146,
-0x0147 => 0x0148,
-0x014A => 0x014B,
-0x014C => 0x014D,
-0x014E => 0x014F,
-0x0150 => 0x0151,
-0x0152 => 0x0153,
-0x0154 => 0x0155,
-0x0156 => 0x0157,
-0x0158 => 0x0159,
-0x015A => 0x015B,
-0x015C => 0x015D,
-0x015E => 0x015F,
-0x0160 => 0x0161,
-0x0162 => 0x0163,
-0x0164 => 0x0165,
-0x0166 => 0x0167,
-0x0168 => 0x0169,
-0x016A => 0x016B,
-0x016C => 0x016D,
-0x016E => 0x016F,
-0x0170 => 0x0171,
-0x0172 => 0x0173,
-0x0174 => 0x0175,
-0x0176 => 0x0177,
-0x0178 => 0x00FF,
-0x0179 => 0x017A,
-0x017B => 0x017C,
-0x017D => 0x017E,
-0x0181 => 0x0253,
-0x0182 => 0x0183,
-0x0184 => 0x0185,
-0x0186 => 0x0254,
-0x0187 => 0x0188,
-0x0189 => 0x0256,
-0x018A => 0x0257,
-0x018B => 0x018C,
-0x018E => 0x01DD,
-0x018F => 0x0259,
-0x0190 => 0x025B,
-0x0191 => 0x0192,
-0x0193 => 0x0260,
-0x0194 => 0x0263,
-0x0196 => 0x0269,
-0x0197 => 0x0268,
-0x0198 => 0x0199,
-0x019C => 0x026F,
-0x019D => 0x0272,
-0x019F => 0x0275,
-0x01A0 => 0x01A1,
-0x01A2 => 0x01A3,
-0x01A4 => 0x01A5,
-0x01A6 => 0x0280,
-0x01A7 => 0x01A8,
-0x01A9 => 0x0283,
-0x01AC => 0x01AD,
-0x01AE => 0x0288,
-0x01AF => 0x01B0,
-0x01B1 => 0x028A,
-0x01B2 => 0x028B,
-0x01B3 => 0x01B4,
-0x01B5 => 0x01B6,
-0x01B7 => 0x0292,
-0x01B8 => 0x01B9,
-0x01BC => 0x01BD,
-0x01C4 => 0x01C6,
-0x01C7 => 0x01C9,
-0x01CA => 0x01CC,
-0x01CD => 0x01CE,
-0x01CF => 0x01D0,
-0x01D1 => 0x01D2,
-0x01D3 => 0x01D4,
-0x01D5 => 0x01D6,
-0x01D7 => 0x01D8,
-0x01D9 => 0x01DA,
-0x01DB => 0x01DC,
-0x01DE => 0x01DF,
-0x01E0 => 0x01E1,
-0x01E2 => 0x01E3,
-0x01E4 => 0x01E5,
-0x01E6 => 0x01E7,
-0x01E8 => 0x01E9,
-0x01EA => 0x01EB,
-0x01EC => 0x01ED,
-0x01EE => 0x01EF,
-0x01F1 => 0x01F3,
-0x01F4 => 0x01F5,
-0x01F6 => 0x0195,
-0x01F7 => 0x01BF,
-0x01F8 => 0x01F9,
-0x01FA => 0x01FB,
-0x01FC => 0x01FD,
-0x01FE => 0x01FF,
-0x0200 => 0x0201,
-0x0202 => 0x0203,
-0x0204 => 0x0205,
-0x0206 => 0x0207,
-0x0208 => 0x0209,
-0x020A => 0x020B,
-0x020C => 0x020D,
-0x020E => 0x020F,
-0x0210 => 0x0211,
-0x0212 => 0x0213,
-0x0214 => 0x0215,
-0x0216 => 0x0217,
-0x0218 => 0x0219,
-0x021A => 0x021B,
-0x021C => 0x021D,
-0x021E => 0x021F,
-0x0220 => 0x019E,
-0x0222 => 0x0223,
-0x0224 => 0x0225,
-0x0226 => 0x0227,
-0x0228 => 0x0229,
-0x022A => 0x022B,
-0x022C => 0x022D,
-0x022E => 0x022F,
-0x0230 => 0x0231,
-0x0232 => 0x0233,
-0x0386 => 0x03AC,
-0x0388 => 0x03AD,
-0x0389 => 0x03AE,
-0x038A => 0x03AF,
-0x038C => 0x03CC,
-0x038E => 0x03CD,
-0x038F => 0x03CE,
-0x0391 => 0x03B1,
-0x0392 => 0x03B2,
-0x0393 => 0x03B3,
-0x0394 => 0x03B4,
-0x0395 => 0x03B5,
-0x0396 => 0x03B6,
-0x0397 => 0x03B7,
-0x0398 => 0x03B8,
-0x0399 => 0x03B9,
-0x039A => 0x03BA,
-0x039B => 0x03BB,
-0x039C => 0x03BC,
-0x039D => 0x03BD,
-0x039E => 0x03BE,
-0x039F => 0x03BF,
-0x03A0 => 0x03C0,
-0x03A1 => 0x03C1,
-0x03A3 => 0x03C3,
-0x03A4 => 0x03C4,
-0x03A5 => 0x03C5,
-0x03A6 => 0x03C6,
-0x03A7 => 0x03C7,
-0x03A8 => 0x03C8,
-0x03A9 => 0x03C9,
-0x03AA => 0x03CA,
-0x03AB => 0x03CB,
-0x03D8 => 0x03D9,
-0x03DA => 0x03DB,
-0x03DC => 0x03DD,
-0x03DE => 0x03DF,
-0x03E0 => 0x03E1,
-0x03E2 => 0x03E3,
-0x03E4 => 0x03E5,
-0x03E6 => 0x03E7,
-0x03E8 => 0x03E9,
-0x03EA => 0x03EB,
-0x03EC => 0x03ED,
-0x03EE => 0x03EF,
-0x03F4 => 0x03B8,
-0x0400 => 0x0450,
-0x0401 => 0x0451,
-0x0402 => 0x0452,
-0x0403 => 0x0453,
-0x0404 => 0x0454,
-0x0405 => 0x0455,
-0x0406 => 0x0456,
-0x0407 => 0x0457,
-0x0408 => 0x0458,
-0x0409 => 0x0459,
-0x040A => 0x045A,
-0x040B => 0x045B,
-0x040C => 0x045C,
-0x040D => 0x045D,
-0x040E => 0x045E,
-0x040F => 0x045F,
-0x0410 => 0x0430,
-0x0411 => 0x0431,
-0x0412 => 0x0432,
-0x0413 => 0x0433,
-0x0414 => 0x0434,
-0x0415 => 0x0435,
-0x0416 => 0x0436,
-0x0417 => 0x0437,
-0x0418 => 0x0438,
-0x0419 => 0x0439,
-0x041A => 0x043A,
-0x041B => 0x043B,
-0x041C => 0x043C,
-0x041D => 0x043D,
-0x041E => 0x043E,
-0x041F => 0x043F,
-0x0420 => 0x0440,
-0x0421 => 0x0441,
-0x0422 => 0x0442,
-0x0423 => 0x0443,
-0x0424 => 0x0444,
-0x0425 => 0x0445,
-0x0426 => 0x0446,
-0x0427 => 0x0447,
-0x0428 => 0x0448,
-0x0429 => 0x0449,
-0x042A => 0x044A,
-0x042B => 0x044B,
-0x042C => 0x044C,
-0x042D => 0x044D,
-0x042E => 0x044E,
-0x042F => 0x044F,
-0x0460 => 0x0461,
-0x0462 => 0x0463,
-0x0464 => 0x0465,
-0x0466 => 0x0467,
-0x0468 => 0x0469,
-0x046A => 0x046B,
-0x046C => 0x046D,
-0x046E => 0x046F,
-0x0470 => 0x0471,
-0x0472 => 0x0473,
-0x0474 => 0x0475,
-0x0476 => 0x0477,
-0x0478 => 0x0479,
-0x047A => 0x047B,
-0x047C => 0x047D,
-0x047E => 0x047F,
-0x0480 => 0x0481,
-0x048A => 0x048B,
-0x048C => 0x048D,
-0x048E => 0x048F,
-0x0490 => 0x0491,
-0x0492 => 0x0493,
-0x0494 => 0x0495,
-0x0496 => 0x0497,
-0x0498 => 0x0499,
-0x049A => 0x049B,
-0x049C => 0x049D,
-0x049E => 0x049F,
-0x04A0 => 0x04A1,
-0x04A2 => 0x04A3,
-0x04A4 => 0x04A5,
-0x04A6 => 0x04A7,
-0x04A8 => 0x04A9,
-0x04AA => 0x04AB,
-0x04AC => 0x04AD,
-0x04AE => 0x04AF,
-0x04B0 => 0x04B1,
-0x04B2 => 0x04B3,
-0x04B4 => 0x04B5,
-0x04B6 => 0x04B7,
-0x04B8 => 0x04B9,
-0x04BA => 0x04BB,
-0x04BC => 0x04BD,
-0x04BE => 0x04BF,
-0x04C1 => 0x04C2,
-0x04C3 => 0x04C4,
-0x04C5 => 0x04C6,
-0x04C7 => 0x04C8,
-0x04C9 => 0x04CA,
-0x04CB => 0x04CC,
-0x04CD => 0x04CE,
-0x04D0 => 0x04D1,
-0x04D2 => 0x04D3,
-0x04D4 => 0x04D5,
-0x04D6 => 0x04D7,
-0x04D8 => 0x04D9,
-0x04DA => 0x04DB,
-0x04DC => 0x04DD,
-0x04DE => 0x04DF,
-0x04E0 => 0x04E1,
-0x04E2 => 0x04E3,
-0x04E4 => 0x04E5,
-0x04E6 => 0x04E7,
-0x04E8 => 0x04E9,
-0x04EA => 0x04EB,
-0x04EC => 0x04ED,
-0x04EE => 0x04EF,
-0x04F0 => 0x04F1,
-0x04F2 => 0x04F3,
-0x04F4 => 0x04F5,
-0x04F8 => 0x04F9,
-0x0500 => 0x0501,
-0x0502 => 0x0503,
-0x0504 => 0x0505,
-0x0506 => 0x0507,
-0x0508 => 0x0509,
-0x050A => 0x050B,
-0x050C => 0x050D,
-0x050E => 0x050F,
-0x0531 => 0x0561,
-0x0532 => 0x0562,
-0x0533 => 0x0563,
-0x0534 => 0x0564,
-0x0535 => 0x0565,
-0x0536 => 0x0566,
-0x0537 => 0x0567,
-0x0538 => 0x0568,
-0x0539 => 0x0569,
-0x053A => 0x056A,
-0x053B => 0x056B,
-0x053C => 0x056C,
-0x053D => 0x056D,
-0x053E => 0x056E,
-0x053F => 0x056F,
-0x0540 => 0x0570,
-0x0541 => 0x0571,
-0x0542 => 0x0572,
-0x0543 => 0x0573,
-0x0544 => 0x0574,
-0x0545 => 0x0575,
-0x0546 => 0x0576,
-0x0547 => 0x0577,
-0x0548 => 0x0578,
-0x0549 => 0x0579,
-0x054A => 0x057A,
-0x054B => 0x057B,
-0x054C => 0x057C,
-0x054D => 0x057D,
-0x054E => 0x057E,
-0x054F => 0x057F,
-0x0550 => 0x0580,
-0x0551 => 0x0581,
-0x0552 => 0x0582,
-0x0553 => 0x0583,
-0x0554 => 0x0584,
-0x0555 => 0x0585,
-0x0556 => 0x0586,
-0x1E00 => 0x1E01,
-0x1E02 => 0x1E03,
-0x1E04 => 0x1E05,
-0x1E06 => 0x1E07,
-0x1E08 => 0x1E09,
-0x1E0A => 0x1E0B,
-0x1E0C => 0x1E0D,
-0x1E0E => 0x1E0F,
-0x1E10 => 0x1E11,
-0x1E12 => 0x1E13,
-0x1E14 => 0x1E15,
-0x1E16 => 0x1E17,
-0x1E18 => 0x1E19,
-0x1E1A => 0x1E1B,
-0x1E1C => 0x1E1D,
-0x1E1E => 0x1E1F,
-0x1E20 => 0x1E21,
-0x1E22 => 0x1E23,
-0x1E24 => 0x1E25,
-0x1E26 => 0x1E27,
-0x1E28 => 0x1E29,
-0x1E2A => 0x1E2B,
-0x1E2C => 0x1E2D,
-0x1E2E => 0x1E2F,
-0x1E30 => 0x1E31,
-0x1E32 => 0x1E33,
-0x1E34 => 0x1E35,
-0x1E36 => 0x1E37,
-0x1E38 => 0x1E39,
-0x1E3A => 0x1E3B,
-0x1E3C => 0x1E3D,
-0x1E3E => 0x1E3F,
-0x1E40 => 0x1E41,
-0x1E42 => 0x1E43,
-0x1E44 => 0x1E45,
-0x1E46 => 0x1E47,
-0x1E48 => 0x1E49,
-0x1E4A => 0x1E4B,
-0x1E4C => 0x1E4D,
-0x1E4E => 0x1E4F,
-0x1E50 => 0x1E51,
-0x1E52 => 0x1E53,
-0x1E54 => 0x1E55,
-0x1E56 => 0x1E57,
-0x1E58 => 0x1E59,
-0x1E5A => 0x1E5B,
-0x1E5C => 0x1E5D,
-0x1E5E => 0x1E5F,
-0x1E60 => 0x1E61,
-0x1E62 => 0x1E63,
-0x1E64 => 0x1E65,
-0x1E66 => 0x1E67,
-0x1E68 => 0x1E69,
-0x1E6A => 0x1E6B,
-0x1E6C => 0x1E6D,
-0x1E6E => 0x1E6F,
-0x1E70 => 0x1E71,
-0x1E72 => 0x1E73,
-0x1E74 => 0x1E75,
-0x1E76 => 0x1E77,
-0x1E78 => 0x1E79,
-0x1E7A => 0x1E7B,
-0x1E7C => 0x1E7D,
-0x1E7E => 0x1E7F,
-0x1E80 => 0x1E81,
-0x1E82 => 0x1E83,
-0x1E84 => 0x1E85,
-0x1E86 => 0x1E87,
-0x1E88 => 0x1E89,
-0x1E8A => 0x1E8B,
-0x1E8C => 0x1E8D,
-0x1E8E => 0x1E8F,
-0x1E90 => 0x1E91,
-0x1E92 => 0x1E93,
-0x1E94 => 0x1E95,
-0x1EA0 => 0x1EA1,
-0x1EA2 => 0x1EA3,
-0x1EA4 => 0x1EA5,
-0x1EA6 => 0x1EA7,
-0x1EA8 => 0x1EA9,
-0x1EAA => 0x1EAB,
-0x1EAC => 0x1EAD,
-0x1EAE => 0x1EAF,
-0x1EB0 => 0x1EB1,
-0x1EB2 => 0x1EB3,
-0x1EB4 => 0x1EB5,
-0x1EB6 => 0x1EB7,
-0x1EB8 => 0x1EB9,
-0x1EBA => 0x1EBB,
-0x1EBC => 0x1EBD,
-0x1EBE => 0x1EBF,
-0x1EC0 => 0x1EC1,
-0x1EC2 => 0x1EC3,
-0x1EC4 => 0x1EC5,
-0x1EC6 => 0x1EC7,
-0x1EC8 => 0x1EC9,
-0x1ECA => 0x1ECB,
-0x1ECC => 0x1ECD,
-0x1ECE => 0x1ECF,
-0x1ED0 => 0x1ED1,
-0x1ED2 => 0x1ED3,
-0x1ED4 => 0x1ED5,
-0x1ED6 => 0x1ED7,
-0x1ED8 => 0x1ED9,
-0x1EDA => 0x1EDB,
-0x1EDC => 0x1EDD,
-0x1EDE => 0x1EDF,
-0x1EE0 => 0x1EE1,
-0x1EE2 => 0x1EE3,
-0x1EE4 => 0x1EE5,
-0x1EE6 => 0x1EE7,
-0x1EE8 => 0x1EE9,
-0x1EEA => 0x1EEB,
-0x1EEC => 0x1EED,
-0x1EEE => 0x1EEF,
-0x1EF0 => 0x1EF1,
-0x1EF2 => 0x1EF3,
-0x1EF4 => 0x1EF5,
-0x1EF6 => 0x1EF7,
-0x1EF8 => 0x1EF9,
-0x1F08 => 0x1F00,
-0x1F09 => 0x1F01,
-0x1F0A => 0x1F02,
-0x1F0B => 0x1F03,
-0x1F0C => 0x1F04,
-0x1F0D => 0x1F05,
-0x1F0E => 0x1F06,
-0x1F0F => 0x1F07,
-0x1F18 => 0x1F10,
-0x1F19 => 0x1F11,
-0x1F1A => 0x1F12,
-0x1F1B => 0x1F13,
-0x1F1C => 0x1F14,
-0x1F1D => 0x1F15,
-0x1F28 => 0x1F20,
-0x1F29 => 0x1F21,
-0x1F2A => 0x1F22,
-0x1F2B => 0x1F23,
-0x1F2C => 0x1F24,
-0x1F2D => 0x1F25,
-0x1F2E => 0x1F26,
-0x1F2F => 0x1F27,
-0x1F38 => 0x1F30,
-0x1F39 => 0x1F31,
-0x1F3A => 0x1F32,
-0x1F3B => 0x1F33,
-0x1F3C => 0x1F34,
-0x1F3D => 0x1F35,
-0x1F3E => 0x1F36,
-0x1F3F => 0x1F37,
-0x1F48 => 0x1F40,
-0x1F49 => 0x1F41,
-0x1F4A => 0x1F42,
-0x1F4B => 0x1F43,
-0x1F4C => 0x1F44,
-0x1F4D => 0x1F45,
-0x1F59 => 0x1F51,
-0x1F5B => 0x1F53,
-0x1F5D => 0x1F55,
-0x1F5F => 0x1F57,
-0x1F68 => 0x1F60,
-0x1F69 => 0x1F61,
-0x1F6A => 0x1F62,
-0x1F6B => 0x1F63,
-0x1F6C => 0x1F64,
-0x1F6D => 0x1F65,
-0x1F6E => 0x1F66,
-0x1F6F => 0x1F67,
-0x1FB8 => 0x1FB0,
-0x1FB9 => 0x1FB1,
-0x1FBA => 0x1F70,
-0x1FBB => 0x1F71,
-0x1FC8 => 0x1F72,
-0x1FC9 => 0x1F73,
-0x1FCA => 0x1F74,
-0x1FCB => 0x1F75,
-0x1FD8 => 0x1FD0,
-0x1FD9 => 0x1FD1,
-0x1FDA => 0x1F76,
-0x1FDB => 0x1F77,
-0x1FE8 => 0x1FE0,
-0x1FE9 => 0x1FE1,
-0x1FEA => 0x1F7A,
-0x1FEB => 0x1F7B,
-0x1FEC => 0x1FE5,
-0x1FF8 => 0x1F78,
-0x1FF9 => 0x1F79,
-0x1FFA => 0x1F7C,
-0x1FFB => 0x1F7D,
-0x2126 => 0x03C9,
-0x212A => 0x006B,
-0x212B => 0x00E5,
-0xFF21 => 0xFF41,
-0xFF22 => 0xFF42,
-0xFF23 => 0xFF43,
-0xFF24 => 0xFF44,
-0xFF25 => 0xFF45,
-0xFF26 => 0xFF46,
-0xFF27 => 0xFF47,
-0xFF28 => 0xFF48,
-0xFF29 => 0xFF49,
-0xFF2A => 0xFF4A,
-0xFF2B => 0xFF4B,
-0xFF2C => 0xFF4C,
-0xFF2D => 0xFF4D,
-0xFF2E => 0xFF4E,
-0xFF2F => 0xFF4F,
-0xFF30 => 0xFF50,
-0xFF31 => 0xFF51,
-0xFF32 => 0xFF52,
-0xFF33 => 0xFF53,
-0xFF34 => 0xFF54,
-0xFF35 => 0xFF55,
-0xFF36 => 0xFF56,
-0xFF37 => 0xFF57,
-0xFF38 => 0xFF58,
-0xFF39 => 0xFF59,
-0xFF3A => 0xFF5A);
-?>
diff --git a/euc/nucleus/libs/mb_emulator/mb-emulator.ini b/euc/nucleus/libs/mb_emulator/mb-emulator.ini
deleted file mode 100755 (executable)
index 97d535e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-language=ja
-internal_encoding=EUC-JP
-detect_order=ASCII, JIS, UTF-8, EUC-JP, SJIS
-convert_variables_arrayonly=no
-http_output=pass
-substitute_character=none
diff --git a/euc/nucleus/libs/mb_emulator/mb-emulator.php b/euc/nucleus/libs/mb_emulator/mb-emulator.php
deleted file mode 100755 (executable)
index 9490571..0000000
+++ /dev/null
@@ -1,1678 +0,0 @@
-<?php
-/* mbstring emulator for Japanese by Andy
- * email : webmaster@matsubarafamily.com
- *
- * license based on GPL(GNU General Public License)
- *
- * Ver.0.84 (2006/1/20)
- */
-
-
-define('MB_CASE_UPPER', 0);
-define('MB_CASE_LOWER', 1);
-define('MB_CASE_TITLE', 2);
-
-include dirname(__FILE__).'/convert.table';
-// include dirname(__FILE__).'/sjistouni.table';
-// include dirname(__FILE__).'/unitosjis.table';
-
-
-$mbemu_internals['ini_file'] = parse_ini_file(dirname(__FILE__).'/mb-emulator.ini');
-
-$mbemu_internals['language'] = $mbemu_internals['ini_file']['language'];
-$mbemu_internals['internal_encoding'] = $mbemu_internals['ini_file']['internal_encoding'];
-$mbemu_internals['lang_array'] = array (
-       'Japanese', 'ja','jp', 'English', 'en', 'uni'
-       );
-
-$mbemu_internals['encoding'] = array (
-       'AUTO' => 0xFF,
-       'ASCII' => 0,
-       'EUC-JP' => 1,
-       'EUC' => 1,
-       'SJIS' => 2,
-       'SHIFT-JIS' => 2,
-       'SHIFT_JIS' => 2,
-       'SJIS-WIN' => 2,
-       'JIS' => 3,
-       'ISO-2022-JP' => 3,
-       'UTF-8' => 4,
-       'UTF8' => 4,
-       'UTF-16'=>5,
-       'ISO-8859-1' => 6
-       );
-
-
-function mb_detect_order($encoding_list = '')
-{
-       global $mbemu_internals;
-       
-       if ($encoding_list) {
-               if (is_string($encoding_list)) {
-                       $encoding_list = strtoupper($encoding_list);
-                       $encoding_list = split(', *', $encoding_list);
-               }
-               foreach($encoding_list as $encode)
-                       if (!array_key_exists($encode, $mbemu_internals['encoding'])) return FALSE;
-               $mbemu_internals['detect_order'] = $encoding_list;
-               return TRUE;
-       }
-       return $mbemu_internals['detect_order'];
-}
-
-if (!(mb_detect_order($mbemu_internals['ini_file']['detect_order'])))
-       $mbemu_internals['detect_order'] = array ("ASCII", "JIS", "UTF-8", "EUC-JP", "SJIS");
-
-$mbemu_internals['substitute_character'] = $mbemu_internals['ini_file']['substitute_character'];
-
-$mbemu_internals['regex'] = array(
-       0 => "[\x01-\x7F]", // for ASCII
-       1 => "[\xA1-\xFE]([\xA1-\xFE])|[\x01-\x7F]|\x8E([\xA0-\xDF])", // for EUC-JP
-       2 => "[\x81-\x9F\xE0-\xFC]([\x40-\xFC])|[\x01-\x7F]|[\xA0-\xDF]", // for Shift_JIS
-       3 => "(?:^|\x1B\(\x42)([\x01-\x1A,\x1C-\x7F]*)|(?:\x1B\\$\x42([\x01-\x1A,\x1C-\x7F]*))|(?:\x1B\(I([\x01-\x1A,\x1C-\x7F]*))", // for JIS
-       4 => "[\x01-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF][\x80-\xBF]", // for UTF-8
-       5 => "..", // for UTF-16
-       6 => "." // for ISO-8859-1
-       );
-
-
-
-function mb_language($language='')
-{
-  global $mbemu_internals;
-
-  if ($language =='') {
-    if ($mbemu_internals['language'] == '') return FALSE;
-    else return $mbemu_internals['language'];
-  } else {
-       foreach ($mbemu_internals['lang_array'] as $element) {
-               if ($element == $language) {
-                       $mbemu_internals['language'] = $language;
-                       return TRUE;
-               }
-       }
-       return FALSE;
-  }
-}
-
-
-function mb_internal_encoding($encoding = '')
-{
-       global $mbemu_internals;
-
-  if ($encoding =='') {
-    if ($mbemu_internals['internal_encoding'] == '') return FALSE;
-    else return $mbemu_internals['internal_encoding'];
-  } else {
-               $mbemu_internals['internal_encoding'] = $encoding;
-               return TRUE;
-  }
-}
-
-function mb_get_info($type = 'all')
-{
-       switch(strtolower($type)) {
-               case 'all' :
-                       $a['internal_encoding'] = mb_internal_encoding();
-                       $a['http_output'] = mb_http_output();
-                       $a['http_input'] = 'pass';
-                       $a['func_overload'] = 'pass';
-                       return $a;
-               case 'internal_encoding' :
-                       return mb_internal_encoding();
-               case 'http_output' :
-                       return mb_http_output();
-               case 'http_input' :
-                       return 'pass';
-               case 'func_overloard' :
-                       return 'pass';
-       }
-}
-
-function mb_substitute_character($subchar='')
-{
-       global $mbemu_internals;
-       
-       if (!$subchar) return $mbemu_internals['substitute_character'];
-       if (is_int($subchar)) {
-               $mbemu_internals['substitute_character'] = $subchar;
-       } else {
-               $subchar = strtolower($subchar);
-               switch ($subchar) {
-                       case 'none' :
-                       case 'long' :
-                               $mbemu_internals['substitute_character'] = $subchar;
-               }
-       }
-}
-
-
-function mb_convert_encoding( $str, $to_encoding, $from_encoding = '')
-{
-       global $mbemu_internals;
-
-       $to_encoding = strtoupper($to_encoding);
-       $from_encoding = mb_detect_encoding($str, $from_encoding);
-       
-       switch ($mbemu_internals['encoding'][$from_encoding]) {
-               case 1: //euc-jp
-                       switch($mbemu_internals['encoding'][$to_encoding]) {
-                               case 2: //sjis
-                                       return _euctosjis($str);
-                               case 3: //jis
-                                       $str = _euctosjis($str);
-                                       return _sjistojis($str);
-                               case 4: //utf8
-                                       return _euctoutf8($str);
-                               case 5: //utf16
-                                       $str = _euctoutf8($str);
-                                       return _utf8toutf16($str);
-                               default:
-                                       return $str;
-                       }
-               case 2: //sjis
-                       switch($mbemu_internals['encoding'][$to_encoding]) {
-                               case 1: //euc-jp
-                                       return _sjistoeuc($str);
-                               case 3: //jis
-                                       return _sjistojis($str);
-                               case 4: //utf8
-                                       return _sjistoutf8($str);
-                               case 5: //utf16
-                                       $str = _sjistoutf8($str);
-                                       return _utf8toutf16($str);
-                               default:
-                                       return $str;
-                       }
-               case 3: //jis
-                       switch($mbemu_internals['encoding'][$to_encoding]) {
-                               case 1: //euc-jp
-                                       $str = _jistosjis($str);
-                                       return _sjistoeuc($str);
-                               case 2: //sjis
-                                       return _jistosjis($str);
-                               case 4: //utf8
-                                       $str = _jistosjis($str);
-                                       return _sjistoutf8($str);
-                               case 5: //utf16
-                                       $str = _jistosjis($str);
-                                       $str = _sjistoutf8($str);
-                                       return _utf8toutf16($str);
-                               default:
-                                       return $str;
-                       }
-               case 4: //utf8
-                       switch($mbemu_internals['encoding'][$to_encoding]) {
-                               case 1: //euc-jp
-                                       return _utf8toeuc($str);
-                               case 2: //sjis
-                                       return _utf8tosjis($str);
-                               case 3: //jis
-                                       $str = _utf8tosjis($str);
-                                       return _sjistojis($str);
-                               case 5: //utf16
-                                       return _utf8toutf16($str);
-                               default:
-                                       return $str;
-                       }
-               case 5: //utf16
-                       $str = _utf16toutf8($str);
-                       switch($mbemu_internals['encoding'][$to_encoding]) {
-                               case 1: //euc-jp
-                                       return _utf8toeuc($str);
-                               case 2: //sjis
-                                       return _utf8tosjis($str);
-                               case 3: //jis
-                                       $str = _utf8tosjis($str);
-                                       return _sjistojis($str);
-                               case 4: //utf8
-                                       return $str;
-                               default:
-                                       return _utf8toutf16($str);
-                       }
-               default:
-                       return $str;
-       }
-}
-
-
-
-function _sjistoeuc(&$str)
-{
-       global $mbemu_internals;
-       
-       $max = preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       $str_EUC = '';
-       for ($i = 0; $i < $max; ++$i) {
-               $num = ord($allchars[0][$i]);  // \8ae\95\8e\9a\82Ì1\83o\83C\83g\96Ú\82ð\90\94\92l\82Æ\82µ\82Ä\8eæ\82è\8fo\82·
-               if ($num2 = ord($allchars[1][$i])) { // 2\83o\83C\83g\96Ú\82ª\82 \82é\8fê\8d\87
-                       $shift = $mbemu_internals['sjistoeuc_byte1_shift'][$num2];
-                       $str_EUC .= chr($mbemu_internals['sjistoeuc_byte1'][$num] + $shift)
-                                          .chr($mbemu_internals['sjistoeuc_byte2'][$shift][$num2]);
-               } elseif ($num <= 0x7F) {//\89p\90\94\8e\9a
-                       $str_EUC .= chr($num);
-               } else { //\94¼\8ap\83J\83i
-                       $str_EUC .= chr(0x8E).chr($num);
-               }
-       }
-       return $str_EUC;
-}
-
-
-function _euctosjis(&$str)
-{
-       global $mbemu_internals;
-       $max = preg_match_all('/'.$mbemu_internals['regex'][1].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       $str_SJIS = '';
-       for ($i = 0; $i < $max; ++$i) {
-               $num = ord($allchars[0][$i]);  // \8ae\95\8e\9a\82Ì1\83o\83C\83g\96Ú\82ð\90\94\92l\82Æ\82µ\82Ä\8eæ\82è\8fo\82·
-               if ($num2 = ord($allchars[1][$i])) { // \8a¿\8e\9a\82Ì\8fê\8d\87
-                       $str_SJIS .= chr($mbemu_internals['euctosjis_byte1'][$num]);
-                       if ($num & 1)
-                               $str_SJIS .= chr($mbemu_internals['euctosjis_byte2'][0][$num2]);
-                       else
-                               $str_SJIS .= chr($mbemu_internals['euctosjis_byte2'][1][$num2]);
-               } elseif ($num3 = ord($allchars[2][$i])) {//\94¼\8ap\83J\83i
-                       $str_SJIS .= chr($num3);
-               } else { //\89p\90\94\8e\9a
-                       $str_SJIS .= chr($num);
-               }
-       }
-       return $str_SJIS;
-}
-
-function _sjistojis(&$str)
-{
-       global $mbemu_internals;
-       
-       $max = preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       $str_JIS = '';
-       $mode = 0; // \89p\90\94
-       for ($i = 0; $i < $max; ++$i) {
-               $num = ord($allchars[0][$i]);  // \8ae\95\8e\9a\82Ì1\83o\83C\83g\96Ú\82ð\90\94\92l\82Æ\82µ\82Ä\8eæ\82è\8fo\82·
-               if ($num2 = ord($allchars[1][$i])) { // 2\83o\83C\83g\96Ú\82ª\82 \82é\8fê\8d\87
-                       if ($mode != 1) {
-                               $mode = 1;
-                               $str_JIS .= chr(0x1b).'$B';
-                       }
-                       $shift = $mbemu_internals['sjistoeuc_byte1_shift'][$num2];
-                       $str_JIS .= chr(($mbemu_internals['sjistoeuc_byte1'][$num] + $shift) & 0x7F)
-                                          .chr($mbemu_internals['sjistoeuc_byte2'][$shift][$num2] & 0x7F);
-               } elseif ($num > 0x80) {//\94¼\8ap\83J\83i
-                       if ($mode != 2) {
-                               $mode = 2;
-                               $str_JIS .= chr(0x1B).'(I';
-                       }
-                       $str_JIS .= chr($num & 0x7F);
-               } else {//\94¼\8ap\89p\90\94
-                       if ($mode != 0) {
-                               $mode = 0;
-                               $str_JIS .= chr(0x1B).'(B';
-                       }
-                       $str_JIS .= chr($num);
-               }
-       }
-       if ($mode != 0) {
-               $str_JIS .= chr(0x1B).'(B';
-       }
-       return $str_JIS;
-}
-
-function _sub_jtosj($match)
-{
-       global $mbemu_internals;
-       $num = ord($match[0]);
-       $num2 = ord($match[1]);
-       $s = chr($mbemu_internals['euctosjis_byte1'][$num | 0x80]);
-       if ($num & 1) {
-               $s .= chr($mbemu_internals['euctosjis_byte2'][0][$num2 | 0x80]);
-       } else {
-               $s .= chr($mbemu_internals['euctosjis_byte2'][1][$num2 | 0x80]);
-       }
-       return $s;
-}
-
-function _jistosjis(&$str)
-{
-       global $mbemu_internals;
-       
-       $max = preg_match_all('/'.$mbemu_internals['regex'][3].'/', $str, $allchunks, PREG_SET_ORDER);  // \95\8e\9a\8eí\82²\82Æ\82Ì\94z\97ñ\82É\95ª\89ð
-       $st = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if (ord($allchunks[$i][1])) { //\89p\90\94\82É\83}\83b\83`
-                       $st .= $allchunks[$i][1];
-               } elseif (ord($allchunks[$i][2])) { //\8a¿\8e\9a\82É\83}\83b\83`
-                       $tmp = substr($allchunks[$i][0], 3, strlen($allchunks[$i][0]));
-                       $st .= preg_replace_callback("/.(.)/","_sub_jtosj", $tmp);
-               } elseif (ord($allchunks[$i][3])) { //\94¼\8ap\83J\83i\82É\83}\83b\83`
-                       $st .= preg_replace("/./e","chr(ord['$1'] | 0x80);",$allchunks[$i][3]);
-               }
-       }
-       return $st;
-}
-
-
-function _ucs2utf8($uni)
-{
-       if ($uni <= 0x7f)
-               return chr($uni);
-       elseif ($uni <= 0x7ff) {
-               $y = ($uni >> 6) & 0x1f;
-               $x = $uni & 0x3f;
-               return chr(0xc0 | $y).chr(0x80 | $x);
-       } else {
-               $z = ($uni >> 12) & 0x0f;
-               $y = ($uni >> 6) & 0x3f;
-               $x = $uni & 0x3f;
-               return chr(0xe0 | $z).chr(0x80 | $y).chr(0x80 | $x);
-       }
-}
-
-function _sjistoutf8(&$str)
-{
-       global $mbemu_internals;
-       include_once(dirname(__FILE__).'/sjistouni.table');
-       $st = '';
-       $max = preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       for ($i = 0; $i < $max; ++$i) {
-               $num = ord($allchars[0][$i]);  // \8ae\95\8e\9a\82Ì1\83o\83C\83g\96Ú\82ð\90\94\92l\82Æ\82µ\82Ä\8eæ\82è\8fo\82·
-               if ($num2 = ord($allchars[1][$i])) { // 2\83o\83C\83g\96Ú\82ª\82 \82é\8fê\8d\87
-                       $ucs2 = $mbemu_internals['sjistoucs2'][($num << 8) | $num2];
-                       $st .= _ucs2utf8($ucs2);
-               } elseif ($num > 0x80) {//\94¼\8ap\83J\83i
-                       $st .= _ucs2utf8(0xfec0 + $num);
-               } else {//\94¼\8ap\89p\90\94
-                       $st .= chr($num);
-               }
-       }
-       return $st;
-}
-
-function _utf8ucs2($st)
-{
-       $num = ord($st);
-       if (!($num & 0x80)) //1byte
-               return $num;
-       elseif (($num & 0xe0) == 0xc0) {//2bytes
-               $num2 = ord(substr($st, 1,1));
-               return (($num & 0x1f) << 6) | ($num2 & 0x3f);
-       } else  { //3bytes
-               $num2 = ord(substr($st, 1,1));
-               $num3 = ord(substr($st, 2,1));
-               return (($num & 0x0f) << 12) | (($num2 & 0x3f) << 6) | ($num3 & 0x3f);
-       }
-}
-
-function _utf8tosjis(&$str)
-{
-       global $mbemu_internals;
-       include_once(dirname(__FILE__).'/unitosjis.table');
-       $st = '';
-       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       for ($i = 0; $i < $max; ++$i) {
-               $num = _utf8ucs2($allchars[0][$i]); //ucs2\82Ì\92l\82ð\8eæ\82è\8fo\82·
-               if ($num < 0x80)
-                       $st .= chr($num);
-               elseif ((0xff61 <= $num) && ($num <= 0xff9f))
-                       $st .= chr($num - 0xfec0);
-               else {
-                       $sjis = $mbemu_internals['ucs2tosjis'][$num];
-                       $st .= chr($sjis >> 8) . chr($sjis & 0xff);
-               }
-       }
-       return $st;
-}
-
-function _euctoutf8(&$str)
-{
-       global $mbemu_internals;
-       include_once(dirname(__FILE__).'/sjistouni.table');
-       $st = '';
-       $max = preg_match_all('/'.$mbemu_internals['regex'][1].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       for ($i = 0; $i < $max; ++$i) {
-               $num = ord($allchars[0][$i]);  // \8ae\95\8e\9a\82Ì1\83o\83C\83g\96Ú\82ð\90\94\92l\82Æ\82µ\82Ä\8eæ\82è\8fo\82·
-               if ($num2 = ord($allchars[1][$i])) { // 2\83o\83C\83g\96Ú\82ª\82 \82é\8fê\8d\87
-                       if ($num & 1)
-                               $sjis = ($mbemu_internals['euctosjis_byte1'][$num] << 8) | $mbemu_internals['euctosjis_byte2'][0][$num2];
-                       else
-                               $sjis = ($mbemu_internals['euctosjis_byte1'][$num] << 8) | $mbemu_internals['euctosjis_byte2'][1][$num2];
-                       $st .= _ucs2utf8($mbemu_internals['sjistoucs2'][$sjis]);
-               } elseif ($num3 = ord($allchars[2][$i])) {
-                       $st .= _ucs2utf8(0xfec0 + $num3);
-               } else {//\94¼\8ap\89p\90\94
-                       $st .= chr($num);
-               }
-       }
-       return $st;
-}
-
-function _utf8toeuc(&$str)
-{
-       global $mbemu_internals;
-       include_once(dirname(__FILE__).'/unitosjis.table');
-       $st = '';
-       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       for ($i = 0; $i < $max; ++$i) {
-               $num = _utf8ucs2($allchars[0][$i]); //ucs2\82Ì\92l\82ð\8eæ\82è\8fo\82·
-               if ($num < 0x80)
-                       $st .= chr($num);
-               elseif ((0xff61 <= $num) && ($num <= 0xff9f)) //\94¼\8ap\83J\83i
-                       $st .= chr(0x8e) . chr($num - 0xfec0);
-               else {
-                       $sjis = $mbemu_internals['ucs2tosjis'][$num];
-                       $upper = $sjis >> 8;
-                       $lower = $sjis & 0xff;
-                       $shift = $mbemu_internals['sjistoeuc_byte1_shift'][$lower];
-                       $st .= chr($mbemu_internals['sjistoeuc_byte1'][$upper] + $shift)
-                                  .chr($mbemu_internals['sjistoeuc_byte2'][$shift][$lower]);
-               }
-       }
-       return $st;
-}
-
-function _utf8toutf16(&$str)
-{
-       global $mbemu_internals;
-       $st = '';
-       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // \95\8e\9a\82Ì\94z\97ñ\82É\95ª\89ð
-       for ($i = 0; $i < $max; ++$i) {
-               $num = _utf8ucs2($allchars[0][$i]); //ucs2\82Ì\92l\82ð\8eæ\82è\8fo\82·
-               $st .= chr(($num >> 8) & 0xff).chr($num & 0xff);
-       }
-       return $st;
-}
-
-function _utf16toutf8(&$str)
-{
-       global $mbemu_internals;
-       $st = '';
-       $ar = unpack("n*", $str);
-       foreach($ar as $char) {
-               $st .= _ucs2utf8($char);
-       }
-       return $st;
-}
-
-       
-function sub_zenhan_EUC(&$str, $match) {
-       global $mbemu_internals;
-
-       $match = $match . "|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\91S\8ap\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(array_search($chars[1][$i], $mbemu_internals['alphanumeric_convert']));
-               //      $str .= chr($num & 0x7F);
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function sub_hanzen_EUC(&$str, $match) {
-       global $mbemu_internals;
-
-       $match = $match . "|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\94¼\8ap\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= $mbemu_internals['alphanumeric_convert'][$num];
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function alpha_zenhan_EUC(&$str) {
-       sub_zenhan_EUC($str, "(\xA3[\xC1-\xFA])");
-}
-
-function alpha_hanzen_EUC(&$str) {
-       sub_hanzen_EUC($str, "([\x41-\x5A,\x61-\x7A])");
-}
-
-
-function num_zenhan_EUC(&$str) {
-       sub_zenhan_EUC($str, "(\xA3[\xB0-\xB9])");
-}
-
-function num_hanzen_EUC(&$str) {
-       sub_hanzen_EUC($str, "([\x30-\x39])");
-}
-
-function alphanum_zenhan_EUC(&$str) {
-       sub_zenhan_EUC($str, "(\xa1[\xa4,\xa5,\xa7-\xaa,\xb0,\xb2,\xbf,\xc3,\xca,\xcb,\xce-\xd1,\xdc,\xdd,\xe1,\xe3,\xe4,\xf0,\xf3-\xf7]|\xA3[\xC1-\xFA]|\xA3[\xB0-\xB9])");
-}
-
-function alphanum_hanzen_EUC(&$str) {
-       sub_hanzen_EUC($str, "([\\\x21,\\\x23-\\\x26,\\\x28-\\\x5B,\\\x5D-\\\x7D])");
-}
-
-
-function space_zenhan_EUC(&$str) {
-       sub_zenhan_EUC($str, "(\xA1\xA1)");
-}
-
-function space_hanzen_EUC(&$str) {
-       sub_hanzen_EUC($str, "(\x20)");
-}
-
-function katakana_zenhan_EUC(&$str) {
-       global $mbemu_internals;
-
-       $match = "\xa5([\xa1-\xf4])|\xa1([\xa2,\xa3,\xa6,\xab,\xac,\xbc,\xd6,\xd7])|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\83J\83i\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0x8e) . $mbemu_internals['kana_zenhan_convert'][$num];
-               elseif ($num = ord($chars[2][$i])) //\94¼\8ap\95Ï\8a·\89Â\94\\82È\93Á\8eê\95\8e\9a\82É\83}\83b\83`\82µ\82½\8fê\8d\87
-                       $str .= chr(0x8e) . $mbemu_internals['special_zenhan_convert'][$num];
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function hiragana_zenhan_EUC(&$str) {
-       global $mbemu_internals;
-
-       $match = "\xa4([\xa1-\xf4])|\xa1([\xa2,\xa3,\xa6,\xab,\xac,\xbc,\xd6,\xd7])|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\82©\82È\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0x8e) . $mbemu_internals['kana_zenhan_convert'][$num];
-               elseif ($num = ord($chars[2][$i])) //\94¼\8ap\95Ï\8a·\89Â\94\\82È\93Á\8eê\95\8e\9a\82É\83}\83b\83`\82µ\82½\8fê\8d\87
-                       $str .= chr(0x8e) . $mbemu_internals['special_zenhan_convert'][$num];
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function katakana_hanzen1_EUC(&$str) { //\91÷\93_\82Ì\93\9d\8d\87\82ð\82·\82é\95û
-       global $mbemu_internals;
-
-       $match = "\x8e((?:[\xb3,\xb6-\xc4,\xca-\xce]\x8e\xde)|(?:[\xca-\xce]\x8e\xdf))|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e([\xa1-\xdf])";
-               //\91÷\93_\82â\94¼\91÷\93_\82Í\88ê\8f\8f\82É\83}\83b\83`\83\93\83O
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($chars[1][$i]) //\91÷\89¹\81C\94¼\91÷\89¹\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0xa5).chr(array_search($chars[1][$i], $mbemu_internals['kana_zenhan_convert']));
-               elseif ($chars[2][$i]) //\82»\82Ì\91¼\82Ì\94¼\8ap\83J\83i\82É\83}\83b\83`
-                       if ($num = array_search($chars[2][$i], $mbemu_internals['kana_zenhan_convert']))
-                               $str .= chr(0xa5).chr($num);
-                       else
-                               $str .= chr(0xa1).chr(array_search($chars[2][$i], $mbemu_internals['special_zenhan_convert']));
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function hiragana_hanzen1_EUC(&$str) { //\91÷\93_\82Ì\93\9d\8d\87\82ð\82·\82é\95û
-       global $mbemu_internals;
-
-       $match = "\x8e((?:[\xb6-\xc4,\xca-\xce]\x8e\xde)|(?:[\xca-\xce]\x8e\xdf))|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e([\xa1-\xdf])";
-               //\91÷\93_\82â\94¼\91÷\93_\82Í\88ê\8f\8f\82É\83}\83b\83`\83\93\83O
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($chars[1][$i]) //\91÷\89¹\81C\94¼\91÷\89¹\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0xa4).chr(array_search($chars[1][$i], $mbemu_internals['kana_zenhan_convert']));
-               elseif ($chars[2][$i]) //\82»\82Ì\91¼\82Ì\94¼\8ap\83J\83i\82É\83}\83b\83`
-                       if ($num = array_search($chars[2][$i], $mbemu_internals['kana_zenhan_convert']))
-                               $str .= chr(0xa4).chr($num);
-                       else
-                               $str .= chr(0xa1).chr(array_search($chars[2][$i], $mbemu_internals['special_zenhan_convert']));
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function katakana_hanzen2_EUC(&$str) { //\91÷\93_\82Ì\93\9d\8d\87\82ð\82µ\82È\82¢\95û
-       global $mbemu_internals;
-
-       $match = "[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e([\xa1-\xdf])";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($chars[1][$i]) //\94¼\8ap\83J\83i\82É\83}\83b\83`
-                       if ($num = array_search($chars[1][$i], $mbemu_internals['kana_zenhan_convert']))
-                               $str .= chr(0xa5).chr($num);
-                       else
-                               $str .= chr(0xa1).chr(array_search($chars[1][$i], $mbemu_internals['special_zenhan_convert']));
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function hiragana_hanzen2_EUC(&$str) { //\91÷\93_\82Ì\93\9d\8d\87\82ð\82µ\82È\82¢\95û
-       global $mbemu_internals;
-
-       $match = "[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e([\xa1-\xdf])";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($chars[1][$i]) //\94¼\8ap\83J\83i\82É\83}\83b\83`
-                       if ($num = array_search($chars[1][$i], $mbemu_internals['kana_zenhan_convert']))
-                               $str .= chr(0xa4).chr($num);
-                       else
-                               $str .= chr(0xa1).chr(array_search($chars[1][$i], $mbemu_internals['special_zenhan_convert']));
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function katakana_hiragana_EUC(&$str) {
-
-       $match = "\xa5([\xa1-\xf3])|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\83J\83i\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0xa4) . chr($num);
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function hiragana_katakana_EUC(&$str) {
-
-       $match = "\xa4([\xa1-\xf4])|[\xa1-\xfe][\xa1-\xfe]|[\x01-\x7f]|\x8e[\xa0-\xdf]";
-       $max = preg_match_all("/$match/", $str, $chars);
-       $str = '';
-       for ($i = 0; $i < $max; ++$i) {
-               if ($num = ord($chars[1][$i])) //\83J\83i\82É\83}\83b\83`\83\93\83O\82µ\82½\8fê\8d\87
-                       $str .= chr(0xa5) . chr($num);
-               else
-                       $str .= $chars[0][$i];
-       }
-}
-
-function mb_convert_kana( $str, $option='KV', $encoding = '')
-{
-       if (!$encoding) $encoding = mb_internal_encoding();
-       $str = mb_convert_encoding($str, 'EUC-JP', $encoding);
-
-       if (strstr($option, "r")) alpha_zenhan_EUC($str);
-       if (strstr($option, "R")) alpha_hanzen_EUC($str);
-       if (strstr($option, "n")) num_zenhan_EUC($str);
-       if (strstr($option, "N")) num_hanzen_EUC($str);
-       if (strstr($option, "a")) alphanum_zenhan_EUC($str);
-       if (strstr($option, "A")) alphanum_hanzen_EUC($str);
-       if (strstr($option, "s")) space_zenhan_EUC($str);
-       if (strstr($option, "S")) space_hanzen_EUC($str);
-       if (strstr($option, "k")) katakana_zenhan_EUC($str);
-       if (strstr($option, "K")) {
-               if (strstr($option, "V"))
-                       katakana_hanzen1_EUC($str);
-               else
-                       katakana_hanzen2_EUC($str);
-       }
-       if (strstr($option, "H")) {
-               if (strstr($option, "V"))
-                       hiragana_hanzen1_EUC($str);
-               else
-                       hiragana_hanzen2_EUC($str);
-       }
-       if (strstr($option, "h")) hiragana_zenhan_EUC($str);
-       if (strstr($option, "c")) katakana_hiragana_EUC($str);
-       if (strstr($option, "C")) hiragana_katakana_EUC($str);
-
-       $str = mb_convert_encoding($str, $encoding, 'EUC-JP');
-       return $str;
-}
-
-// if mb_language is uni this function send mail using UTF-8/Base64
-// if English or en this function send mail using ISO-8859-1/quoted printable
-// if Japanese this function send mail using ISO-2022-JP
-function mb_send_mail($to, $subject, $message , $additional_headers='', $additional_parameter='')
-{
-       switch (mb_language()) {
-               case 'jp' :
-               case 'ja' :
-               case 'Japanese' :
-                       if (!_check_encoding($subject, 3)) //if not JIS encoded
-                               $subject =mb_encode_mimeheader($subject);
-                       else {
-                               $tmp = mb_internal_encoding();
-                               mb_internal_encoding('iso-2022-jp');
-                               $subject =mb_encode_mimeheader($subject);
-                               mb_internal_encoding($tmp);
-                       }
-                       if (!_check_encoding($message, 3))
-                               $message = mb_convert_encoding($message, "iso-2022-jp", mb_internal_encoding());
-                       $additional_headers .= 
-                       "\r\nMime-Version: 1.0\r\nContent-Type: text/plain; charset=ISO-2022-JP\r\nContent-Transfer-Encoding: 7bit";
-                       mail($to, $subject, $message, $additional_headers, $additional_parameter);
-                       break;
-               case 'en' :
-               case 'English' :
-                       $subject =mb_encode_mimeheader($subject, mb_internal_encoding(), 'Q');
-                       $message = _sub_encode_base64($message, mb_internal_encoding(), 76 , "\r\n");
-                       $additional_headers .= 
-                       "\r\nMime-Version: 1.0\r\nContent-Type: text/plain; charset=".
-                       mb_preferred_mime_name(mb_internal_encoding()).
-                       "\r\nContent-Transfer-Encoding: BASE64";
-                       mail($to, $subject, $message, $additional_headers, $additional_parameter); 
-                       break;
-               case 'uni' :
-                       $subject =mb_encode_mimeheader($subject, mb_internal_encoding(), 'B');
-                       $message = _sub_encode_base64($message, mb_internal_encoding(), 76 , "\r\n");
-                       $additional_headers .= 
-                       "\r\nMime-Version: 1.0\r\nContent-Type: text/plain; charset=".
-                       mb_preferred_mime_name(mb_internal_encoding()).
-                       "\r\nContent-Transfer-Encoding: BASE64";
-                       mail($to, $subject, $message, $additional_headers, $additional_parameter); 
-                       break;
-       }
-       
-}
-
-
-
-function _check_encoding($str, $encoding_number)
-{
-       global $mbemu_internals;
-       return (preg_match('/^('.$mbemu_internals['regex'][$encoding_number].')+$/', $str) == 1);
-}
-
-function mb_detect_encoding( $str , $encoding_list = '')
-{
-       global $mbemu_internals;
-
-       if ($encoding_list == '') 
-                       $encoding_list = mb_detect_order();
-       if (!is_array($encoding_list)) {
-               $encoding_list = strtoupper($encoding_list);
-               if ($encoding_list == 'AUTO') {
-                       $encoding_list = mb_detect_order();
-               } else {
-                       $encoding_list = split(', *', $encoding_list);
-               }
-       }
-       foreach($encoding_list as $encode) {
-               if (_check_encoding($str, $mbemu_internals['encoding'][$encode]))
-                       return $encode;
-       }
-       return $encode;
-}
-
-function mb_strlen ( $str , $encoding='')
-{
-       global $mbemu_internals;
-
-       $encoding = mb_detect_encoding($str, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-                       return preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $arr);
-               case 5 : //utf-16
-                       return strlen($str) >> 1;
-               case 0 : //ascii
-               case 6 : //iso8859-1
-                       return strlen($str);
-               case 3 : //jis
-                       $str = mb_convert_encoding($str, 'SJIS', 'JIS');
-                       return preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $arr);
-       }
-}
-
-function mb_strwidth( $str, $encoding='')
-{
-       global $mbemu_internals;
-
-       $encoding = mb_detect_encoding($str, $encoding);
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 4 : //utf-8
-                       $max = $len = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $arr);
-                       for ($i=0; $i < $max; ++$i) {
-                               $ucs2 = _utf8ucs2($arr[0][$i]);
-                               if (((0x2000 <= $ucs2) && ($ucs2 <= 0xff60)) || (0xffa0 <= $ucs2))
-                                       ++$len;
-                       }
-                       return $len;
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-                       $max = $len = preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $arr);
-                       for ($i=0; $i < $max; ++$i)
-                               if ($arr[1][$i]) ++$len;
-                       return $len;
-               case 5 : //utf-16
-                       $max = $len = preg_match_all('/'.$mbemu_internals['regex'][5].'/', $str, $arr);
-                       for ($i=0; $i < $max; ++$i) {
-                               $ucs2 = (ord($arr[0][$i]) << 8) | ord(substr($arr[0][$i],1,1));
-                               if (((0x2000 <= $ucs2) && ($ucs2 <= 0xff60)) || (0xffa0 <= $ucs2))
-                                       ++$len;
-                       }
-                       return $len;
-               case 0 : //ascii
-               case 6 : //iso8859-1
-                       return strlen($str);
-               case 3 : //jis
-                       $str = mb_convert_encoding($str, 'SJIS', 'JIS');
-                       $max = $len = preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $arr);
-                       for ($i=0; $i < $max; ++$i)
-                               if ($arr[1][$i]) ++$len;
-                       return $len;
-       }
-}
-
-function mb_strimwidth( $str, $start, $width, $trimmarker , $encoding = '')
-{
-       global $mbemu_internals;
-
-       $encoding = mb_detect_encoding($str, $encoding);
-       $str = mb_substr($str, $start, 'notnumber', $encoding);
-       if (($len = mb_strwidth($str,$encoding)) <= $width)
-               return $str;
-       $trimwidth = mb_strwidth($trimmarker,$encoding);
-       $width -= $trimwidth;
-       if ($width <= 0) return $trimmarker;
-       
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 6 : //iso8859-1
-                       return substr($str, 0, $width).$trimmarker;
-               case 4 : //utf-8
-                       preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $arr);
-                       $i = 0;
-                       while(TRUE) {
-                               $ucs2 = _utf8ucs2($arr[0][$i]);
-                               if (((0x2000 <= $ucs2) && ($ucs2 <= 0xff60)) || (0xffa0 <= $ucs2))
-                                       $width -= 2;
-                               else
-                                       --$width;
-                               if ($width<0) break;
-                               ++$i;
-                       }
-                       $arr[0] = array_slice($arr[0], 0, $i);
-                       return implode("", $arr[0]).$trimmarker;
-               case 5 : //utf-16
-                       $arr = unpack("n*", $str);
-                       $i = 0;
-                       foreach($arr as $ucs2) {
-                               if (((0x2000 <= $ucs2) && ($ucs2 <= 0xff60)) || (0xffa0 <= $ucs2))
-                                       $width -= 2;
-                               else
-                                       --$width;
-                               if ($width<0) break;
-                               ++$i;
-                       }
-                       $arr[0] = array_slice($arr[0], 0, $i);
-                       return implode("", $arr[0]).$trimmarker;
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $arr);
-                       $i = 0;
-                       while(TRUE) {
-                               if ($arr[1][$i])
-                                       $width -= 2;
-                               else
-                                       --$width;
-                               if ($width<0) break;
-                               ++$i;
-                       }
-                       $arr[0] = array_slice($arr[0], 0, $i);
-                       return implode("", $arr[0]).$trimmarker;
-               case 3 : //jis
-                       $str = mb_convert_encoding($str, 'SJIS', 'JIS');
-                       $trimmarker = mb_convert_encoding($trimmarker, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $arr);
-                       $i = 0;
-                       while(TRUE) {
-                               if ($arr[1][$i])
-                                       $width -= 2;
-                               else
-                                       --$width;
-                               if ($width<0) break;
-                               ++$i;
-                       }
-                       $arr[0] = array_slice($arr[0], 0, $i);
-                       return mb_convert_encoding(implode("", $arr[0]).$trimmarker,'JIS','SJIS');
-       }
-}
-
-
-function mb_substr ( $str, $start , $length='notnumber' , $encoding='')
-{
-       global $mbemu_internals;
-
-       $encoding = mb_detect_encoding($str, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-               case 6 : //iso-8859-1
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $arr);
-                       break;
-               case 3 : //jis
-                       $str = mb_convert_encoding($str, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $arr);
-       }
-       if (is_int($length))
-               $arr[0] = array_slice($arr[0], $start, $length);
-       else
-               $arr[0] = array_slice($arr[0], $start);
-       $str = implode("", $arr[0]);
-       if ($mbemu_internals['encoding'][$encoding] == 3)
-               $str = mb_convert_encoding($str, 'JIS', 'SJIS');
-       return $str;
-}
-
-function _sub_strcut($arr, $start, $length) {
-       $max = count($arr[0]);
-       $s = ''; $counter = 0;
-       for ($i = 0; $i < $max; ++$i) {
-               $counter += strlen($arr[0][$i]);
-               if ($counter > $start) {
-                       if ($length == 0) {
-                               for ($j = $i; $j < $max; ++$j)
-                                       $s .= $arr[0][$j];
-                               return $s;
-                       }
-                       for ($j = $i, $len = 0; $j < $max; ++$j) {
-                               $len += strlen($arr[0][$j]);
-                               if ($len <= $length)
-                                       $s .= $arr[0][$j];
-                       }
-                       return $s;
-               }
-       }
-       return $s;
-}
-
-
-function mb_strcut ( $str, $start , $length=0 , $encoding = '')
-{
-       global $mbemu_internals;
-       
-       $encoding = mb_detect_encoding($str, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-               case 6 : //iso-8859-1
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $arr);
-                       return _sub_strcut($arr, $start, $length);
-               case 3 : //jis
-                       $str = mb_convert_encoding($str, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $str, $arr);
-                       $sub = _sub_strcut($arr, $start, $length);
-                       return mb_convert_encoding($sub, 'JIS', 'SJIS');
-       }
-}
-
-function _sub_strrpos($ar_haystack, $ar_needle)
-{
-       $max_h = count($ar_haystack) - 1;
-       $max_n = count($ar_needle) - 1;
-       for ($i = $max_h; $i >= $max_n; --$i) {
-               if ($ar_haystack[$i] == $ar_needle[$max_n]) {
-                       $match = TRUE;
-                       for ($j = 1; $j <= $max_n; ++$j)
-                               if ($ar_haystack[$i-$j] != $ar_needle[$max_n-$j]) {
-                                       $match = FALSE;
-                                       break;
-                               }
-                       if ($match) return $i - $max_n;
-               }
-       }
-       return FALSE;
-}
-
-function mb_strrpos ( $haystack, $needle , $encoding = '')
-{
-       
-       global $mbemu_internals;
-       
-       $encoding = mb_detect_encoding($haystack, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-               case 6 : //iso-8859-1
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $needle, $ar_n);
-                       return _sub_strrpos($ar_h[0], $ar_n[0]);
-               case 3 : //jis
-                       $haystack = mb_convert_encoding($haystack, 'SJIS', 'JIS');
-                       $needle = mb_convert_encoding($needle, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $needle, $ar_n);
-                       return _sub_strrpos($ar_h[0], $ar_n[0]);
-       }
-}
-
-function _sub_strpos($ar_haystack, $ar_needle, $offset)
-{
-       $max_n = count($ar_needle) - 1;
-       $max_h = count($ar_haystack) - count($ar_needle);
-       for ($i = $offset; $i <= $max_h; ++$i) {
-               for ($j = 0; $j <= $max_n; ++$j) {
-                       $match = TRUE;
-                       if ($ar_haystack[$i+$j] != $ar_needle[$j]) {
-                               $match = FALSE;
-                               break;
-                       }
-               }
-               if ($match) return $i;
-       }
-       return FALSE;
-}
-
-function mb_strpos ( $haystack, $needle , $offset = 0, $encoding = '')
-{
-       
-       global $mbemu_internals;
-       
-       $encoding = mb_detect_encoding($haystack, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-               case 6 : //iso-8859-1
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $needle, $ar_n);
-                       return _sub_strpos($ar_h[0], $ar_n[0], $offset);
-               case 3 : //jis
-                       $haystack = mb_convert_encoding($haystack, 'SJIS', 'JIS');
-                       $needle = mb_convert_encoding($needle, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $needle, $ar_n);
-                       return _sub_strpos($ar_h[0], $ar_n[0], $offset);
-       }
-}
-
-function _sub_substr_count($ar_haystack, $ar_needle)
-{
-       $matches = 0;
-       $max_n = count($ar_needle) - 1;
-       $max_h = count($ar_haystack) - count($ar_needle);
-       for ($i = 0; $i <= $max_h; ++$i) {
-               for ($j = 0; $j <= $max_n; ++$j) {
-                       $match = TRUE;
-                       if ($ar_haystack[$i+$j] != $ar_needle[$j]) {
-                               $match = FALSE;
-                               break;
-                       }
-               }
-               if ($match) ++$matches;
-       }
-       return $matches;
-}
-
-function mb_substr_count($haystack, $needle , $encoding = '')
-{
-       
-       global $mbemu_internals;
-       
-       $encoding = mb_detect_encoding($haystack, $encoding);
-
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-               case 6 : //iso-8859-1
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $needle, $ar_n);
-                       return _sub_substr_count($ar_h[0], $ar_n[0]);
-               case 3 : //jis
-                       $haystack = mb_convert_encoding($haystack, 'SJIS', 'JIS');
-                       $needle = mb_convert_encoding($needle, 'SJIS', 'JIS');
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $haystack, $ar_h);
-                       preg_match_all('/'.$mbemu_internals['regex'][2].'/', $needle, $ar_n);
-                       return _sub_substr_count($ar_h[0], $ar_n[0]);
-       }
-}
-
-
-/******************
-mb_convert_variables
-*******************/
-if (!$mbemu_internals['ini_file']['convert_variables_arrayonly']) {
-       function mb_convert_variables($to_encoding, $from_encoding, $s1, $s2='',$s3='',$s4='',$s5='',$s6='',$s7='', $s8='',$s9='', $s10='')
-       {
-               if (is_array($s1)) {
-                       $st = '';
-                       foreach($s1 as $s) $st .= $s;
-                       if (!($encode = mb_detect_encoding($st, $from_encoding)))
-                               return FALSE;
-                       reset($s1);
-                       while (list ($key, $val) = each ($s1)) {
-                               $s1[$key] = mb_convert_encoding($val, $to_encoding, $encode);
-                       }
-                       return $encode;
-               }
-           $st = $s1.$s2.$s3.$s4.$s5.$s6.$s7.$s8.$s9.$s10;
-           if (!($encode = mb_detect_encoding($st, $from_encoding)))
-               return FALSE;
-           $s1 = mb_convert_encoding($s1, $to_encoding, $encode);
-           $s2 = mb_convert_encoding($s2, $to_encoding, $encode);
-           $s3 = mb_convert_encoding($s3, $to_encoding, $encode);
-           $s4 = mb_convert_encoding($s4, $to_encoding, $encode);
-           $s5 = mb_convert_encoding($s5, $to_encoding, $encode);
-           $s6 = mb_convert_encoding($s6, $to_encoding, $encode);
-           $s7 = mb_convert_encoding($s7, $to_encoding, $encode);
-           $s8 = mb_convert_encoding($s8, $to_encoding, $encode);
-           $s9 = mb_convert_encoding($s9, $to_encoding, $encode);
-           $s10 = mb_convert_encoding($s10, $to_encoding, $encode);
-           return $encode;
-       }
-} else {
-       function mb_convert_variables($to_encoding, $from_encoding, &$arr)
-       {
-               $st = '';
-               foreach($arr as $s) $st .= $s;
-               if (!($encode = mb_detect_encoding($st, $from_encoding)))
-                       return FALSE;
-               reset($arr);
-               while (list ($key, $val) = each ($arr)) {
-                       $arr[$key] = mb_convert_encoding($val, $to_encoding, $encode);
-               }
-               return $encode;
-       }
-}
-
-function mb_preferred_mime_name ($encoding)
-{
-       global $mbemu_internals;
-       
-       $encoding = strtoupper($encoding);
-       
-       switch ($mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-                       return 'US-ASCII';
-               case 1 : //euc-jp
-                       return 'EUC-JP';
-               case 2 : //shift-jis
-                       return 'Shift_JIS';
-               case 3 : //jis
-                       return 'ISO-2022-JP';
-               case 4 : //utf-8
-                       return 'UTF-8';
-               case 5 : 
-                       return 'UTF-16';
-               case 6 :
-                       return 'ISO-8859-1';
-       }
-}
-
-function mb_decode_mimeheader($str)
-{
-       $lines = preg_split("/(\r\n|\r|\n)( *)/", $str);
-       $s = '';
-       foreach ($lines as $line) {
-               if ($line != "") {
-                       $line = preg_replace("/<[\w\-+\.]+\@[\w\-+\.]+>/","", $line); //\83\81\81[\83\8b\81E\83A\83h\83\8c\83X\95\94\82ð\8fÁ\82·
-                       $matches = preg_split("/=\?([^?]+)\?(B|Q)\?([^?]+)\?=/", $line, -1, PREG_SPLIT_DELIM_CAPTURE);
-                       for ($i = 0; $i < count($matches)-1; $i+=4) {
-                               if (!preg_match("/^[ \t\r\n]*$/", $matches[$i]))
-                                       $s .= $matches[$i];
-                               if ($matches[$i+2] == 'B')
-                                       $s .= mb_convert_encoding(base64_decode($matches[$i+3]), 
-                                                                                       mb_internal_encoding(), $matches[$i+1]);
-                               else
-                                       $s .= mb_convert_encoding(quoted_printable_decode($matches[$i+3]), 
-                                                                                       mb_internal_encoding(), $matches[$i+1]);
-                       }
-                       if (!preg_match("/^[ \t\r\n]*$/", $matches[$i]))
-                                       $s .= $matches[$i];
-               }
-       }
-       return $s;
-}
-
-function _sub_qponechar($str, &$len)
-{
-       $all = unpack("C*", $str);
-       $s = ''; $len = 0;
-       foreach($all as $char) {
-               if (((ord('A') <= $char) && ($char <= ord('Z'))) ||
-                       ((ord('a') <= $char) && ($char <= ord('z')))) {
-                       $s .= chr($char);
-                       ++$len;
-               } else {
-                       $s .= '='.sprintf("%2X",$char);
-                       $len += 3;
-               }
-       }
-       return $s;
-}
-
-function _sub_quoted_printable_encode($str, $encoding, $maxline, $linefeed)
-{
-       global $mbemu_internals;
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-                       $max = preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $allchars);
-                       break;
-               case 3 : //jis
-                       $max = preg_match_all('/'.$mbemu_internals['regex'][3].'/', $str, $allchunks, PREG_SET_ORDER);  // \95\8e\9a\8eí\82²\82Æ\82Ì\94z\97ñ\82É\95ª\89ð
-                       $st = ''; // quoted printable\95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ
-                       $len = $maxline;  // \82»\82Ì\8ds\82É\92Ç\89Á\89Â\94\\82È\83o\83C\83g\90\94
-                       $needterminate = FALSE; //\8dÅ\8cã\82É\83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\82ª\95K\97v\82©\82Ç\82¤\82©
-                       for ($i = 0; $i < $max; ++$i) {
-                               if (ord($allchunks[$i][1])) { //\89p\90\94\82É\83}\83b\83`
-                                       if ($needterminate) {
-                                               $st .= '=1B=28B';
-                                               $len -= 7;
-                                       }
-                                       $tmparr = unpack("C*", $allchunks[$i][1]);
-                                       foreach ($tmparr as $char) {
-                                               $tmp = _sub_qponechar(chr($char), $l);
-                                               if ($len < $l) {
-                                                       $st .= $linefeed;
-                                                       $len = $maxline;
-                                               }
-                                               $st .= $tmp;
-                                               $len -= $l;
-                                       } 
-                                       $needterminate = FALSE;
-                               } elseif (ord($allchunks[$i][2])) { //\8a¿\8e\9a\82É\83}\83b\83`
-                                       $maxchars = preg_match_all("/../",substr($allchunks[$i][0], 3),$allchars);
-                                       $tmp = _sub_qponechar($allchars[0][0], $l);
-                                       if ($len < 14 + $l) {
-                                               if ($needterminate)
-                                                       $st .= '=1B=28B';
-                                               $st .= $linefeed;
-                                               $len = $maxline;
-                                       }
-                                       $st .= '=1B=24B';
-                                       $len -= 7;
-                                       for ($j = 0; $j < $maxchars; ++$j) {
-                                               $tmp = _sub_qponechar($allchars[0][$j], $l);
-                                               if ($len < $l + 7) {
-                                                       $st .= '=1B=28B'.$linefeed.'=1B=24B';
-                                                       $len = $maxline-7;
-                                               }
-                                               $st .= $tmp;
-                                               $len -= $l;
-                                       }
-                                       $needterminate = TRUE;
-                                       
-                               } elseif (ord($allchunks[$i][3])) { //\94¼\8ap\83J\83i\82É\83}\83b\83`
-                                       $max = preg_match_all("/./",$allchunks[$i][3],$allchars);
-                                       $tmp = _sub_qponechar($allchars[0][0], $l);
-                                       if ($len < 14 + $l) {
-                                               if ($needterminate)
-                                                       $st .= '=1B=28B';
-                                               $st .= $linefeed;
-                                               $len = $maxline;
-                                       }
-                                       $st .= '=1B=28I';
-                                       $len -= 7;
-                                       for ($j == 0; $j < $max; ++$j) {
-                                               $tmp = _sub_qponechar($allchars[0][$j], $l);
-                                               if ($len < $l + 7) {
-                                                       $st .= '=1B=28B'.$linefeed.'=1B=28I';
-                                                       $len = $maxline-7;
-                                               }
-                                               $st .= $tmp;
-                                               $len -= $l;
-                                       }
-                                       $needterminate = TRUE;
-                               }
-                       }
-                       if ($needterminate) $st .= '=1B=28B';
-                       $st .= $linefeed;
-                       return $st;
-       }
-       $st = ''; // quoted printable\95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ
-       $len = $maxline;  // \82»\82Ì\8ds\82É\92Ç\89Á\89Â\94\\82È\83o\83C\83g\90\94
-       for ($i = 0; $i < $max; ++$i) {
-               $tmp = _sub_qponechar($allchars[0][$i], $l);
-               if ($l > $len) {
-                       $st .= $linefeed;
-                       $len = $maxline;
-               }
-               $st .= $tmp;
-               $len -= $l;
-       }
-       $st .= $linefeed;
-       return $st;
-}
-
-function _sub_encode_base64($str, $encoding, $maxline , $linefeed)
-{
-       global $mbemu_internals;
-       switch ($e = $mbemu_internals['encoding'][$encoding]) {
-               case 0 : //ascii
-               case 6 : //iso-8859-1
-                       return chunk_split( base64_encode($str) , $maxline, $linefeed);
-               case 1 : //euc-jp
-               case 2 : //shift-jis
-               case 4 : //utf-8
-               case 5 : //utf-16
-                       $max = preg_match_all('/'.$mbemu_internals['regex'][$e].'/', $str, $allchars);
-                       break;
-               case 3 : //jis
-                       $max = preg_match_all('/'.$mbemu_internals['regex'][3].'/', $str, $allchunks);  // \95\8e\9a\8eí\82²\82Æ\82Ì\94z\97ñ\82É\95ª\89ð
-                       $st = ''; // BASE64\95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ
-                       $maxbytes = floor($maxline * 3 / 4);  //1\8ds\82É\95Ï\8a·\89Â\94\\82È\83o\83C\83g\90\94
-                       $len = $maxbytes;  // \82»\82Ì\8ds\82É\92Ç\89Á\89Â\94\\82È\83o\83C\83g\90\94
-                       $line = '';  //1\8ds\95ª\82Ì\95Ï\8a·\91O\82Ì\95\8e\9a\97ñ
-                       $needterminate = FALSE; //\8dÅ\8cã\82É\83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X\82ª\95K\97v\82©\82Ç\82¤\82©
-                       for ($i = 0; $i < $max; ++$i) {
-                               if (ord($allchunks[1][$i])) { //\89p\90\94\82É\83}\83b\83`
-                                       if ($needterminate) {
-                                               $line .= chr(0x1B).'(B';
-                                               $len -= 3;
-                                       }
-                                       $tmpstr = $allchunks[1][$i];  //\92Ç\89Á\82·\82é\95\8e\9a\97ñ
-                                       $l = strlen($tmpstr);  //\92Ç\89Á\82·\82é\95\8e\9a\97ñ\82Ì\92·\82³
-                                       while ($l > $len) {
-                                               $line .= substr($tmpstr, 0, $len);
-                                               $st .= base64_encode($line).$linefeed;
-                                               $l -= $len;
-                                               $tmpstr = substr($tmpstr, $len);
-                                               $len = $maxbytes;
-                                               $line = '';
-                                       } 
-                                       $line .= $tmpstr;
-                                       $len -= $l;
-                                       $needterminate = FALSE;
-                               } elseif (ord($allchunks[2][$i])) { //\8a¿\8e\9a\82É\83}\83b\83`
-                                       $tmpstr = substr($allchunks[0][$i], 3);
-                                       if ($len < 8) { //\95\8e\9a\82ð\92Ç\89Á\82·\82é\82Ì\82É\8dÅ\92á8\83o\83C\83g\95K\97v\82È\82Ì\82Å
-                                               if ($needterminate)
-                                                       $line .= chr(0x1B).'(B';
-                                               $st .= base64_encode($line).$linefeed;
-                                               $len = $maxbytes;
-                                               $line = '';
-                                       }
-                                       $l = strlen($tmpstr);
-                                       $line .= chr(0x1B).'$B';
-                                       $len -= 3; 
-                                       while ($l > $len-3) {
-                                               $add = floor(($len-3) / 2) * 2;
-                                               if ($add == 0) break;
-                                               $line .= substr($tmpstr, 0, $add).chr(0x1B).'(B';
-                                               $st .= base64_encode($line).$linefeed;
-                                               $l -= $add;
-                                               $tmpstr = substr($tmpstr, $add);
-                                               $len = $maxbytes-3;
-                                               $line = chr(0x1B).'$B';
-                                       } 
-                                       $line .= $tmpstr;
-                                       $len -= $l;
-                                       $needterminate = TRUE;
-                                       
-                               } elseif (ord($allchunks[3][$i])) { //\94¼\8ap\83J\83i\82É\83}\83b\83`
-                                       $tmpstr = $allchunks[3][$i];
-                                       if ($len < 7) { //\95\8e\9a\82ð\92Ç\89Á\82·\82é\82Ì\82É\8dÅ\92á7\83o\83C\83g\95K\97v\82È\82Ì\82Å
-                                               if ($needterminate)
-                                                       $line .= chr(0x1B).'(B';
-                                               $st .= base64_encode($line).$linefeed;
-                                               $len = $maxbytes;
-                                               $line = '';
-                                       }
-                                       $l = strlen($tmpstr);
-                                       $line .= chr(0x1B).'(I';
-                                       $len -= 3; 
-                                       while ($l > $len-3) {
-                                               $line .= substr($tmpstr, 0, $len-3).chr(0x1B).'(B';
-                                               $st .= base64_encode($line).$linefeed;
-                                               $l -= $len;
-                                               $tmpstr = substr($tmpstr, $len-3);
-                                               $len = $maxbytes-3;
-                                               $line = chr(0x1B).'(I';
-                                       } 
-                                       $line .= $tmpstr;
-                                       $len -= $l;
-                                       $needterminate = TRUE;
-                               }
-                       }
-                       if ($needterminate) $line .= chr(0x1B).'(B';
-                       $st .= base64_encode($line).$linefeed;
-                       return $st;
-       }
-       $st = ''; // BASE64\95Ï\8a·\8cã\82Ì\95\8e\9a\97ñ
-       $maxbytes = floor($maxline * 3 / 4);  //1\8ds\82É\95Ï\8a·\89Â\94\\82È\83o\83C\83g\90\94
-       $len = $maxbytes;  // \82»\82Ì\8ds\82É\92Ç\89Á\89Â\94\\82È\83o\83C\83g\90\94
-       $line = '';  //1\8ds\95ª\82Ì\95Ï\8a·\91O\82Ì\95\8e\9a\97ñ
-       for ($i = 0; $i < $max; ++$i) {
-               $l = strlen($allchars[0][$i]);
-               if ($l > $len) {
-                       $st .= base64_encode($line).$linefeed;
-                       $len = $maxbytes;
-                       $line = '';
-               }
-               $line .= $allchars[0][$i];
-               $len -= $l;
-       }
-       $st .= base64_encode($line).$linefeed;
-       return $st;
-}
-
-function mb_encode_mimeheader( $str, $encoding = "ISO-2022-JP", $transfer_encoding = "B", $linefeed = "\r\n")
-{
-       global $mbemu_internals;
-       if ($transfer_encoding == "b") $transfer_encoding = "B";
-       if ($transfer_encoding <> "B") $transfer_encoding = "Q";
-       $encoding = strtoupper($encoding);
-       
-       $head = '=?' . mb_preferred_mime_name ($encoding) . '?'.$transfer_encoding.'?';
-       $str = mb_convert_encoding($str, $encoding, mb_internal_encoding());
-       $length = 76 - strlen($head) - 4;
-       if ($transfer_encoding == "B") {
-        $str = _sub_encode_base64( $str , $encoding, $length, $linefeed);
-       } else {
-               $str = _sub_quoted_printable_encode($str, $encoding, $length, $linefeed);
-       }
-       $ar = explode($linefeed, $str);
-       $s = '';
-       foreach ($ar as $element) {
-               if ($element <> '')
-                       $s .= $head . $element . '?=' .$linefeed;
-       }
-       return $s;
-}
-
-function mb_http_input($type = '')
-{
-       return FALSE;
-}
-
-function mb_http_output($encoding = '')
-{
-       global $mbemu_internals;
-       
-       if ($encoding == '') return $mbemu_internals['ini_file']['http_output'];
-       if (strtolower($encoding) == 'pass') {
-               $mbemu_internals['ini_file']['http_output'] = 'pass';
-               return TRUE;
-       }
-       $mbemu_internals['ini_file']['http_output'] = mb_preferred_mime_name($encoding);
-       return TRUE;
-}
-
-
-function mb_output_handler ( $buffer, $status='')
-{
-       global $mbemu_internals;
-       if ($mbemu_internals['ini_file']['http_output'] == 'pass')
-               return $buffer;
-       return mb_convert_encoding($buffer, $mbemu_internals['ini_file']['http_output'], mb_internal_encoding());
-}
-
-
-function mb_encode_numericentity($str, $convmap, $encoding="")
-{
-       if (!$encoding) $encoding = mb_internal_encoding();
-       $str = mb_convert_encoding($str, "utf-16", $encoding);
-       $ar = unpack("n*", $str);
-       $s = "";
-       foreach($ar as $char) {
-               $max = count($convmap);
-               for ($i = 0; $i < $max; $i += 4) {
-                       if (($convmap[$i] <= $char) && ($char <= $convmap[$i+1])) {
-                               $char += $convmap[$i+2];
-                               $char &= $convmap[$i+3];
-                               $s .= sprintf("&#%u;", $char);
-                               break;
-                       }
-               }
-               if ($i >= $max) $s .= pack("n*", $char);
-       }
-       return $s;
-}
-
-function mb_decode_numericentity ($str, $convmap, $encoding="")
-{
-       if (!$encoding) $encoding = mb_internal_encoding();
-       $ar = preg_split('/(&#[0-9]+;)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
-       $s = '';
-       $max = count($convmap);
-       foreach($ar as $chunk) {
-               if (preg_match('/&#([0-9]+);/', $chunk, $match)) {
-                       for ($i = 0; $i < $max; $i += 4) {
-                               $num = $match[1] - $convmap[$i+2];
-                               if (($convmap[$i] <= $num) && ($num <= $convmap[$i+1])) {
-                                       $ucs2 = pack('n*', $num);
-                                       $s .= mb_convert_encoding($ucs2, $encoding, 'UTF-16');
-                                       break;
-                               }
-                       }
-                       if ($i >= $max) $s .= $chunk;
-               } else {
-                       $s .= $chunk;
-               }
-       }
-       return $s;
-}
-
-function mb_strtoupper($str, $encoding='')
-{
-       global $mbemu_internals;
-
-       include_once(dirname(__FILE__).'/upper.table');
-       $encoding = mb_detect_encoding($str, $encoding);
-       $str = mb_convert_encoding($str, 'UTF-8', $encoding);
-
-       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // make array of chars
-       $newst = '';
-       for ($i = 0; $i < $max; ++$i) {
-               $val = _utf8ucs2($allchars[0][$i]); //get ucs2 value
-               if ((0x61 <= $val) && ($val <= 0x7a)) {
-                       $val -= 0x20;
-                       $newst .= _ucs2utf8($val);
-               } elseif ($upper = $mbemu_internals['upperarray'][$val]) {
-                       $newst .= _ucs2utf8($upper);
-               } else {
-                       $newst .= $allchars[0][$i];
-               }
-       }
-       return mb_convert_encoding($newst, $encoding, 'UTF-8');
-}
-
-function mb_strtolower($str, $encoding='')
-{
-       global $mbemu_internals;
-
-       include_once(dirname(__FILE__).'/lower.table');
-       $encoding = mb_detect_encoding($str, $encoding);
-       $str = mb_convert_encoding($str, 'UTF-8', $encoding);
-
-       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // make array of chars
-       $newst = '';
-       for ($i = 0; $i < $max; ++$i) {
-               $val = _utf8ucs2($allchars[0][$i]); //get ucs2 value
-               if ((0x41 <= $val) && ($val <= 0x5a)) {
-                       $val += 0x20;
-                       $newst .= _ucs2utf8($val);
-               } elseif ($lower = $mbemu_internals['lowerarray'][$val]) {
-                       $newst .= _ucs2utf8($lower);
-               } else {
-                       $newst .= $allchars[0][$i];
-               }
-       }
-       return mb_convert_encoding($newst, $encoding, 'UTF-8');
-}
-
-function mb_convert_case($str, $case, $encoding='')
-{
-       global $mbemu_internals;
-       
-       switch($case) {
-               case MB_CASE_UPPER :
-                       return mb_strtoupper($str, $encoding);
-               case MB_CASE_LOWER :
-                       return mb_strtolower($str, $encoding);
-               case MB_CASE_TITLE :
-                       include_once(dirname(__FILE__).'/upper.table');
-                       include_once(dirname(__FILE__).'/lower.table');
-                       $encoding = mb_detect_encoding($str, $encoding);
-                       $str = mb_convert_encoding($str, 'UTF-8', $encoding);
-
-                       $max = preg_match_all('/'.$mbemu_internals['regex'][4].'/', $str, $allchars);  // make array of chars
-                       $newst = '';
-                       $isalpha = FALSE;
-                       for ($i = 0; $i < $max; ++$i) {
-                               $val = _utf8ucs2($allchars[0][$i]); //get ucs2 value
-                               if ((0x41 <= $val) && ($val <= 0x5a)) {
-                                       if ($isalpha) {
-                                               $val += 0x20; // to lower;
-                                       } else {
-                                               $isalpha = TRUE;
-                                       }
-                                       $newst .= _ucs2utf8($val);
-                               } elseif ((0x61 <= $val) && ($val <= 0x7a)){
-                                       if (!$isalpha) {
-                                               $val -= 0x20; // to upper
-                                               $isalpha = TRUE;
-                                       }
-                                       $newst .= _ucs2utf8($val);
-                               } elseif ($upper = $mbemu_internals['upperarray'][$val]) { // this char is lower
-                                       if ($isalpha) {
-                                               $newst .= _ucs2utf8($val);
-                                       } else {
-                                               $isalpha = TRUE;
-                                               $newst .= _ucs2utf8($upper);
-                                       }
-                               } elseif ($lower = $mbemu_internals['lowerarray'][$val]) { // this char is upper
-                                       if ($isalpha) {
-                                               $newst .= _ucs2utf8($lower);
-                                       } else {
-                                               $isalpha = TRUE;
-                                               $newst .= _ucs2utf8($val);
-                                       }
-                               } else {
-                                       $isalpha = FALSE;
-                                       $newst .= $allchars[0][$i];
-                               }
-                       }
-                       return mb_convert_encoding($newst, $encoding, 'UTF-8');
-       }
-}
-
-
-function _print_str($str) {
-       $all = unpack("C*", $str);
-       $s = '';
-       foreach($all as $char) {
-               $s .= sprintf(" %2X",$char);
-       }
-       print $s."\n";
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/mb_emulator/sjistouni.table b/euc/nucleus/libs/mb_emulator/sjistouni.table
deleted file mode 100755 (executable)
index 149ff6a..0000000
+++ /dev/null
@@ -1,9608 +0,0 @@
-<?php
-$mbemu_internals['sjistoucs2'] = array (
-0x8140=>0x3000,
-0x8141=>0x3001,
-0x8142=>0x3002,
-0x8143=>0xFF0C,
-0x8144=>0xFF0E,
-0x8145=>0x30FB,
-0x8146=>0xFF1A,
-0x8147=>0xFF1B,
-0x8148=>0xFF1F,
-0x8149=>0xFF01,
-0x814A=>0x309B,
-0x814B=>0x309C,
-0x814C=>0x00B4,
-0x814D=>0xFF40,
-0x814E=>0x00A8,
-0x814F=>0xFF3E,
-0x8150=>0xFFE3,
-0x8151=>0xFF3F,
-0x8152=>0x30FD,
-0x8153=>0x30FE,
-0x8154=>0x309D,
-0x8155=>0x309E,
-0x8156=>0x3003,
-0x8157=>0x4EDD,
-0x8158=>0x3005,
-0x8159=>0x3006,
-0x815A=>0x3007,
-0x815B=>0x30FC,
-0x815C=>0x2015,
-0x815D=>0x2010,
-0x815E=>0xFF0F,
-0x815F=>0xFF3C,
-0x8160=>0xFF5E,
-0x8161=>0x2225,
-0x8162=>0xFF5C,
-0x8163=>0x2026,
-0x8164=>0x2025,
-0x8165=>0x2018,
-0x8166=>0x2019,
-0x8167=>0x201C,
-0x8168=>0x201D,
-0x8169=>0xFF08,
-0x816A=>0xFF09,
-0x816B=>0x3014,
-0x816C=>0x3015,
-0x816D=>0xFF3B,
-0x816E=>0xFF3D,
-0x816F=>0xFF5B,
-0x8170=>0xFF5D,
-0x8171=>0x3008,
-0x8172=>0x3009,
-0x8173=>0x300A,
-0x8174=>0x300B,
-0x8175=>0x300C,
-0x8176=>0x300D,
-0x8177=>0x300E,
-0x8178=>0x300F,
-0x8179=>0x3010,
-0x817A=>0x3011,
-0x817B=>0xFF0B,
-0x817C=>0xFF0D,
-0x817D=>0x00B1,
-0x817E=>0x00D7,
-0x8180=>0x00F7,
-0x8181=>0xFF1D,
-0x8182=>0x2260,
-0x8183=>0xFF1C,
-0x8184=>0xFF1E,
-0x8185=>0x2266,
-0x8186=>0x2267,
-0x8187=>0x221E,
-0x8188=>0x2234,
-0x8189=>0x2642,
-0x818A=>0x2640,
-0x818B=>0x00B0,
-0x818C=>0x2032,
-0x818D=>0x2033,
-0x818E=>0x2103,
-0x818F=>0xFFE5,
-0x8190=>0xFF04,
-0x8191=>0xFFE0,
-0x8192=>0xFFE1,
-0x8193=>0xFF05,
-0x8194=>0xFF03,
-0x8195=>0xFF06,
-0x8196=>0xFF0A,
-0x8197=>0xFF20,
-0x8198=>0x00A7,
-0x8199=>0x2606,
-0x819A=>0x2605,
-0x819B=>0x25CB,
-0x819C=>0x25CF,
-0x819D=>0x25CE,
-0x819E=>0x25C7,
-0x819F=>0x25C6,
-0x81A0=>0x25A1,
-0x81A1=>0x25A0,
-0x81A2=>0x25B3,
-0x81A3=>0x25B2,
-0x81A4=>0x25BD,
-0x81A5=>0x25BC,
-0x81A6=>0x203B,
-0x81A7=>0x3012,
-0x81A8=>0x2192,
-0x81A9=>0x2190,
-0x81AA=>0x2191,
-0x81AB=>0x2193,
-0x81AC=>0x3013,
-0x81B8=>0x2208,
-0x81B9=>0x220B,
-0x81BA=>0x2286,
-0x81BB=>0x2287,
-0x81BC=>0x2282,
-0x81BD=>0x2283,
-0x81BE=>0x222A,
-0x81BF=>0x2229,
-0x81C8=>0x2227,
-0x81C9=>0x2228,
-0x81CA=>0xFFE2,
-0x81CB=>0x21D2,
-0x81CC=>0x21D4,
-0x81CD=>0x2200,
-0x81CE=>0x2203,
-0x81DA=>0x2220,
-0x81DB=>0x22A5,
-0x81DC=>0x2312,
-0x81DD=>0x2202,
-0x81DE=>0x2207,
-0x81DF=>0x2261,
-0x81E0=>0x2252,
-0x81E1=>0x226A,
-0x81E2=>0x226B,
-0x81E3=>0x221A,
-0x81E4=>0x223D,
-0x81E5=>0x221D,
-0x81E6=>0x2235,
-0x81E7=>0x222B,
-0x81E8=>0x222C,
-0x81F0=>0x212B,
-0x81F1=>0x2030,
-0x81F2=>0x266F,
-0x81F3=>0x266D,
-0x81F4=>0x266A,
-0x81F5=>0x2020,
-0x81F6=>0x2021,
-0x81F7=>0x00B6,
-0x81FC=>0x25EF,
-0x824F=>0xFF10,
-0x8250=>0xFF11,
-0x8251=>0xFF12,
-0x8252=>0xFF13,
-0x8253=>0xFF14,
-0x8254=>0xFF15,
-0x8255=>0xFF16,
-0x8256=>0xFF17,
-0x8257=>0xFF18,
-0x8258=>0xFF19,
-0x8260=>0xFF21,
-0x8261=>0xFF22,
-0x8262=>0xFF23,
-0x8263=>0xFF24,
-0x8264=>0xFF25,
-0x8265=>0xFF26,
-0x8266=>0xFF27,
-0x8267=>0xFF28,
-0x8268=>0xFF29,
-0x8269=>0xFF2A,
-0x826A=>0xFF2B,
-0x826B=>0xFF2C,
-0x826C=>0xFF2D,
-0x826D=>0xFF2E,
-0x826E=>0xFF2F,
-0x826F=>0xFF30,
-0x8270=>0xFF31,
-0x8271=>0xFF32,
-0x8272=>0xFF33,
-0x8273=>0xFF34,
-0x8274=>0xFF35,
-0x8275=>0xFF36,
-0x8276=>0xFF37,
-0x8277=>0xFF38,
-0x8278=>0xFF39,
-0x8279=>0xFF3A,
-0x8281=>0xFF41,
-0x8282=>0xFF42,
-0x8283=>0xFF43,
-0x8284=>0xFF44,
-0x8285=>0xFF45,
-0x8286=>0xFF46,
-0x8287=>0xFF47,
-0x8288=>0xFF48,
-0x8289=>0xFF49,
-0x828A=>0xFF4A,
-0x828B=>0xFF4B,
-0x828C=>0xFF4C,
-0x828D=>0xFF4D,
-0x828E=>0xFF4E,
-0x828F=>0xFF4F,
-0x8290=>0xFF50,
-0x8291=>0xFF51,
-0x8292=>0xFF52,
-0x8293=>0xFF53,
-0x8294=>0xFF54,
-0x8295=>0xFF55,
-0x8296=>0xFF56,
-0x8297=>0xFF57,
-0x8298=>0xFF58,
-0x8299=>0xFF59,
-0x829A=>0xFF5A,
-0x829F=>0x3041,
-0x82A0=>0x3042,
-0x82A1=>0x3043,
-0x82A2=>0x3044,
-0x82A3=>0x3045,
-0x82A4=>0x3046,
-0x82A5=>0x3047,
-0x82A6=>0x3048,
-0x82A7=>0x3049,
-0x82A8=>0x304A,
-0x82A9=>0x304B,
-0x82AA=>0x304C,
-0x82AB=>0x304D,
-0x82AC=>0x304E,
-0x82AD=>0x304F,
-0x82AE=>0x3050,
-0x82AF=>0x3051,
-0x82B0=>0x3052,
-0x82B1=>0x3053,
-0x82B2=>0x3054,
-0x82B3=>0x3055,
-0x82B4=>0x3056,
-0x82B5=>0x3057,
-0x82B6=>0x3058,
-0x82B7=>0x3059,
-0x82B8=>0x305A,
-0x82B9=>0x305B,
-0x82BA=>0x305C,
-0x82BB=>0x305D,
-0x82BC=>0x305E,
-0x82BD=>0x305F,
-0x82BE=>0x3060,
-0x82BF=>0x3061,
-0x82C0=>0x3062,
-0x82C1=>0x3063,
-0x82C2=>0x3064,
-0x82C3=>0x3065,
-0x82C4=>0x3066,
-0x82C5=>0x3067,
-0x82C6=>0x3068,
-0x82C7=>0x3069,
-0x82C8=>0x306A,
-0x82C9=>0x306B,
-0x82CA=>0x306C,
-0x82CB=>0x306D,
-0x82CC=>0x306E,
-0x82CD=>0x306F,
-0x82CE=>0x3070,
-0x82CF=>0x3071,
-0x82D0=>0x3072,
-0x82D1=>0x3073,
-0x82D2=>0x3074,
-0x82D3=>0x3075,
-0x82D4=>0x3076,
-0x82D5=>0x3077,
-0x82D6=>0x3078,
-0x82D7=>0x3079,
-0x82D8=>0x307A,
-0x82D9=>0x307B,
-0x82DA=>0x307C,
-0x82DB=>0x307D,
-0x82DC=>0x307E,
-0x82DD=>0x307F,
-0x82DE=>0x3080,
-0x82DF=>0x3081,
-0x82E0=>0x3082,
-0x82E1=>0x3083,
-0x82E2=>0x3084,
-0x82E3=>0x3085,
-0x82E4=>0x3086,
-0x82E5=>0x3087,
-0x82E6=>0x3088,
-0x82E7=>0x3089,
-0x82E8=>0x308A,
-0x82E9=>0x308B,
-0x82EA=>0x308C,
-0x82EB=>0x308D,
-0x82EC=>0x308E,
-0x82ED=>0x308F,
-0x82EE=>0x3090,
-0x82EF=>0x3091,
-0x82F0=>0x3092,
-0x82F1=>0x3093,
-0x8340=>0x30A1,
-0x8341=>0x30A2,
-0x8342=>0x30A3,
-0x8343=>0x30A4,
-0x8344=>0x30A5,
-0x8345=>0x30A6,
-0x8346=>0x30A7,
-0x8347=>0x30A8,
-0x8348=>0x30A9,
-0x8349=>0x30AA,
-0x834A=>0x30AB,
-0x834B=>0x30AC,
-0x834C=>0x30AD,
-0x834D=>0x30AE,
-0x834E=>0x30AF,
-0x834F=>0x30B0,
-0x8350=>0x30B1,
-0x8351=>0x30B2,
-0x8352=>0x30B3,
-0x8353=>0x30B4,
-0x8354=>0x30B5,
-0x8355=>0x30B6,
-0x8356=>0x30B7,
-0x8357=>0x30B8,
-0x8358=>0x30B9,
-0x8359=>0x30BA,
-0x835A=>0x30BB,
-0x835B=>0x30BC,
-0x835C=>0x30BD,
-0x835D=>0x30BE,
-0x835E=>0x30BF,
-0x835F=>0x30C0,
-0x8360=>0x30C1,
-0x8361=>0x30C2,
-0x8362=>0x30C3,
-0x8363=>0x30C4,
-0x8364=>0x30C5,
-0x8365=>0x30C6,
-0x8366=>0x30C7,
-0x8367=>0x30C8,
-0x8368=>0x30C9,
-0x8369=>0x30CA,
-0x836A=>0x30CB,
-0x836B=>0x30CC,
-0x836C=>0x30CD,
-0x836D=>0x30CE,
-0x836E=>0x30CF,
-0x836F=>0x30D0,
-0x8370=>0x30D1,
-0x8371=>0x30D2,
-0x8372=>0x30D3,
-0x8373=>0x30D4,
-0x8374=>0x30D5,
-0x8375=>0x30D6,
-0x8376=>0x30D7,
-0x8377=>0x30D8,
-0x8378=>0x30D9,
-0x8379=>0x30DA,
-0x837A=>0x30DB,
-0x837B=>0x30DC,
-0x837C=>0x30DD,
-0x837D=>0x30DE,
-0x837E=>0x30DF,
-0x8380=>0x30E0,
-0x8381=>0x30E1,
-0x8382=>0x30E2,
-0x8383=>0x30E3,
-0x8384=>0x30E4,
-0x8385=>0x30E5,
-0x8386=>0x30E6,
-0x8387=>0x30E7,
-0x8388=>0x30E8,
-0x8389=>0x30E9,
-0x838A=>0x30EA,
-0x838B=>0x30EB,
-0x838C=>0x30EC,
-0x838D=>0x30ED,
-0x838E=>0x30EE,
-0x838F=>0x30EF,
-0x8390=>0x30F0,
-0x8391=>0x30F1,
-0x8392=>0x30F2,
-0x8393=>0x30F3,
-0x8394=>0x30F4,
-0x8395=>0x30F5,
-0x8396=>0x30F6,
-0x839F=>0x0391,
-0x83A0=>0x0392,
-0x83A1=>0x0393,
-0x83A2=>0x0394,
-0x83A3=>0x0395,
-0x83A4=>0x0396,
-0x83A5=>0x0397,
-0x83A6=>0x0398,
-0x83A7=>0x0399,
-0x83A8=>0x039A,
-0x83A9=>0x039B,
-0x83AA=>0x039C,
-0x83AB=>0x039D,
-0x83AC=>0x039E,
-0x83AD=>0x039F,
-0x83AE=>0x03A0,
-0x83AF=>0x03A1,
-0x83B0=>0x03A3,
-0x83B1=>0x03A4,
-0x83B2=>0x03A5,
-0x83B3=>0x03A6,
-0x83B4=>0x03A7,
-0x83B5=>0x03A8,
-0x83B6=>0x03A9,
-0x83BF=>0x03B1,
-0x83C0=>0x03B2,
-0x83C1=>0x03B3,
-0x83C2=>0x03B4,
-0x83C3=>0x03B5,
-0x83C4=>0x03B6,
-0x83C5=>0x03B7,
-0x83C6=>0x03B8,
-0x83C7=>0x03B9,
-0x83C8=>0x03BA,
-0x83C9=>0x03BB,
-0x83CA=>0x03BC,
-0x83CB=>0x03BD,
-0x83CC=>0x03BE,
-0x83CD=>0x03BF,
-0x83CE=>0x03C0,
-0x83CF=>0x03C1,
-0x83D0=>0x03C3,
-0x83D1=>0x03C4,
-0x83D2=>0x03C5,
-0x83D3=>0x03C6,
-0x83D4=>0x03C7,
-0x83D5=>0x03C8,
-0x83D6=>0x03C9,
-0x8440=>0x0410,
-0x8441=>0x0411,
-0x8442=>0x0412,
-0x8443=>0x0413,
-0x8444=>0x0414,
-0x8445=>0x0415,
-0x8446=>0x0401,
-0x8447=>0x0416,
-0x8448=>0x0417,
-0x8449=>0x0418,
-0x844A=>0x0419,
-0x844B=>0x041A,
-0x844C=>0x041B,
-0x844D=>0x041C,
-0x844E=>0x041D,
-0x844F=>0x041E,
-0x8450=>0x041F,
-0x8451=>0x0420,
-0x8452=>0x0421,
-0x8453=>0x0422,
-0x8454=>0x0423,
-0x8455=>0x0424,
-0x8456=>0x0425,
-0x8457=>0x0426,
-0x8458=>0x0427,
-0x8459=>0x0428,
-0x845A=>0x0429,
-0x845B=>0x042A,
-0x845C=>0x042B,
-0x845D=>0x042C,
-0x845E=>0x042D,
-0x845F=>0x042E,
-0x8460=>0x042F,
-0x8470=>0x0430,
-0x8471=>0x0431,
-0x8472=>0x0432,
-0x8473=>0x0433,
-0x8474=>0x0434,
-0x8475=>0x0435,
-0x8476=>0x0451,
-0x8477=>0x0436,
-0x8478=>0x0437,
-0x8479=>0x0438,
-0x847A=>0x0439,
-0x847B=>0x043A,
-0x847C=>0x043B,
-0x847D=>0x043C,
-0x847E=>0x043D,
-0x8480=>0x043E,
-0x8481=>0x043F,
-0x8482=>0x0440,
-0x8483=>0x0441,
-0x8484=>0x0442,
-0x8485=>0x0443,
-0x8486=>0x0444,
-0x8487=>0x0445,
-0x8488=>0x0446,
-0x8489=>0x0447,
-0x848A=>0x0448,
-0x848B=>0x0449,
-0x848C=>0x044A,
-0x848D=>0x044B,
-0x848E=>0x044C,
-0x848F=>0x044D,
-0x8490=>0x044E,
-0x8491=>0x044F,
-0x849F=>0x2500,
-0x84A0=>0x2502,
-0x84A1=>0x250C,
-0x84A2=>0x2510,
-0x84A3=>0x2518,
-0x84A4=>0x2514,
-0x84A5=>0x251C,
-0x84A6=>0x252C,
-0x84A7=>0x2524,
-0x84A8=>0x2534,
-0x84A9=>0x253C,
-0x84AA=>0x2501,
-0x84AB=>0x2503,
-0x84AC=>0x250F,
-0x84AD=>0x2513,
-0x84AE=>0x251B,
-0x84AF=>0x2517,
-0x84B0=>0x2523,
-0x84B1=>0x2533,
-0x84B2=>0x252B,
-0x84B3=>0x253B,
-0x84B4=>0x254B,
-0x84B5=>0x2520,
-0x84B6=>0x252F,
-0x84B7=>0x2528,
-0x84B8=>0x2537,
-0x84B9=>0x253F,
-0x84BA=>0x251D,
-0x84BB=>0x2530,
-0x84BC=>0x2525,
-0x84BD=>0x2538,
-0x84BE=>0x2542,
-0x8740=>0x2460,
-0x8741=>0x2461,
-0x8742=>0x2462,
-0x8743=>0x2463,
-0x8744=>0x2464,
-0x8745=>0x2465,
-0x8746=>0x2466,
-0x8747=>0x2467,
-0x8748=>0x2468,
-0x8749=>0x2469,
-0x874A=>0x246A,
-0x874B=>0x246B,
-0x874C=>0x246C,
-0x874D=>0x246D,
-0x874E=>0x246E,
-0x874F=>0x246F,
-0x8750=>0x2470,
-0x8751=>0x2471,
-0x8752=>0x2472,
-0x8753=>0x2473,
-0x8754=>0x2160,
-0x8755=>0x2161,
-0x8756=>0x2162,
-0x8757=>0x2163,
-0x8758=>0x2164,
-0x8759=>0x2165,
-0x875A=>0x2166,
-0x875B=>0x2167,
-0x875C=>0x2168,
-0x875D=>0x2169,
-0x875F=>0x3349,
-0x8760=>0x3314,
-0x8761=>0x3322,
-0x8762=>0x334D,
-0x8763=>0x3318,
-0x8764=>0x3327,
-0x8765=>0x3303,
-0x8766=>0x3336,
-0x8767=>0x3351,
-0x8768=>0x3357,
-0x8769=>0x330D,
-0x876A=>0x3326,
-0x876B=>0x3323,
-0x876C=>0x332B,
-0x876D=>0x334A,
-0x876E=>0x333B,
-0x876F=>0x339C,
-0x8770=>0x339D,
-0x8771=>0x339E,
-0x8772=>0x338E,
-0x8773=>0x338F,
-0x8774=>0x33C4,
-0x8775=>0x33A1,
-0x877E=>0x337B,
-0x8780=>0x301D,
-0x8781=>0x301F,
-0x8782=>0x2116,
-0x8783=>0x33CD,
-0x8784=>0x2121,
-0x8785=>0x32A4,
-0x8786=>0x32A5,
-0x8787=>0x32A6,
-0x8788=>0x32A7,
-0x8789=>0x32A8,
-0x878A=>0x3231,
-0x878B=>0x3232,
-0x878C=>0x3239,
-0x878D=>0x337E,
-0x878E=>0x337D,
-0x878F=>0x337C,
-0x8790=>0x2252,
-0x8791=>0x2261,
-0x8792=>0x222B,
-0x8793=>0x222E,
-0x8794=>0x2211,
-0x8795=>0x221A,
-0x8796=>0x22A5,
-0x8797=>0x2220,
-0x8798=>0x221F,
-0x8799=>0x22BF,
-0x879A=>0x2235,
-0x879B=>0x2229,
-0x879C=>0x222A,
-0x889F=>0x4E9C,
-0x88A0=>0x5516,
-0x88A1=>0x5A03,
-0x88A2=>0x963F,
-0x88A3=>0x54C0,
-0x88A4=>0x611B,
-0x88A5=>0x6328,
-0x88A6=>0x59F6,
-0x88A7=>0x9022,
-0x88A8=>0x8475,
-0x88A9=>0x831C,
-0x88AA=>0x7A50,
-0x88AB=>0x60AA,
-0x88AC=>0x63E1,
-0x88AD=>0x6E25,
-0x88AE=>0x65ED,
-0x88AF=>0x8466,
-0x88B0=>0x82A6,
-0x88B1=>0x9BF5,
-0x88B2=>0x6893,
-0x88B3=>0x5727,
-0x88B4=>0x65A1,
-0x88B5=>0x6271,
-0x88B6=>0x5B9B,
-0x88B7=>0x59D0,
-0x88B8=>0x867B,
-0x88B9=>0x98F4,
-0x88BA=>0x7D62,
-0x88BB=>0x7DBE,
-0x88BC=>0x9B8E,
-0x88BD=>0x6216,
-0x88BE=>0x7C9F,
-0x88BF=>0x88B7,
-0x88C0=>0x5B89,
-0x88C1=>0x5EB5,
-0x88C2=>0x6309,
-0x88C3=>0x6697,
-0x88C4=>0x6848,
-0x88C5=>0x95C7,
-0x88C6=>0x978D,
-0x88C7=>0x674F,
-0x88C8=>0x4EE5,
-0x88C9=>0x4F0A,
-0x88CA=>0x4F4D,
-0x88CB=>0x4F9D,
-0x88CC=>0x5049,
-0x88CD=>0x56F2,
-0x88CE=>0x5937,
-0x88CF=>0x59D4,
-0x88D0=>0x5A01,
-0x88D1=>0x5C09,
-0x88D2=>0x60DF,
-0x88D3=>0x610F,
-0x88D4=>0x6170,
-0x88D5=>0x6613,
-0x88D6=>0x6905,
-0x88D7=>0x70BA,
-0x88D8=>0x754F,
-0x88D9=>0x7570,
-0x88DA=>0x79FB,
-0x88DB=>0x7DAD,
-0x88DC=>0x7DEF,
-0x88DD=>0x80C3,
-0x88DE=>0x840E,
-0x88DF=>0x8863,
-0x88E0=>0x8B02,
-0x88E1=>0x9055,
-0x88E2=>0x907A,
-0x88E3=>0x533B,
-0x88E4=>0x4E95,
-0x88E5=>0x4EA5,
-0x88E6=>0x57DF,
-0x88E7=>0x80B2,
-0x88E8=>0x90C1,
-0x88E9=>0x78EF,
-0x88EA=>0x4E00,
-0x88EB=>0x58F1,
-0x88EC=>0x6EA2,
-0x88ED=>0x9038,
-0x88EE=>0x7A32,
-0x88EF=>0x8328,
-0x88F0=>0x828B,
-0x88F1=>0x9C2F,
-0x88F2=>0x5141,
-0x88F3=>0x5370,
-0x88F4=>0x54BD,
-0x88F5=>0x54E1,
-0x88F6=>0x56E0,
-0x88F7=>0x59FB,
-0x88F8=>0x5F15,
-0x88F9=>0x98F2,
-0x88FA=>0x6DEB,
-0x88FB=>0x80E4,
-0x88FC=>0x852D,
-0x8940=>0x9662,
-0x8941=>0x9670,
-0x8942=>0x96A0,
-0x8943=>0x97FB,
-0x8944=>0x540B,
-0x8945=>0x53F3,
-0x8946=>0x5B87,
-0x8947=>0x70CF,
-0x8948=>0x7FBD,
-0x8949=>0x8FC2,
-0x894A=>0x96E8,
-0x894B=>0x536F,
-0x894C=>0x9D5C,
-0x894D=>0x7ABA,
-0x894E=>0x4E11,
-0x894F=>0x7893,
-0x8950=>0x81FC,
-0x8951=>0x6E26,
-0x8952=>0x5618,
-0x8953=>0x5504,
-0x8954=>0x6B1D,
-0x8955=>0x851A,
-0x8956=>0x9C3B,
-0x8957=>0x59E5,
-0x8958=>0x53A9,
-0x8959=>0x6D66,
-0x895A=>0x74DC,
-0x895B=>0x958F,
-0x895C=>0x5642,
-0x895D=>0x4E91,
-0x895E=>0x904B,
-0x895F=>0x96F2,
-0x8960=>0x834F,
-0x8961=>0x990C,
-0x8962=>0x53E1,
-0x8963=>0x55B6,
-0x8964=>0x5B30,
-0x8965=>0x5F71,
-0x8966=>0x6620,
-0x8967=>0x66F3,
-0x8968=>0x6804,
-0x8969=>0x6C38,
-0x896A=>0x6CF3,
-0x896B=>0x6D29,
-0x896C=>0x745B,
-0x896D=>0x76C8,
-0x896E=>0x7A4E,
-0x896F=>0x9834,
-0x8970=>0x82F1,
-0x8971=>0x885B,
-0x8972=>0x8A60,
-0x8973=>0x92ED,
-0x8974=>0x6DB2,
-0x8975=>0x75AB,
-0x8976=>0x76CA,
-0x8977=>0x99C5,
-0x8978=>0x60A6,
-0x8979=>0x8B01,
-0x897A=>0x8D8A,
-0x897B=>0x95B2,
-0x897C=>0x698E,
-0x897D=>0x53AD,
-0x897E=>0x5186,
-0x8980=>0x5712,
-0x8981=>0x5830,
-0x8982=>0x5944,
-0x8983=>0x5BB4,
-0x8984=>0x5EF6,
-0x8985=>0x6028,
-0x8986=>0x63A9,
-0x8987=>0x63F4,
-0x8988=>0x6CBF,
-0x8989=>0x6F14,
-0x898A=>0x708E,
-0x898B=>0x7114,
-0x898C=>0x7159,
-0x898D=>0x71D5,
-0x898E=>0x733F,
-0x898F=>0x7E01,
-0x8990=>0x8276,
-0x8991=>0x82D1,
-0x8992=>0x8597,
-0x8993=>0x9060,
-0x8994=>0x925B,
-0x8995=>0x9D1B,
-0x8996=>0x5869,
-0x8997=>0x65BC,
-0x8998=>0x6C5A,
-0x8999=>0x7525,
-0x899A=>0x51F9,
-0x899B=>0x592E,
-0x899C=>0x5965,
-0x899D=>0x5F80,
-0x899E=>0x5FDC,
-0x899F=>0x62BC,
-0x89A0=>0x65FA,
-0x89A1=>0x6A2A,
-0x89A2=>0x6B27,
-0x89A3=>0x6BB4,
-0x89A4=>0x738B,
-0x89A5=>0x7FC1,
-0x89A6=>0x8956,
-0x89A7=>0x9D2C,
-0x89A8=>0x9D0E,
-0x89A9=>0x9EC4,
-0x89AA=>0x5CA1,
-0x89AB=>0x6C96,
-0x89AC=>0x837B,
-0x89AD=>0x5104,
-0x89AE=>0x5C4B,
-0x89AF=>0x61B6,
-0x89B0=>0x81C6,
-0x89B1=>0x6876,
-0x89B2=>0x7261,
-0x89B3=>0x4E59,
-0x89B4=>0x4FFA,
-0x89B5=>0x5378,
-0x89B6=>0x6069,
-0x89B7=>0x6E29,
-0x89B8=>0x7A4F,
-0x89B9=>0x97F3,
-0x89BA=>0x4E0B,
-0x89BB=>0x5316,
-0x89BC=>0x4EEE,
-0x89BD=>0x4F55,
-0x89BE=>0x4F3D,
-0x89BF=>0x4FA1,
-0x89C0=>0x4F73,
-0x89C1=>0x52A0,
-0x89C2=>0x53EF,
-0x89C3=>0x5609,
-0x89C4=>0x590F,
-0x89C5=>0x5AC1,
-0x89C6=>0x5BB6,
-0x89C7=>0x5BE1,
-0x89C8=>0x79D1,
-0x89C9=>0x6687,
-0x89CA=>0x679C,
-0x89CB=>0x67B6,
-0x89CC=>0x6B4C,
-0x89CD=>0x6CB3,
-0x89CE=>0x706B,
-0x89CF=>0x73C2,
-0x89D0=>0x798D,
-0x89D1=>0x79BE,
-0x89D2=>0x7A3C,
-0x89D3=>0x7B87,
-0x89D4=>0x82B1,
-0x89D5=>0x82DB,
-0x89D6=>0x8304,
-0x89D7=>0x8377,
-0x89D8=>0x83EF,
-0x89D9=>0x83D3,
-0x89DA=>0x8766,
-0x89DB=>0x8AB2,
-0x89DC=>0x5629,
-0x89DD=>0x8CA8,
-0x89DE=>0x8FE6,
-0x89DF=>0x904E,
-0x89E0=>0x971E,
-0x89E1=>0x868A,
-0x89E2=>0x4FC4,
-0x89E3=>0x5CE8,
-0x89E4=>0x6211,
-0x89E5=>0x7259,
-0x89E6=>0x753B,
-0x89E7=>0x81E5,
-0x89E8=>0x82BD,
-0x89E9=>0x86FE,
-0x89EA=>0x8CC0,
-0x89EB=>0x96C5,
-0x89EC=>0x9913,
-0x89ED=>0x99D5,
-0x89EE=>0x4ECB,
-0x89EF=>0x4F1A,
-0x89F0=>0x89E3,
-0x89F1=>0x56DE,
-0x89F2=>0x584A,
-0x89F3=>0x58CA,
-0x89F4=>0x5EFB,
-0x89F5=>0x5FEB,
-0x89F6=>0x602A,
-0x89F7=>0x6094,
-0x89F8=>0x6062,
-0x89F9=>0x61D0,
-0x89FA=>0x6212,
-0x89FB=>0x62D0,
-0x89FC=>0x6539,
-0x8A40=>0x9B41,
-0x8A41=>0x6666,
-0x8A42=>0x68B0,
-0x8A43=>0x6D77,
-0x8A44=>0x7070,
-0x8A45=>0x754C,
-0x8A46=>0x7686,
-0x8A47=>0x7D75,
-0x8A48=>0x82A5,
-0x8A49=>0x87F9,
-0x8A4A=>0x958B,
-0x8A4B=>0x968E,
-0x8A4C=>0x8C9D,
-0x8A4D=>0x51F1,
-0x8A4E=>0x52BE,
-0x8A4F=>0x5916,
-0x8A50=>0x54B3,
-0x8A51=>0x5BB3,
-0x8A52=>0x5D16,
-0x8A53=>0x6168,
-0x8A54=>0x6982,
-0x8A55=>0x6DAF,
-0x8A56=>0x788D,
-0x8A57=>0x84CB,
-0x8A58=>0x8857,
-0x8A59=>0x8A72,
-0x8A5A=>0x93A7,
-0x8A5B=>0x9AB8,
-0x8A5C=>0x6D6C,
-0x8A5D=>0x99A8,
-0x8A5E=>0x86D9,
-0x8A5F=>0x57A3,
-0x8A60=>0x67FF,
-0x8A61=>0x86CE,
-0x8A62=>0x920E,
-0x8A63=>0x5283,
-0x8A64=>0x5687,
-0x8A65=>0x5404,
-0x8A66=>0x5ED3,
-0x8A67=>0x62E1,
-0x8A68=>0x64B9,
-0x8A69=>0x683C,
-0x8A6A=>0x6838,
-0x8A6B=>0x6BBB,
-0x8A6C=>0x7372,
-0x8A6D=>0x78BA,
-0x8A6E=>0x7A6B,
-0x8A6F=>0x899A,
-0x8A70=>0x89D2,
-0x8A71=>0x8D6B,
-0x8A72=>0x8F03,
-0x8A73=>0x90ED,
-0x8A74=>0x95A3,
-0x8A75=>0x9694,
-0x8A76=>0x9769,
-0x8A77=>0x5B66,
-0x8A78=>0x5CB3,
-0x8A79=>0x697D,
-0x8A7A=>0x984D,
-0x8A7B=>0x984E,
-0x8A7C=>0x639B,
-0x8A7D=>0x7B20,
-0x8A7E=>0x6A2B,
-0x8A80=>0x6A7F,
-0x8A81=>0x68B6,
-0x8A82=>0x9C0D,
-0x8A83=>0x6F5F,
-0x8A84=>0x5272,
-0x8A85=>0x559D,
-0x8A86=>0x6070,
-0x8A87=>0x62EC,
-0x8A88=>0x6D3B,
-0x8A89=>0x6E07,
-0x8A8A=>0x6ED1,
-0x8A8B=>0x845B,
-0x8A8C=>0x8910,
-0x8A8D=>0x8F44,
-0x8A8E=>0x4E14,
-0x8A8F=>0x9C39,
-0x8A90=>0x53F6,
-0x8A91=>0x691B,
-0x8A92=>0x6A3A,
-0x8A93=>0x9784,
-0x8A94=>0x682A,
-0x8A95=>0x515C,
-0x8A96=>0x7AC3,
-0x8A97=>0x84B2,
-0x8A98=>0x91DC,
-0x8A99=>0x938C,
-0x8A9A=>0x565B,
-0x8A9B=>0x9D28,
-0x8A9C=>0x6822,
-0x8A9D=>0x8305,
-0x8A9E=>0x8431,
-0x8A9F=>0x7CA5,
-0x8AA0=>0x5208,
-0x8AA1=>0x82C5,
-0x8AA2=>0x74E6,
-0x8AA3=>0x4E7E,
-0x8AA4=>0x4F83,
-0x8AA5=>0x51A0,
-0x8AA6=>0x5BD2,
-0x8AA7=>0x520A,
-0x8AA8=>0x52D8,
-0x8AA9=>0x52E7,
-0x8AAA=>0x5DFB,
-0x8AAB=>0x559A,
-0x8AAC=>0x582A,
-0x8AAD=>0x59E6,
-0x8AAE=>0x5B8C,
-0x8AAF=>0x5B98,
-0x8AB0=>0x5BDB,
-0x8AB1=>0x5E72,
-0x8AB2=>0x5E79,
-0x8AB3=>0x60A3,
-0x8AB4=>0x611F,
-0x8AB5=>0x6163,
-0x8AB6=>0x61BE,
-0x8AB7=>0x63DB,
-0x8AB8=>0x6562,
-0x8AB9=>0x67D1,
-0x8ABA=>0x6853,
-0x8ABB=>0x68FA,
-0x8ABC=>0x6B3E,
-0x8ABD=>0x6B53,
-0x8ABE=>0x6C57,
-0x8ABF=>0x6F22,
-0x8AC0=>0x6F97,
-0x8AC1=>0x6F45,
-0x8AC2=>0x74B0,
-0x8AC3=>0x7518,
-0x8AC4=>0x76E3,
-0x8AC5=>0x770B,
-0x8AC6=>0x7AFF,
-0x8AC7=>0x7BA1,
-0x8AC8=>0x7C21,
-0x8AC9=>0x7DE9,
-0x8ACA=>0x7F36,
-0x8ACB=>0x7FF0,
-0x8ACC=>0x809D,
-0x8ACD=>0x8266,
-0x8ACE=>0x839E,
-0x8ACF=>0x89B3,
-0x8AD0=>0x8ACC,
-0x8AD1=>0x8CAB,
-0x8AD2=>0x9084,
-0x8AD3=>0x9451,
-0x8AD4=>0x9593,
-0x8AD5=>0x9591,
-0x8AD6=>0x95A2,
-0x8AD7=>0x9665,
-0x8AD8=>0x97D3,
-0x8AD9=>0x9928,
-0x8ADA=>0x8218,
-0x8ADB=>0x4E38,
-0x8ADC=>0x542B,
-0x8ADD=>0x5CB8,
-0x8ADE=>0x5DCC,
-0x8ADF=>0x73A9,
-0x8AE0=>0x764C,
-0x8AE1=>0x773C,
-0x8AE2=>0x5CA9,
-0x8AE3=>0x7FEB,
-0x8AE4=>0x8D0B,
-0x8AE5=>0x96C1,
-0x8AE6=>0x9811,
-0x8AE7=>0x9854,
-0x8AE8=>0x9858,
-0x8AE9=>0x4F01,
-0x8AEA=>0x4F0E,
-0x8AEB=>0x5371,
-0x8AEC=>0x559C,
-0x8AED=>0x5668,
-0x8AEE=>0x57FA,
-0x8AEF=>0x5947,
-0x8AF0=>0x5B09,
-0x8AF1=>0x5BC4,
-0x8AF2=>0x5C90,
-0x8AF3=>0x5E0C,
-0x8AF4=>0x5E7E,
-0x8AF5=>0x5FCC,
-0x8AF6=>0x63EE,
-0x8AF7=>0x673A,
-0x8AF8=>0x65D7,
-0x8AF9=>0x65E2,
-0x8AFA=>0x671F,
-0x8AFB=>0x68CB,
-0x8AFC=>0x68C4,
-0x8B40=>0x6A5F,
-0x8B41=>0x5E30,
-0x8B42=>0x6BC5,
-0x8B43=>0x6C17,
-0x8B44=>0x6C7D,
-0x8B45=>0x757F,
-0x8B46=>0x7948,
-0x8B47=>0x5B63,
-0x8B48=>0x7A00,
-0x8B49=>0x7D00,
-0x8B4A=>0x5FBD,
-0x8B4B=>0x898F,
-0x8B4C=>0x8A18,
-0x8B4D=>0x8CB4,
-0x8B4E=>0x8D77,
-0x8B4F=>0x8ECC,
-0x8B50=>0x8F1D,
-0x8B51=>0x98E2,
-0x8B52=>0x9A0E,
-0x8B53=>0x9B3C,
-0x8B54=>0x4E80,
-0x8B55=>0x507D,
-0x8B56=>0x5100,
-0x8B57=>0x5993,
-0x8B58=>0x5B9C,
-0x8B59=>0x622F,
-0x8B5A=>0x6280,
-0x8B5B=>0x64EC,
-0x8B5C=>0x6B3A,
-0x8B5D=>0x72A0,
-0x8B5E=>0x7591,
-0x8B5F=>0x7947,
-0x8B60=>0x7FA9,
-0x8B61=>0x87FB,
-0x8B62=>0x8ABC,
-0x8B63=>0x8B70,
-0x8B64=>0x63AC,
-0x8B65=>0x83CA,
-0x8B66=>0x97A0,
-0x8B67=>0x5409,
-0x8B68=>0x5403,
-0x8B69=>0x55AB,
-0x8B6A=>0x6854,
-0x8B6B=>0x6A58,
-0x8B6C=>0x8A70,
-0x8B6D=>0x7827,
-0x8B6E=>0x6775,
-0x8B6F=>0x9ECD,
-0x8B70=>0x5374,
-0x8B71=>0x5BA2,
-0x8B72=>0x811A,
-0x8B73=>0x8650,
-0x8B74=>0x9006,
-0x8B75=>0x4E18,
-0x8B76=>0x4E45,
-0x8B77=>0x4EC7,
-0x8B78=>0x4F11,
-0x8B79=>0x53CA,
-0x8B7A=>0x5438,
-0x8B7B=>0x5BAE,
-0x8B7C=>0x5F13,
-0x8B7D=>0x6025,
-0x8B7E=>0x6551,
-0x8B80=>0x673D,
-0x8B81=>0x6C42,
-0x8B82=>0x6C72,
-0x8B83=>0x6CE3,
-0x8B84=>0x7078,
-0x8B85=>0x7403,
-0x8B86=>0x7A76,
-0x8B87=>0x7AAE,
-0x8B88=>0x7B08,
-0x8B89=>0x7D1A,
-0x8B8A=>0x7CFE,
-0x8B8B=>0x7D66,
-0x8B8C=>0x65E7,
-0x8B8D=>0x725B,
-0x8B8E=>0x53BB,
-0x8B8F=>0x5C45,
-0x8B90=>0x5DE8,
-0x8B91=>0x62D2,
-0x8B92=>0x62E0,
-0x8B93=>0x6319,
-0x8B94=>0x6E20,
-0x8B95=>0x865A,
-0x8B96=>0x8A31,
-0x8B97=>0x8DDD,
-0x8B98=>0x92F8,
-0x8B99=>0x6F01,
-0x8B9A=>0x79A6,
-0x8B9B=>0x9B5A,
-0x8B9C=>0x4EA8,
-0x8B9D=>0x4EAB,
-0x8B9E=>0x4EAC,
-0x8B9F=>0x4F9B,
-0x8BA0=>0x4FA0,
-0x8BA1=>0x50D1,
-0x8BA2=>0x5147,
-0x8BA3=>0x7AF6,
-0x8BA4=>0x5171,
-0x8BA5=>0x51F6,
-0x8BA6=>0x5354,
-0x8BA7=>0x5321,
-0x8BA8=>0x537F,
-0x8BA9=>0x53EB,
-0x8BAA=>0x55AC,
-0x8BAB=>0x5883,
-0x8BAC=>0x5CE1,
-0x8BAD=>0x5F37,
-0x8BAE=>0x5F4A,
-0x8BAF=>0x602F,
-0x8BB0=>0x6050,
-0x8BB1=>0x606D,
-0x8BB2=>0x631F,
-0x8BB3=>0x6559,
-0x8BB4=>0x6A4B,
-0x8BB5=>0x6CC1,
-0x8BB6=>0x72C2,
-0x8BB7=>0x72ED,
-0x8BB8=>0x77EF,
-0x8BB9=>0x80F8,
-0x8BBA=>0x8105,
-0x8BBB=>0x8208,
-0x8BBC=>0x854E,
-0x8BBD=>0x90F7,
-0x8BBE=>0x93E1,
-0x8BBF=>0x97FF,
-0x8BC0=>0x9957,
-0x8BC1=>0x9A5A,
-0x8BC2=>0x4EF0,
-0x8BC3=>0x51DD,
-0x8BC4=>0x5C2D,
-0x8BC5=>0x6681,
-0x8BC6=>0x696D,
-0x8BC7=>0x5C40,
-0x8BC8=>0x66F2,
-0x8BC9=>0x6975,
-0x8BCA=>0x7389,
-0x8BCB=>0x6850,
-0x8BCC=>0x7C81,
-0x8BCD=>0x50C5,
-0x8BCE=>0x52E4,
-0x8BCF=>0x5747,
-0x8BD0=>0x5DFE,
-0x8BD1=>0x9326,
-0x8BD2=>0x65A4,
-0x8BD3=>0x6B23,
-0x8BD4=>0x6B3D,
-0x8BD5=>0x7434,
-0x8BD6=>0x7981,
-0x8BD7=>0x79BD,
-0x8BD8=>0x7B4B,
-0x8BD9=>0x7DCA,
-0x8BDA=>0x82B9,
-0x8BDB=>0x83CC,
-0x8BDC=>0x887F,
-0x8BDD=>0x895F,
-0x8BDE=>0x8B39,
-0x8BDF=>0x8FD1,
-0x8BE0=>0x91D1,
-0x8BE1=>0x541F,
-0x8BE2=>0x9280,
-0x8BE3=>0x4E5D,
-0x8BE4=>0x5036,
-0x8BE5=>0x53E5,
-0x8BE6=>0x533A,
-0x8BE7=>0x72D7,
-0x8BE8=>0x7396,
-0x8BE9=>0x77E9,
-0x8BEA=>0x82E6,
-0x8BEB=>0x8EAF,
-0x8BEC=>0x99C6,
-0x8BED=>0x99C8,
-0x8BEE=>0x99D2,
-0x8BEF=>0x5177,
-0x8BF0=>0x611A,
-0x8BF1=>0x865E,
-0x8BF2=>0x55B0,
-0x8BF3=>0x7A7A,
-0x8BF4=>0x5076,
-0x8BF5=>0x5BD3,
-0x8BF6=>0x9047,
-0x8BF7=>0x9685,
-0x8BF8=>0x4E32,
-0x8BF9=>0x6ADB,
-0x8BFA=>0x91E7,
-0x8BFB=>0x5C51,
-0x8BFC=>0x5C48,
-0x8C40=>0x6398,
-0x8C41=>0x7A9F,
-0x8C42=>0x6C93,
-0x8C43=>0x9774,
-0x8C44=>0x8F61,
-0x8C45=>0x7AAA,
-0x8C46=>0x718A,
-0x8C47=>0x9688,
-0x8C48=>0x7C82,
-0x8C49=>0x6817,
-0x8C4A=>0x7E70,
-0x8C4B=>0x6851,
-0x8C4C=>0x936C,
-0x8C4D=>0x52F2,
-0x8C4E=>0x541B,
-0x8C4F=>0x85AB,
-0x8C50=>0x8A13,
-0x8C51=>0x7FA4,
-0x8C52=>0x8ECD,
-0x8C53=>0x90E1,
-0x8C54=>0x5366,
-0x8C55=>0x8888,
-0x8C56=>0x7941,
-0x8C57=>0x4FC2,
-0x8C58=>0x50BE,
-0x8C59=>0x5211,
-0x8C5A=>0x5144,
-0x8C5B=>0x5553,
-0x8C5C=>0x572D,
-0x8C5D=>0x73EA,
-0x8C5E=>0x578B,
-0x8C5F=>0x5951,
-0x8C60=>0x5F62,
-0x8C61=>0x5F84,
-0x8C62=>0x6075,
-0x8C63=>0x6176,
-0x8C64=>0x6167,
-0x8C65=>0x61A9,
-0x8C66=>0x63B2,
-0x8C67=>0x643A,
-0x8C68=>0x656C,
-0x8C69=>0x666F,
-0x8C6A=>0x6842,
-0x8C6B=>0x6E13,
-0x8C6C=>0x7566,
-0x8C6D=>0x7A3D,
-0x8C6E=>0x7CFB,
-0x8C6F=>0x7D4C,
-0x8C70=>0x7D99,
-0x8C71=>0x7E4B,
-0x8C72=>0x7F6B,
-0x8C73=>0x830E,
-0x8C74=>0x834A,
-0x8C75=>0x86CD,
-0x8C76=>0x8A08,
-0x8C77=>0x8A63,
-0x8C78=>0x8B66,
-0x8C79=>0x8EFD,
-0x8C7A=>0x981A,
-0x8C7B=>0x9D8F,
-0x8C7C=>0x82B8,
-0x8C7D=>0x8FCE,
-0x8C7E=>0x9BE8,
-0x8C80=>0x5287,
-0x8C81=>0x621F,
-0x8C82=>0x6483,
-0x8C83=>0x6FC0,
-0x8C84=>0x9699,
-0x8C85=>0x6841,
-0x8C86=>0x5091,
-0x8C87=>0x6B20,
-0x8C88=>0x6C7A,
-0x8C89=>0x6F54,
-0x8C8A=>0x7A74,
-0x8C8B=>0x7D50,
-0x8C8C=>0x8840,
-0x8C8D=>0x8A23,
-0x8C8E=>0x6708,
-0x8C8F=>0x4EF6,
-0x8C90=>0x5039,
-0x8C91=>0x5026,
-0x8C92=>0x5065,
-0x8C93=>0x517C,
-0x8C94=>0x5238,
-0x8C95=>0x5263,
-0x8C96=>0x55A7,
-0x8C97=>0x570F,
-0x8C98=>0x5805,
-0x8C99=>0x5ACC,
-0x8C9A=>0x5EFA,
-0x8C9B=>0x61B2,
-0x8C9C=>0x61F8,
-0x8C9D=>0x62F3,
-0x8C9E=>0x6372,
-0x8C9F=>0x691C,
-0x8CA0=>0x6A29,
-0x8CA1=>0x727D,
-0x8CA2=>0x72AC,
-0x8CA3=>0x732E,
-0x8CA4=>0x7814,
-0x8CA5=>0x786F,
-0x8CA6=>0x7D79,
-0x8CA7=>0x770C,
-0x8CA8=>0x80A9,
-0x8CA9=>0x898B,
-0x8CAA=>0x8B19,
-0x8CAB=>0x8CE2,
-0x8CAC=>0x8ED2,
-0x8CAD=>0x9063,
-0x8CAE=>0x9375,
-0x8CAF=>0x967A,
-0x8CB0=>0x9855,
-0x8CB1=>0x9A13,
-0x8CB2=>0x9E78,
-0x8CB3=>0x5143,
-0x8CB4=>0x539F,
-0x8CB5=>0x53B3,
-0x8CB6=>0x5E7B,
-0x8CB7=>0x5F26,
-0x8CB8=>0x6E1B,
-0x8CB9=>0x6E90,
-0x8CBA=>0x7384,
-0x8CBB=>0x73FE,
-0x8CBC=>0x7D43,
-0x8CBD=>0x8237,
-0x8CBE=>0x8A00,
-0x8CBF=>0x8AFA,
-0x8CC0=>0x9650,
-0x8CC1=>0x4E4E,
-0x8CC2=>0x500B,
-0x8CC3=>0x53E4,
-0x8CC4=>0x547C,
-0x8CC5=>0x56FA,
-0x8CC6=>0x59D1,
-0x8CC7=>0x5B64,
-0x8CC8=>0x5DF1,
-0x8CC9=>0x5EAB,
-0x8CCA=>0x5F27,
-0x8CCB=>0x6238,
-0x8CCC=>0x6545,
-0x8CCD=>0x67AF,
-0x8CCE=>0x6E56,
-0x8CCF=>0x72D0,
-0x8CD0=>0x7CCA,
-0x8CD1=>0x88B4,
-0x8CD2=>0x80A1,
-0x8CD3=>0x80E1,
-0x8CD4=>0x83F0,
-0x8CD5=>0x864E,
-0x8CD6=>0x8A87,
-0x8CD7=>0x8DE8,
-0x8CD8=>0x9237,
-0x8CD9=>0x96C7,
-0x8CDA=>0x9867,
-0x8CDB=>0x9F13,
-0x8CDC=>0x4E94,
-0x8CDD=>0x4E92,
-0x8CDE=>0x4F0D,
-0x8CDF=>0x5348,
-0x8CE0=>0x5449,
-0x8CE1=>0x543E,
-0x8CE2=>0x5A2F,
-0x8CE3=>0x5F8C,
-0x8CE4=>0x5FA1,
-0x8CE5=>0x609F,
-0x8CE6=>0x68A7,
-0x8CE7=>0x6A8E,
-0x8CE8=>0x745A,
-0x8CE9=>0x7881,
-0x8CEA=>0x8A9E,
-0x8CEB=>0x8AA4,
-0x8CEC=>0x8B77,
-0x8CED=>0x9190,
-0x8CEE=>0x4E5E,
-0x8CEF=>0x9BC9,
-0x8CF0=>0x4EA4,
-0x8CF1=>0x4F7C,
-0x8CF2=>0x4FAF,
-0x8CF3=>0x5019,
-0x8CF4=>0x5016,
-0x8CF5=>0x5149,
-0x8CF6=>0x516C,
-0x8CF7=>0x529F,
-0x8CF8=>0x52B9,
-0x8CF9=>0x52FE,
-0x8CFA=>0x539A,
-0x8CFB=>0x53E3,
-0x8CFC=>0x5411,
-0x8D40=>0x540E,
-0x8D41=>0x5589,
-0x8D42=>0x5751,
-0x8D43=>0x57A2,
-0x8D44=>0x597D,
-0x8D45=>0x5B54,
-0x8D46=>0x5B5D,
-0x8D47=>0x5B8F,
-0x8D48=>0x5DE5,
-0x8D49=>0x5DE7,
-0x8D4A=>0x5DF7,
-0x8D4B=>0x5E78,
-0x8D4C=>0x5E83,
-0x8D4D=>0x5E9A,
-0x8D4E=>0x5EB7,
-0x8D4F=>0x5F18,
-0x8D50=>0x6052,
-0x8D51=>0x614C,
-0x8D52=>0x6297,
-0x8D53=>0x62D8,
-0x8D54=>0x63A7,
-0x8D55=>0x653B,
-0x8D56=>0x6602,
-0x8D57=>0x6643,
-0x8D58=>0x66F4,
-0x8D59=>0x676D,
-0x8D5A=>0x6821,
-0x8D5B=>0x6897,
-0x8D5C=>0x69CB,
-0x8D5D=>0x6C5F,
-0x8D5E=>0x6D2A,
-0x8D5F=>0x6D69,
-0x8D60=>0x6E2F,
-0x8D61=>0x6E9D,
-0x8D62=>0x7532,
-0x8D63=>0x7687,
-0x8D64=>0x786C,
-0x8D65=>0x7A3F,
-0x8D66=>0x7CE0,
-0x8D67=>0x7D05,
-0x8D68=>0x7D18,
-0x8D69=>0x7D5E,
-0x8D6A=>0x7DB1,
-0x8D6B=>0x8015,
-0x8D6C=>0x8003,
-0x8D6D=>0x80AF,
-0x8D6E=>0x80B1,
-0x8D6F=>0x8154,
-0x8D70=>0x818F,
-0x8D71=>0x822A,
-0x8D72=>0x8352,
-0x8D73=>0x884C,
-0x8D74=>0x8861,
-0x8D75=>0x8B1B,
-0x8D76=>0x8CA2,
-0x8D77=>0x8CFC,
-0x8D78=>0x90CA,
-0x8D79=>0x9175,
-0x8D7A=>0x9271,
-0x8D7B=>0x783F,
-0x8D7C=>0x92FC,
-0x8D7D=>0x95A4,
-0x8D7E=>0x964D,
-0x8D80=>0x9805,
-0x8D81=>0x9999,
-0x8D82=>0x9AD8,
-0x8D83=>0x9D3B,
-0x8D84=>0x525B,
-0x8D85=>0x52AB,
-0x8D86=>0x53F7,
-0x8D87=>0x5408,
-0x8D88=>0x58D5,
-0x8D89=>0x62F7,
-0x8D8A=>0x6FE0,
-0x8D8B=>0x8C6A,
-0x8D8C=>0x8F5F,
-0x8D8D=>0x9EB9,
-0x8D8E=>0x514B,
-0x8D8F=>0x523B,
-0x8D90=>0x544A,
-0x8D91=>0x56FD,
-0x8D92=>0x7A40,
-0x8D93=>0x9177,
-0x8D94=>0x9D60,
-0x8D95=>0x9ED2,
-0x8D96=>0x7344,
-0x8D97=>0x6F09,
-0x8D98=>0x8170,
-0x8D99=>0x7511,
-0x8D9A=>0x5FFD,
-0x8D9B=>0x60DA,
-0x8D9C=>0x9AA8,
-0x8D9D=>0x72DB,
-0x8D9E=>0x8FBC,
-0x8D9F=>0x6B64,
-0x8DA0=>0x9803,
-0x8DA1=>0x4ECA,
-0x8DA2=>0x56F0,
-0x8DA3=>0x5764,
-0x8DA4=>0x58BE,
-0x8DA5=>0x5A5A,
-0x8DA6=>0x6068,
-0x8DA7=>0x61C7,
-0x8DA8=>0x660F,
-0x8DA9=>0x6606,
-0x8DAA=>0x6839,
-0x8DAB=>0x68B1,
-0x8DAC=>0x6DF7,
-0x8DAD=>0x75D5,
-0x8DAE=>0x7D3A,
-0x8DAF=>0x826E,
-0x8DB0=>0x9B42,
-0x8DB1=>0x4E9B,
-0x8DB2=>0x4F50,
-0x8DB3=>0x53C9,
-0x8DB4=>0x5506,
-0x8DB5=>0x5D6F,
-0x8DB6=>0x5DE6,
-0x8DB7=>0x5DEE,
-0x8DB8=>0x67FB,
-0x8DB9=>0x6C99,
-0x8DBA=>0x7473,
-0x8DBB=>0x7802,
-0x8DBC=>0x8A50,
-0x8DBD=>0x9396,
-0x8DBE=>0x88DF,
-0x8DBF=>0x5750,
-0x8DC0=>0x5EA7,
-0x8DC1=>0x632B,
-0x8DC2=>0x50B5,
-0x8DC3=>0x50AC,
-0x8DC4=>0x518D,
-0x8DC5=>0x6700,
-0x8DC6=>0x54C9,
-0x8DC7=>0x585E,
-0x8DC8=>0x59BB,
-0x8DC9=>0x5BB0,
-0x8DCA=>0x5F69,
-0x8DCB=>0x624D,
-0x8DCC=>0x63A1,
-0x8DCD=>0x683D,
-0x8DCE=>0x6B73,
-0x8DCF=>0x6E08,
-0x8DD0=>0x707D,
-0x8DD1=>0x91C7,
-0x8DD2=>0x7280,
-0x8DD3=>0x7815,
-0x8DD4=>0x7826,
-0x8DD5=>0x796D,
-0x8DD6=>0x658E,
-0x8DD7=>0x7D30,
-0x8DD8=>0x83DC,
-0x8DD9=>0x88C1,
-0x8DDA=>0x8F09,
-0x8DDB=>0x969B,
-0x8DDC=>0x5264,
-0x8DDD=>0x5728,
-0x8DDE=>0x6750,
-0x8DDF=>0x7F6A,
-0x8DE0=>0x8CA1,
-0x8DE1=>0x51B4,
-0x8DE2=>0x5742,
-0x8DE3=>0x962A,
-0x8DE4=>0x583A,
-0x8DE5=>0x698A,
-0x8DE6=>0x80B4,
-0x8DE7=>0x54B2,
-0x8DE8=>0x5D0E,
-0x8DE9=>0x57FC,
-0x8DEA=>0x7895,
-0x8DEB=>0x9DFA,
-0x8DEC=>0x4F5C,
-0x8DED=>0x524A,
-0x8DEE=>0x548B,
-0x8DEF=>0x643E,
-0x8DF0=>0x6628,
-0x8DF1=>0x6714,
-0x8DF2=>0x67F5,
-0x8DF3=>0x7A84,
-0x8DF4=>0x7B56,
-0x8DF5=>0x7D22,
-0x8DF6=>0x932F,
-0x8DF7=>0x685C,
-0x8DF8=>0x9BAD,
-0x8DF9=>0x7B39,
-0x8DFA=>0x5319,
-0x8DFB=>0x518A,
-0x8DFC=>0x5237,
-0x8E40=>0x5BDF,
-0x8E41=>0x62F6,
-0x8E42=>0x64AE,
-0x8E43=>0x64E6,
-0x8E44=>0x672D,
-0x8E45=>0x6BBA,
-0x8E46=>0x85A9,
-0x8E47=>0x96D1,
-0x8E48=>0x7690,
-0x8E49=>0x9BD6,
-0x8E4A=>0x634C,
-0x8E4B=>0x9306,
-0x8E4C=>0x9BAB,
-0x8E4D=>0x76BF,
-0x8E4E=>0x6652,
-0x8E4F=>0x4E09,
-0x8E50=>0x5098,
-0x8E51=>0x53C2,
-0x8E52=>0x5C71,
-0x8E53=>0x60E8,
-0x8E54=>0x6492,
-0x8E55=>0x6563,
-0x8E56=>0x685F,
-0x8E57=>0x71E6,
-0x8E58=>0x73CA,
-0x8E59=>0x7523,
-0x8E5A=>0x7B97,
-0x8E5B=>0x7E82,
-0x8E5C=>0x8695,
-0x8E5D=>0x8B83,
-0x8E5E=>0x8CDB,
-0x8E5F=>0x9178,
-0x8E60=>0x9910,
-0x8E61=>0x65AC,
-0x8E62=>0x66AB,
-0x8E63=>0x6B8B,
-0x8E64=>0x4ED5,
-0x8E65=>0x4ED4,
-0x8E66=>0x4F3A,
-0x8E67=>0x4F7F,
-0x8E68=>0x523A,
-0x8E69=>0x53F8,
-0x8E6A=>0x53F2,
-0x8E6B=>0x55E3,
-0x8E6C=>0x56DB,
-0x8E6D=>0x58EB,
-0x8E6E=>0x59CB,
-0x8E6F=>0x59C9,
-0x8E70=>0x59FF,
-0x8E71=>0x5B50,
-0x8E72=>0x5C4D,
-0x8E73=>0x5E02,
-0x8E74=>0x5E2B,
-0x8E75=>0x5FD7,
-0x8E76=>0x601D,
-0x8E77=>0x6307,
-0x8E78=>0x652F,
-0x8E79=>0x5B5C,
-0x8E7A=>0x65AF,
-0x8E7B=>0x65BD,
-0x8E7C=>0x65E8,
-0x8E7D=>0x679D,
-0x8E7E=>0x6B62,
-0x8E80=>0x6B7B,
-0x8E81=>0x6C0F,
-0x8E82=>0x7345,
-0x8E83=>0x7949,
-0x8E84=>0x79C1,
-0x8E85=>0x7CF8,
-0x8E86=>0x7D19,
-0x8E87=>0x7D2B,
-0x8E88=>0x80A2,
-0x8E89=>0x8102,
-0x8E8A=>0x81F3,
-0x8E8B=>0x8996,
-0x8E8C=>0x8A5E,
-0x8E8D=>0x8A69,
-0x8E8E=>0x8A66,
-0x8E8F=>0x8A8C,
-0x8E90=>0x8AEE,
-0x8E91=>0x8CC7,
-0x8E92=>0x8CDC,
-0x8E93=>0x96CC,
-0x8E94=>0x98FC,
-0x8E95=>0x6B6F,
-0x8E96=>0x4E8B,
-0x8E97=>0x4F3C,
-0x8E98=>0x4F8D,
-0x8E99=>0x5150,
-0x8E9A=>0x5B57,
-0x8E9B=>0x5BFA,
-0x8E9C=>0x6148,
-0x8E9D=>0x6301,
-0x8E9E=>0x6642,
-0x8E9F=>0x6B21,
-0x8EA0=>0x6ECB,
-0x8EA1=>0x6CBB,
-0x8EA2=>0x723E,
-0x8EA3=>0x74BD,
-0x8EA4=>0x75D4,
-0x8EA5=>0x78C1,
-0x8EA6=>0x793A,
-0x8EA7=>0x800C,
-0x8EA8=>0x8033,
-0x8EA9=>0x81EA,
-0x8EAA=>0x8494,
-0x8EAB=>0x8F9E,
-0x8EAC=>0x6C50,
-0x8EAD=>0x9E7F,
-0x8EAE=>0x5F0F,
-0x8EAF=>0x8B58,
-0x8EB0=>0x9D2B,
-0x8EB1=>0x7AFA,
-0x8EB2=>0x8EF8,
-0x8EB3=>0x5B8D,
-0x8EB4=>0x96EB,
-0x8EB5=>0x4E03,
-0x8EB6=>0x53F1,
-0x8EB7=>0x57F7,
-0x8EB8=>0x5931,
-0x8EB9=>0x5AC9,
-0x8EBA=>0x5BA4,
-0x8EBB=>0x6089,
-0x8EBC=>0x6E7F,
-0x8EBD=>0x6F06,
-0x8EBE=>0x75BE,
-0x8EBF=>0x8CEA,
-0x8EC0=>0x5B9F,
-0x8EC1=>0x8500,
-0x8EC2=>0x7BE0,
-0x8EC3=>0x5072,
-0x8EC4=>0x67F4,
-0x8EC5=>0x829D,
-0x8EC6=>0x5C61,
-0x8EC7=>0x854A,
-0x8EC8=>0x7E1E,
-0x8EC9=>0x820E,
-0x8ECA=>0x5199,
-0x8ECB=>0x5C04,
-0x8ECC=>0x6368,
-0x8ECD=>0x8D66,
-0x8ECE=>0x659C,
-0x8ECF=>0x716E,
-0x8ED0=>0x793E,
-0x8ED1=>0x7D17,
-0x8ED2=>0x8005,
-0x8ED3=>0x8B1D,
-0x8ED4=>0x8ECA,
-0x8ED5=>0x906E,
-0x8ED6=>0x86C7,
-0x8ED7=>0x90AA,
-0x8ED8=>0x501F,
-0x8ED9=>0x52FA,
-0x8EDA=>0x5C3A,
-0x8EDB=>0x6753,
-0x8EDC=>0x707C,
-0x8EDD=>0x7235,
-0x8EDE=>0x914C,
-0x8EDF=>0x91C8,
-0x8EE0=>0x932B,
-0x8EE1=>0x82E5,
-0x8EE2=>0x5BC2,
-0x8EE3=>0x5F31,
-0x8EE4=>0x60F9,
-0x8EE5=>0x4E3B,
-0x8EE6=>0x53D6,
-0x8EE7=>0x5B88,
-0x8EE8=>0x624B,
-0x8EE9=>0x6731,
-0x8EEA=>0x6B8A,
-0x8EEB=>0x72E9,
-0x8EEC=>0x73E0,
-0x8EED=>0x7A2E,
-0x8EEE=>0x816B,
-0x8EEF=>0x8DA3,
-0x8EF0=>0x9152,
-0x8EF1=>0x9996,
-0x8EF2=>0x5112,
-0x8EF3=>0x53D7,
-0x8EF4=>0x546A,
-0x8EF5=>0x5BFF,
-0x8EF6=>0x6388,
-0x8EF7=>0x6A39,
-0x8EF8=>0x7DAC,
-0x8EF9=>0x9700,
-0x8EFA=>0x56DA,
-0x8EFB=>0x53CE,
-0x8EFC=>0x5468,
-0x8F40=>0x5B97,
-0x8F41=>0x5C31,
-0x8F42=>0x5DDE,
-0x8F43=>0x4FEE,
-0x8F44=>0x6101,
-0x8F45=>0x62FE,
-0x8F46=>0x6D32,
-0x8F47=>0x79C0,
-0x8F48=>0x79CB,
-0x8F49=>0x7D42,
-0x8F4A=>0x7E4D,
-0x8F4B=>0x7FD2,
-0x8F4C=>0x81ED,
-0x8F4D=>0x821F,
-0x8F4E=>0x8490,
-0x8F4F=>0x8846,
-0x8F50=>0x8972,
-0x8F51=>0x8B90,
-0x8F52=>0x8E74,
-0x8F53=>0x8F2F,
-0x8F54=>0x9031,
-0x8F55=>0x914B,
-0x8F56=>0x916C,
-0x8F57=>0x96C6,
-0x8F58=>0x919C,
-0x8F59=>0x4EC0,
-0x8F5A=>0x4F4F,
-0x8F5B=>0x5145,
-0x8F5C=>0x5341,
-0x8F5D=>0x5F93,
-0x8F5E=>0x620E,
-0x8F5F=>0x67D4,
-0x8F60=>0x6C41,
-0x8F61=>0x6E0B,
-0x8F62=>0x7363,
-0x8F63=>0x7E26,
-0x8F64=>0x91CD,
-0x8F65=>0x9283,
-0x8F66=>0x53D4,
-0x8F67=>0x5919,
-0x8F68=>0x5BBF,
-0x8F69=>0x6DD1,
-0x8F6A=>0x795D,
-0x8F6B=>0x7E2E,
-0x8F6C=>0x7C9B,
-0x8F6D=>0x587E,
-0x8F6E=>0x719F,
-0x8F6F=>0x51FA,
-0x8F70=>0x8853,
-0x8F71=>0x8FF0,
-0x8F72=>0x4FCA,
-0x8F73=>0x5CFB,
-0x8F74=>0x6625,
-0x8F75=>0x77AC,
-0x8F76=>0x7AE3,
-0x8F77=>0x821C,
-0x8F78=>0x99FF,
-0x8F79=>0x51C6,
-0x8F7A=>0x5FAA,
-0x8F7B=>0x65EC,
-0x8F7C=>0x696F,
-0x8F7D=>0x6B89,
-0x8F7E=>0x6DF3,
-0x8F80=>0x6E96,
-0x8F81=>0x6F64,
-0x8F82=>0x76FE,
-0x8F83=>0x7D14,
-0x8F84=>0x5DE1,
-0x8F85=>0x9075,
-0x8F86=>0x9187,
-0x8F87=>0x9806,
-0x8F88=>0x51E6,
-0x8F89=>0x521D,
-0x8F8A=>0x6240,
-0x8F8B=>0x6691,
-0x8F8C=>0x66D9,
-0x8F8D=>0x6E1A,
-0x8F8E=>0x5EB6,
-0x8F8F=>0x7DD2,
-0x8F90=>0x7F72,
-0x8F91=>0x66F8,
-0x8F92=>0x85AF,
-0x8F93=>0x85F7,
-0x8F94=>0x8AF8,
-0x8F95=>0x52A9,
-0x8F96=>0x53D9,
-0x8F97=>0x5973,
-0x8F98=>0x5E8F,
-0x8F99=>0x5F90,
-0x8F9A=>0x6055,
-0x8F9B=>0x92E4,
-0x8F9C=>0x9664,
-0x8F9D=>0x50B7,
-0x8F9E=>0x511F,
-0x8F9F=>0x52DD,
-0x8FA0=>0x5320,
-0x8FA1=>0x5347,
-0x8FA2=>0x53EC,
-0x8FA3=>0x54E8,
-0x8FA4=>0x5546,
-0x8FA5=>0x5531,
-0x8FA6=>0x5617,
-0x8FA7=>0x5968,
-0x8FA8=>0x59BE,
-0x8FA9=>0x5A3C,
-0x8FAA=>0x5BB5,
-0x8FAB=>0x5C06,
-0x8FAC=>0x5C0F,
-0x8FAD=>0x5C11,
-0x8FAE=>0x5C1A,
-0x8FAF=>0x5E84,
-0x8FB0=>0x5E8A,
-0x8FB1=>0x5EE0,
-0x8FB2=>0x5F70,
-0x8FB3=>0x627F,
-0x8FB4=>0x6284,
-0x8FB5=>0x62DB,
-0x8FB6=>0x638C,
-0x8FB7=>0x6377,
-0x8FB8=>0x6607,
-0x8FB9=>0x660C,
-0x8FBA=>0x662D,
-0x8FBB=>0x6676,
-0x8FBC=>0x677E,
-0x8FBD=>0x68A2,
-0x8FBE=>0x6A1F,
-0x8FBF=>0x6A35,
-0x8FC0=>0x6CBC,
-0x8FC1=>0x6D88,
-0x8FC2=>0x6E09,
-0x8FC3=>0x6E58,
-0x8FC4=>0x713C,
-0x8FC5=>0x7126,
-0x8FC6=>0x7167,
-0x8FC7=>0x75C7,
-0x8FC8=>0x7701,
-0x8FC9=>0x785D,
-0x8FCA=>0x7901,
-0x8FCB=>0x7965,
-0x8FCC=>0x79F0,
-0x8FCD=>0x7AE0,
-0x8FCE=>0x7B11,
-0x8FCF=>0x7CA7,
-0x8FD0=>0x7D39,
-0x8FD1=>0x8096,
-0x8FD2=>0x83D6,
-0x8FD3=>0x848B,
-0x8FD4=>0x8549,
-0x8FD5=>0x885D,
-0x8FD6=>0x88F3,
-0x8FD7=>0x8A1F,
-0x8FD8=>0x8A3C,
-0x8FD9=>0x8A54,
-0x8FDA=>0x8A73,
-0x8FDB=>0x8C61,
-0x8FDC=>0x8CDE,
-0x8FDD=>0x91A4,
-0x8FDE=>0x9266,
-0x8FDF=>0x937E,
-0x8FE0=>0x9418,
-0x8FE1=>0x969C,
-0x8FE2=>0x9798,
-0x8FE3=>0x4E0A,
-0x8FE4=>0x4E08,
-0x8FE5=>0x4E1E,
-0x8FE6=>0x4E57,
-0x8FE7=>0x5197,
-0x8FE8=>0x5270,
-0x8FE9=>0x57CE,
-0x8FEA=>0x5834,
-0x8FEB=>0x58CC,
-0x8FEC=>0x5B22,
-0x8FED=>0x5E38,
-0x8FEE=>0x60C5,
-0x8FEF=>0x64FE,
-0x8FF0=>0x6761,
-0x8FF1=>0x6756,
-0x8FF2=>0x6D44,
-0x8FF3=>0x72B6,
-0x8FF4=>0x7573,
-0x8FF5=>0x7A63,
-0x8FF6=>0x84B8,
-0x8FF7=>0x8B72,
-0x8FF8=>0x91B8,
-0x8FF9=>0x9320,
-0x8FFA=>0x5631,
-0x8FFB=>0x57F4,
-0x8FFC=>0x98FE,
-0x9040=>0x62ED,
-0x9041=>0x690D,
-0x9042=>0x6B96,
-0x9043=>0x71ED,
-0x9044=>0x7E54,
-0x9045=>0x8077,
-0x9046=>0x8272,
-0x9047=>0x89E6,
-0x9048=>0x98DF,
-0x9049=>0x8755,
-0x904A=>0x8FB1,
-0x904B=>0x5C3B,
-0x904C=>0x4F38,
-0x904D=>0x4FE1,
-0x904E=>0x4FB5,
-0x904F=>0x5507,
-0x9050=>0x5A20,
-0x9051=>0x5BDD,
-0x9052=>0x5BE9,
-0x9053=>0x5FC3,
-0x9054=>0x614E,
-0x9055=>0x632F,
-0x9056=>0x65B0,
-0x9057=>0x664B,
-0x9058=>0x68EE,
-0x9059=>0x699B,
-0x905A=>0x6D78,
-0x905B=>0x6DF1,
-0x905C=>0x7533,
-0x905D=>0x75B9,
-0x905E=>0x771F,
-0x905F=>0x795E,
-0x9060=>0x79E6,
-0x9061=>0x7D33,
-0x9062=>0x81E3,
-0x9063=>0x82AF,
-0x9064=>0x85AA,
-0x9065=>0x89AA,
-0x9066=>0x8A3A,
-0x9067=>0x8EAB,
-0x9068=>0x8F9B,
-0x9069=>0x9032,
-0x906A=>0x91DD,
-0x906B=>0x9707,
-0x906C=>0x4EBA,
-0x906D=>0x4EC1,
-0x906E=>0x5203,
-0x906F=>0x5875,
-0x9070=>0x58EC,
-0x9071=>0x5C0B,
-0x9072=>0x751A,
-0x9073=>0x5C3D,
-0x9074=>0x814E,
-0x9075=>0x8A0A,
-0x9076=>0x8FC5,
-0x9077=>0x9663,
-0x9078=>0x976D,
-0x9079=>0x7B25,
-0x907A=>0x8ACF,
-0x907B=>0x9808,
-0x907C=>0x9162,
-0x907D=>0x56F3,
-0x907E=>0x53A8,
-0x9080=>0x9017,
-0x9081=>0x5439,
-0x9082=>0x5782,
-0x9083=>0x5E25,
-0x9084=>0x63A8,
-0x9085=>0x6C34,
-0x9086=>0x708A,
-0x9087=>0x7761,
-0x9088=>0x7C8B,
-0x9089=>0x7FE0,
-0x908A=>0x8870,
-0x908B=>0x9042,
-0x908C=>0x9154,
-0x908D=>0x9310,
-0x908E=>0x9318,
-0x908F=>0x968F,
-0x9090=>0x745E,
-0x9091=>0x9AC4,
-0x9092=>0x5D07,
-0x9093=>0x5D69,
-0x9094=>0x6570,
-0x9095=>0x67A2,
-0x9096=>0x8DA8,
-0x9097=>0x96DB,
-0x9098=>0x636E,
-0x9099=>0x6749,
-0x909A=>0x6919,
-0x909B=>0x83C5,
-0x909C=>0x9817,
-0x909D=>0x96C0,
-0x909E=>0x88FE,
-0x909F=>0x6F84,
-0x90A0=>0x647A,
-0x90A1=>0x5BF8,
-0x90A2=>0x4E16,
-0x90A3=>0x702C,
-0x90A4=>0x755D,
-0x90A5=>0x662F,
-0x90A6=>0x51C4,
-0x90A7=>0x5236,
-0x90A8=>0x52E2,
-0x90A9=>0x59D3,
-0x90AA=>0x5F81,
-0x90AB=>0x6027,
-0x90AC=>0x6210,
-0x90AD=>0x653F,
-0x90AE=>0x6574,
-0x90AF=>0x661F,
-0x90B0=>0x6674,
-0x90B1=>0x68F2,
-0x90B2=>0x6816,
-0x90B3=>0x6B63,
-0x90B4=>0x6E05,
-0x90B5=>0x7272,
-0x90B6=>0x751F,
-0x90B7=>0x76DB,
-0x90B8=>0x7CBE,
-0x90B9=>0x8056,
-0x90BA=>0x58F0,
-0x90BB=>0x88FD,
-0x90BC=>0x897F,
-0x90BD=>0x8AA0,
-0x90BE=>0x8A93,
-0x90BF=>0x8ACB,
-0x90C0=>0x901D,
-0x90C1=>0x9192,
-0x90C2=>0x9752,
-0x90C3=>0x9759,
-0x90C4=>0x6589,
-0x90C5=>0x7A0E,
-0x90C6=>0x8106,
-0x90C7=>0x96BB,
-0x90C8=>0x5E2D,
-0x90C9=>0x60DC,
-0x90CA=>0x621A,
-0x90CB=>0x65A5,
-0x90CC=>0x6614,
-0x90CD=>0x6790,
-0x90CE=>0x77F3,
-0x90CF=>0x7A4D,
-0x90D0=>0x7C4D,
-0x90D1=>0x7E3E,
-0x90D2=>0x810A,
-0x90D3=>0x8CAC,
-0x90D4=>0x8D64,
-0x90D5=>0x8DE1,
-0x90D6=>0x8E5F,
-0x90D7=>0x78A9,
-0x90D8=>0x5207,
-0x90D9=>0x62D9,
-0x90DA=>0x63A5,
-0x90DB=>0x6442,
-0x90DC=>0x6298,
-0x90DD=>0x8A2D,
-0x90DE=>0x7A83,
-0x90DF=>0x7BC0,
-0x90E0=>0x8AAC,
-0x90E1=>0x96EA,
-0x90E2=>0x7D76,
-0x90E3=>0x820C,
-0x90E4=>0x8749,
-0x90E5=>0x4ED9,
-0x90E6=>0x5148,
-0x90E7=>0x5343,
-0x90E8=>0x5360,
-0x90E9=>0x5BA3,
-0x90EA=>0x5C02,
-0x90EB=>0x5C16,
-0x90EC=>0x5DDD,
-0x90ED=>0x6226,
-0x90EE=>0x6247,
-0x90EF=>0x64B0,
-0x90F0=>0x6813,
-0x90F1=>0x6834,
-0x90F2=>0x6CC9,
-0x90F3=>0x6D45,
-0x90F4=>0x6D17,
-0x90F5=>0x67D3,
-0x90F6=>0x6F5C,
-0x90F7=>0x714E,
-0x90F8=>0x717D,
-0x90F9=>0x65CB,
-0x90FA=>0x7A7F,
-0x90FB=>0x7BAD,
-0x90FC=>0x7DDA,
-0x9140=>0x7E4A,
-0x9141=>0x7FA8,
-0x9142=>0x817A,
-0x9143=>0x821B,
-0x9144=>0x8239,
-0x9145=>0x85A6,
-0x9146=>0x8A6E,
-0x9147=>0x8CCE,
-0x9148=>0x8DF5,
-0x9149=>0x9078,
-0x914A=>0x9077,
-0x914B=>0x92AD,
-0x914C=>0x9291,
-0x914D=>0x9583,
-0x914E=>0x9BAE,
-0x914F=>0x524D,
-0x9150=>0x5584,
-0x9151=>0x6F38,
-0x9152=>0x7136,
-0x9153=>0x5168,
-0x9154=>0x7985,
-0x9155=>0x7E55,
-0x9156=>0x81B3,
-0x9157=>0x7CCE,
-0x9158=>0x564C,
-0x9159=>0x5851,
-0x915A=>0x5CA8,
-0x915B=>0x63AA,
-0x915C=>0x66FE,
-0x915D=>0x66FD,
-0x915E=>0x695A,
-0x915F=>0x72D9,
-0x9160=>0x758F,
-0x9161=>0x758E,
-0x9162=>0x790E,
-0x9163=>0x7956,
-0x9164=>0x79DF,
-0x9165=>0x7C97,
-0x9166=>0x7D20,
-0x9167=>0x7D44,
-0x9168=>0x8607,
-0x9169=>0x8A34,
-0x916A=>0x963B,
-0x916B=>0x9061,
-0x916C=>0x9F20,
-0x916D=>0x50E7,
-0x916E=>0x5275,
-0x916F=>0x53CC,
-0x9170=>0x53E2,
-0x9171=>0x5009,
-0x9172=>0x55AA,
-0x9173=>0x58EE,
-0x9174=>0x594F,
-0x9175=>0x723D,
-0x9176=>0x5B8B,
-0x9177=>0x5C64,
-0x9178=>0x531D,
-0x9179=>0x60E3,
-0x917A=>0x60F3,
-0x917B=>0x635C,
-0x917C=>0x6383,
-0x917D=>0x633F,
-0x917E=>0x63BB,
-0x9180=>0x64CD,
-0x9181=>0x65E9,
-0x9182=>0x66F9,
-0x9183=>0x5DE3,
-0x9184=>0x69CD,
-0x9185=>0x69FD,
-0x9186=>0x6F15,
-0x9187=>0x71E5,
-0x9188=>0x4E89,
-0x9189=>0x75E9,
-0x918A=>0x76F8,
-0x918B=>0x7A93,
-0x918C=>0x7CDF,
-0x918D=>0x7DCF,
-0x918E=>0x7D9C,
-0x918F=>0x8061,
-0x9190=>0x8349,
-0x9191=>0x8358,
-0x9192=>0x846C,
-0x9193=>0x84BC,
-0x9194=>0x85FB,
-0x9195=>0x88C5,
-0x9196=>0x8D70,
-0x9197=>0x9001,
-0x9198=>0x906D,
-0x9199=>0x9397,
-0x919A=>0x971C,
-0x919B=>0x9A12,
-0x919C=>0x50CF,
-0x919D=>0x5897,
-0x919E=>0x618E,
-0x919F=>0x81D3,
-0x91A0=>0x8535,
-0x91A1=>0x8D08,
-0x91A2=>0x9020,
-0x91A3=>0x4FC3,
-0x91A4=>0x5074,
-0x91A5=>0x5247,
-0x91A6=>0x5373,
-0x91A7=>0x606F,
-0x91A8=>0x6349,
-0x91A9=>0x675F,
-0x91AA=>0x6E2C,
-0x91AB=>0x8DB3,
-0x91AC=>0x901F,
-0x91AD=>0x4FD7,
-0x91AE=>0x5C5E,
-0x91AF=>0x8CCA,
-0x91B0=>0x65CF,
-0x91B1=>0x7D9A,
-0x91B2=>0x5352,
-0x91B3=>0x8896,
-0x91B4=>0x5176,
-0x91B5=>0x63C3,
-0x91B6=>0x5B58,
-0x91B7=>0x5B6B,
-0x91B8=>0x5C0A,
-0x91B9=>0x640D,
-0x91BA=>0x6751,
-0x91BB=>0x905C,
-0x91BC=>0x4ED6,
-0x91BD=>0x591A,
-0x91BE=>0x592A,
-0x91BF=>0x6C70,
-0x91C0=>0x8A51,
-0x91C1=>0x553E,
-0x91C2=>0x5815,
-0x91C3=>0x59A5,
-0x91C4=>0x60F0,
-0x91C5=>0x6253,
-0x91C6=>0x67C1,
-0x91C7=>0x8235,
-0x91C8=>0x6955,
-0x91C9=>0x9640,
-0x91CA=>0x99C4,
-0x91CB=>0x9A28,
-0x91CC=>0x4F53,
-0x91CD=>0x5806,
-0x91CE=>0x5BFE,
-0x91CF=>0x8010,
-0x91D0=>0x5CB1,
-0x91D1=>0x5E2F,
-0x91D2=>0x5F85,
-0x91D3=>0x6020,
-0x91D4=>0x614B,
-0x91D5=>0x6234,
-0x91D6=>0x66FF,
-0x91D7=>0x6CF0,
-0x91D8=>0x6EDE,
-0x91D9=>0x80CE,
-0x91DA=>0x817F,
-0x91DB=>0x82D4,
-0x91DC=>0x888B,
-0x91DD=>0x8CB8,
-0x91DE=>0x9000,
-0x91DF=>0x902E,
-0x91E0=>0x968A,
-0x91E1=>0x9EDB,
-0x91E2=>0x9BDB,
-0x91E3=>0x4EE3,
-0x91E4=>0x53F0,
-0x91E5=>0x5927,
-0x91E6=>0x7B2C,
-0x91E7=>0x918D,
-0x91E8=>0x984C,
-0x91E9=>0x9DF9,
-0x91EA=>0x6EDD,
-0x91EB=>0x7027,
-0x91EC=>0x5353,
-0x91ED=>0x5544,
-0x91EE=>0x5B85,
-0x91EF=>0x6258,
-0x91F0=>0x629E,
-0x91F1=>0x62D3,
-0x91F2=>0x6CA2,
-0x91F3=>0x6FEF,
-0x91F4=>0x7422,
-0x91F5=>0x8A17,
-0x91F6=>0x9438,
-0x91F7=>0x6FC1,
-0x91F8=>0x8AFE,
-0x91F9=>0x8338,
-0x91FA=>0x51E7,
-0x91FB=>0x86F8,
-0x91FC=>0x53EA,
-0x9240=>0x53E9,
-0x9241=>0x4F46,
-0x9242=>0x9054,
-0x9243=>0x8FB0,
-0x9244=>0x596A,
-0x9245=>0x8131,
-0x9246=>0x5DFD,
-0x9247=>0x7AEA,
-0x9248=>0x8FBF,
-0x9249=>0x68DA,
-0x924A=>0x8C37,
-0x924B=>0x72F8,
-0x924C=>0x9C48,
-0x924D=>0x6A3D,
-0x924E=>0x8AB0,
-0x924F=>0x4E39,
-0x9250=>0x5358,
-0x9251=>0x5606,
-0x9252=>0x5766,
-0x9253=>0x62C5,
-0x9254=>0x63A2,
-0x9255=>0x65E6,
-0x9256=>0x6B4E,
-0x9257=>0x6DE1,
-0x9258=>0x6E5B,
-0x9259=>0x70AD,
-0x925A=>0x77ED,
-0x925B=>0x7AEF,
-0x925C=>0x7BAA,
-0x925D=>0x7DBB,
-0x925E=>0x803D,
-0x925F=>0x80C6,
-0x9260=>0x86CB,
-0x9261=>0x8A95,
-0x9262=>0x935B,
-0x9263=>0x56E3,
-0x9264=>0x58C7,
-0x9265=>0x5F3E,
-0x9266=>0x65AD,
-0x9267=>0x6696,
-0x9268=>0x6A80,
-0x9269=>0x6BB5,
-0x926A=>0x7537,
-0x926B=>0x8AC7,
-0x926C=>0x5024,
-0x926D=>0x77E5,
-0x926E=>0x5730,
-0x926F=>0x5F1B,
-0x9270=>0x6065,
-0x9271=>0x667A,
-0x9272=>0x6C60,
-0x9273=>0x75F4,
-0x9274=>0x7A1A,
-0x9275=>0x7F6E,
-0x9276=>0x81F4,
-0x9277=>0x8718,
-0x9278=>0x9045,
-0x9279=>0x99B3,
-0x927A=>0x7BC9,
-0x927B=>0x755C,
-0x927C=>0x7AF9,
-0x927D=>0x7B51,
-0x927E=>0x84C4,
-0x9280=>0x9010,
-0x9281=>0x79E9,
-0x9282=>0x7A92,
-0x9283=>0x8336,
-0x9284=>0x5AE1,
-0x9285=>0x7740,
-0x9286=>0x4E2D,
-0x9287=>0x4EF2,
-0x9288=>0x5B99,
-0x9289=>0x5FE0,
-0x928A=>0x62BD,
-0x928B=>0x663C,
-0x928C=>0x67F1,
-0x928D=>0x6CE8,
-0x928E=>0x866B,
-0x928F=>0x8877,
-0x9290=>0x8A3B,
-0x9291=>0x914E,
-0x9292=>0x92F3,
-0x9293=>0x99D0,
-0x9294=>0x6A17,
-0x9295=>0x7026,
-0x9296=>0x732A,
-0x9297=>0x82E7,
-0x9298=>0x8457,
-0x9299=>0x8CAF,
-0x929A=>0x4E01,
-0x929B=>0x5146,
-0x929C=>0x51CB,
-0x929D=>0x558B,
-0x929E=>0x5BF5,
-0x929F=>0x5E16,
-0x92A0=>0x5E33,
-0x92A1=>0x5E81,
-0x92A2=>0x5F14,
-0x92A3=>0x5F35,
-0x92A4=>0x5F6B,
-0x92A5=>0x5FB4,
-0x92A6=>0x61F2,
-0x92A7=>0x6311,
-0x92A8=>0x66A2,
-0x92A9=>0x671D,
-0x92AA=>0x6F6E,
-0x92AB=>0x7252,
-0x92AC=>0x753A,
-0x92AD=>0x773A,
-0x92AE=>0x8074,
-0x92AF=>0x8139,
-0x92B0=>0x8178,
-0x92B1=>0x8776,
-0x92B2=>0x8ABF,
-0x92B3=>0x8ADC,
-0x92B4=>0x8D85,
-0x92B5=>0x8DF3,
-0x92B6=>0x929A,
-0x92B7=>0x9577,
-0x92B8=>0x9802,
-0x92B9=>0x9CE5,
-0x92BA=>0x52C5,
-0x92BB=>0x6357,
-0x92BC=>0x76F4,
-0x92BD=>0x6715,
-0x92BE=>0x6C88,
-0x92BF=>0x73CD,
-0x92C0=>0x8CC3,
-0x92C1=>0x93AE,
-0x92C2=>0x9673,
-0x92C3=>0x6D25,
-0x92C4=>0x589C,
-0x92C5=>0x690E,
-0x92C6=>0x69CC,
-0x92C7=>0x8FFD,
-0x92C8=>0x939A,
-0x92C9=>0x75DB,
-0x92CA=>0x901A,
-0x92CB=>0x585A,
-0x92CC=>0x6802,
-0x92CD=>0x63B4,
-0x92CE=>0x69FB,
-0x92CF=>0x4F43,
-0x92D0=>0x6F2C,
-0x92D1=>0x67D8,
-0x92D2=>0x8FBB,
-0x92D3=>0x8526,
-0x92D4=>0x7DB4,
-0x92D5=>0x9354,
-0x92D6=>0x693F,
-0x92D7=>0x6F70,
-0x92D8=>0x576A,
-0x92D9=>0x58F7,
-0x92DA=>0x5B2C,
-0x92DB=>0x7D2C,
-0x92DC=>0x722A,
-0x92DD=>0x540A,
-0x92DE=>0x91E3,
-0x92DF=>0x9DB4,
-0x92E0=>0x4EAD,
-0x92E1=>0x4F4E,
-0x92E2=>0x505C,
-0x92E3=>0x5075,
-0x92E4=>0x5243,
-0x92E5=>0x8C9E,
-0x92E6=>0x5448,
-0x92E7=>0x5824,
-0x92E8=>0x5B9A,
-0x92E9=>0x5E1D,
-0x92EA=>0x5E95,
-0x92EB=>0x5EAD,
-0x92EC=>0x5EF7,
-0x92ED=>0x5F1F,
-0x92EE=>0x608C,
-0x92EF=>0x62B5,
-0x92F0=>0x633A,
-0x92F1=>0x63D0,
-0x92F2=>0x68AF,
-0x92F3=>0x6C40,
-0x92F4=>0x7887,
-0x92F5=>0x798E,
-0x92F6=>0x7A0B,
-0x92F7=>0x7DE0,
-0x92F8=>0x8247,
-0x92F9=>0x8A02,
-0x92FA=>0x8AE6,
-0x92FB=>0x8E44,
-0x92FC=>0x9013,
-0x9340=>0x90B8,
-0x9341=>0x912D,
-0x9342=>0x91D8,
-0x9343=>0x9F0E,
-0x9344=>0x6CE5,
-0x9345=>0x6458,
-0x9346=>0x64E2,
-0x9347=>0x6575,
-0x9348=>0x6EF4,
-0x9349=>0x7684,
-0x934A=>0x7B1B,
-0x934B=>0x9069,
-0x934C=>0x93D1,
-0x934D=>0x6EBA,
-0x934E=>0x54F2,
-0x934F=>0x5FB9,
-0x9350=>0x64A4,
-0x9351=>0x8F4D,
-0x9352=>0x8FED,
-0x9353=>0x9244,
-0x9354=>0x5178,
-0x9355=>0x586B,
-0x9356=>0x5929,
-0x9357=>0x5C55,
-0x9358=>0x5E97,
-0x9359=>0x6DFB,
-0x935A=>0x7E8F,
-0x935B=>0x751C,
-0x935C=>0x8CBC,
-0x935D=>0x8EE2,
-0x935E=>0x985B,
-0x935F=>0x70B9,
-0x9360=>0x4F1D,
-0x9361=>0x6BBF,
-0x9362=>0x6FB1,
-0x9363=>0x7530,
-0x9364=>0x96FB,
-0x9365=>0x514E,
-0x9366=>0x5410,
-0x9367=>0x5835,
-0x9368=>0x5857,
-0x9369=>0x59AC,
-0x936A=>0x5C60,
-0x936B=>0x5F92,
-0x936C=>0x6597,
-0x936D=>0x675C,
-0x936E=>0x6E21,
-0x936F=>0x767B,
-0x9370=>0x83DF,
-0x9371=>0x8CED,
-0x9372=>0x9014,
-0x9373=>0x90FD,
-0x9374=>0x934D,
-0x9375=>0x7825,
-0x9376=>0x783A,
-0x9377=>0x52AA,
-0x9378=>0x5EA6,
-0x9379=>0x571F,
-0x937A=>0x5974,
-0x937B=>0x6012,
-0x937C=>0x5012,
-0x937D=>0x515A,
-0x937E=>0x51AC,
-0x9380=>0x51CD,
-0x9381=>0x5200,
-0x9382=>0x5510,
-0x9383=>0x5854,
-0x9384=>0x5858,
-0x9385=>0x5957,
-0x9386=>0x5B95,
-0x9387=>0x5CF6,
-0x9388=>0x5D8B,
-0x9389=>0x60BC,
-0x938A=>0x6295,
-0x938B=>0x642D,
-0x938C=>0x6771,
-0x938D=>0x6843,
-0x938E=>0x68BC,
-0x938F=>0x68DF,
-0x9390=>0x76D7,
-0x9391=>0x6DD8,
-0x9392=>0x6E6F,
-0x9393=>0x6D9B,
-0x9394=>0x706F,
-0x9395=>0x71C8,
-0x9396=>0x5F53,
-0x9397=>0x75D8,
-0x9398=>0x7977,
-0x9399=>0x7B49,
-0x939A=>0x7B54,
-0x939B=>0x7B52,
-0x939C=>0x7CD6,
-0x939D=>0x7D71,
-0x939E=>0x5230,
-0x939F=>0x8463,
-0x93A0=>0x8569,
-0x93A1=>0x85E4,
-0x93A2=>0x8A0E,
-0x93A3=>0x8B04,
-0x93A4=>0x8C46,
-0x93A5=>0x8E0F,
-0x93A6=>0x9003,
-0x93A7=>0x900F,
-0x93A8=>0x9419,
-0x93A9=>0x9676,
-0x93AA=>0x982D,
-0x93AB=>0x9A30,
-0x93AC=>0x95D8,
-0x93AD=>0x50CD,
-0x93AE=>0x52D5,
-0x93AF=>0x540C,
-0x93B0=>0x5802,
-0x93B1=>0x5C0E,
-0x93B2=>0x61A7,
-0x93B3=>0x649E,
-0x93B4=>0x6D1E,
-0x93B5=>0x77B3,
-0x93B6=>0x7AE5,
-0x93B7=>0x80F4,
-0x93B8=>0x8404,
-0x93B9=>0x9053,
-0x93BA=>0x9285,
-0x93BB=>0x5CE0,
-0x93BC=>0x9D07,
-0x93BD=>0x533F,
-0x93BE=>0x5F97,
-0x93BF=>0x5FB3,
-0x93C0=>0x6D9C,
-0x93C1=>0x7279,
-0x93C2=>0x7763,
-0x93C3=>0x79BF,
-0x93C4=>0x7BE4,
-0x93C5=>0x6BD2,
-0x93C6=>0x72EC,
-0x93C7=>0x8AAD,
-0x93C8=>0x6803,
-0x93C9=>0x6A61,
-0x93CA=>0x51F8,
-0x93CB=>0x7A81,
-0x93CC=>0x6934,
-0x93CD=>0x5C4A,
-0x93CE=>0x9CF6,
-0x93CF=>0x82EB,
-0x93D0=>0x5BC5,
-0x93D1=>0x9149,
-0x93D2=>0x701E,
-0x93D3=>0x5678,
-0x93D4=>0x5C6F,
-0x93D5=>0x60C7,
-0x93D6=>0x6566,
-0x93D7=>0x6C8C,
-0x93D8=>0x8C5A,
-0x93D9=>0x9041,
-0x93DA=>0x9813,
-0x93DB=>0x5451,
-0x93DC=>0x66C7,
-0x93DD=>0x920D,
-0x93DE=>0x5948,
-0x93DF=>0x90A3,
-0x93E0=>0x5185,
-0x93E1=>0x4E4D,
-0x93E2=>0x51EA,
-0x93E3=>0x8599,
-0x93E4=>0x8B0E,
-0x93E5=>0x7058,
-0x93E6=>0x637A,
-0x93E7=>0x934B,
-0x93E8=>0x6962,
-0x93E9=>0x99B4,
-0x93EA=>0x7E04,
-0x93EB=>0x7577,
-0x93EC=>0x5357,
-0x93ED=>0x6960,
-0x93EE=>0x8EDF,
-0x93EF=>0x96E3,
-0x93F0=>0x6C5D,
-0x93F1=>0x4E8C,
-0x93F2=>0x5C3C,
-0x93F3=>0x5F10,
-0x93F4=>0x8FE9,
-0x93F5=>0x5302,
-0x93F6=>0x8CD1,
-0x93F7=>0x8089,
-0x93F8=>0x8679,
-0x93F9=>0x5EFF,
-0x93FA=>0x65E5,
-0x93FB=>0x4E73,
-0x93FC=>0x5165,
-0x9440=>0x5982,
-0x9441=>0x5C3F,
-0x9442=>0x97EE,
-0x9443=>0x4EFB,
-0x9444=>0x598A,
-0x9445=>0x5FCD,
-0x9446=>0x8A8D,
-0x9447=>0x6FE1,
-0x9448=>0x79B0,
-0x9449=>0x7962,
-0x944A=>0x5BE7,
-0x944B=>0x8471,
-0x944C=>0x732B,
-0x944D=>0x71B1,
-0x944E=>0x5E74,
-0x944F=>0x5FF5,
-0x9450=>0x637B,
-0x9451=>0x649A,
-0x9452=>0x71C3,
-0x9453=>0x7C98,
-0x9454=>0x4E43,
-0x9455=>0x5EFC,
-0x9456=>0x4E4B,
-0x9457=>0x57DC,
-0x9458=>0x56A2,
-0x9459=>0x60A9,
-0x945A=>0x6FC3,
-0x945B=>0x7D0D,
-0x945C=>0x80FD,
-0x945D=>0x8133,
-0x945E=>0x81BF,
-0x945F=>0x8FB2,
-0x9460=>0x8997,
-0x9461=>0x86A4,
-0x9462=>0x5DF4,
-0x9463=>0x628A,
-0x9464=>0x64AD,
-0x9465=>0x8987,
-0x9466=>0x6777,
-0x9467=>0x6CE2,
-0x9468=>0x6D3E,
-0x9469=>0x7436,
-0x946A=>0x7834,
-0x946B=>0x5A46,
-0x946C=>0x7F75,
-0x946D=>0x82AD,
-0x946E=>0x99AC,
-0x946F=>0x4FF3,
-0x9470=>0x5EC3,
-0x9471=>0x62DD,
-0x9472=>0x6392,
-0x9473=>0x6557,
-0x9474=>0x676F,
-0x9475=>0x76C3,
-0x9476=>0x724C,
-0x9477=>0x80CC,
-0x9478=>0x80BA,
-0x9479=>0x8F29,
-0x947A=>0x914D,
-0x947B=>0x500D,
-0x947C=>0x57F9,
-0x947D=>0x5A92,
-0x947E=>0x6885,
-0x9480=>0x6973,
-0x9481=>0x7164,
-0x9482=>0x72FD,
-0x9483=>0x8CB7,
-0x9484=>0x58F2,
-0x9485=>0x8CE0,
-0x9486=>0x966A,
-0x9487=>0x9019,
-0x9488=>0x877F,
-0x9489=>0x79E4,
-0x948A=>0x77E7,
-0x948B=>0x8429,
-0x948C=>0x4F2F,
-0x948D=>0x5265,
-0x948E=>0x535A,
-0x948F=>0x62CD,
-0x9490=>0x67CF,
-0x9491=>0x6CCA,
-0x9492=>0x767D,
-0x9493=>0x7B94,
-0x9494=>0x7C95,
-0x9495=>0x8236,
-0x9496=>0x8584,
-0x9497=>0x8FEB,
-0x9498=>0x66DD,
-0x9499=>0x6F20,
-0x949A=>0x7206,
-0x949B=>0x7E1B,
-0x949C=>0x83AB,
-0x949D=>0x99C1,
-0x949E=>0x9EA6,
-0x949F=>0x51FD,
-0x94A0=>0x7BB1,
-0x94A1=>0x7872,
-0x94A2=>0x7BB8,
-0x94A3=>0x8087,
-0x94A4=>0x7B48,
-0x94A5=>0x6AE8,
-0x94A6=>0x5E61,
-0x94A7=>0x808C,
-0x94A8=>0x7551,
-0x94A9=>0x7560,
-0x94AA=>0x516B,
-0x94AB=>0x9262,
-0x94AC=>0x6E8C,
-0x94AD=>0x767A,
-0x94AE=>0x9197,
-0x94AF=>0x9AEA,
-0x94B0=>0x4F10,
-0x94B1=>0x7F70,
-0x94B2=>0x629C,
-0x94B3=>0x7B4F,
-0x94B4=>0x95A5,
-0x94B5=>0x9CE9,
-0x94B6=>0x567A,
-0x94B7=>0x5859,
-0x94B8=>0x86E4,
-0x94B9=>0x96BC,
-0x94BA=>0x4F34,
-0x94BB=>0x5224,
-0x94BC=>0x534A,
-0x94BD=>0x53CD,
-0x94BE=>0x53DB,
-0x94BF=>0x5E06,
-0x94C0=>0x642C,
-0x94C1=>0x6591,
-0x94C2=>0x677F,
-0x94C3=>0x6C3E,
-0x94C4=>0x6C4E,
-0x94C5=>0x7248,
-0x94C6=>0x72AF,
-0x94C7=>0x73ED,
-0x94C8=>0x7554,
-0x94C9=>0x7E41,
-0x94CA=>0x822C,
-0x94CB=>0x85E9,
-0x94CC=>0x8CA9,
-0x94CD=>0x7BC4,
-0x94CE=>0x91C6,
-0x94CF=>0x7169,
-0x94D0=>0x9812,
-0x94D1=>0x98EF,
-0x94D2=>0x633D,
-0x94D3=>0x6669,
-0x94D4=>0x756A,
-0x94D5=>0x76E4,
-0x94D6=>0x78D0,
-0x94D7=>0x8543,
-0x94D8=>0x86EE,
-0x94D9=>0x532A,
-0x94DA=>0x5351,
-0x94DB=>0x5426,
-0x94DC=>0x5983,
-0x94DD=>0x5E87,
-0x94DE=>0x5F7C,
-0x94DF=>0x60B2,
-0x94E0=>0x6249,
-0x94E1=>0x6279,
-0x94E2=>0x62AB,
-0x94E3=>0x6590,
-0x94E4=>0x6BD4,
-0x94E5=>0x6CCC,
-0x94E6=>0x75B2,
-0x94E7=>0x76AE,
-0x94E8=>0x7891,
-0x94E9=>0x79D8,
-0x94EA=>0x7DCB,
-0x94EB=>0x7F77,
-0x94EC=>0x80A5,
-0x94ED=>0x88AB,
-0x94EE=>0x8AB9,
-0x94EF=>0x8CBB,
-0x94F0=>0x907F,
-0x94F1=>0x975E,
-0x94F2=>0x98DB,
-0x94F3=>0x6A0B,
-0x94F4=>0x7C38,
-0x94F5=>0x5099,
-0x94F6=>0x5C3E,
-0x94F7=>0x5FAE,
-0x94F8=>0x6787,
-0x94F9=>0x6BD8,
-0x94FA=>0x7435,
-0x94FB=>0x7709,
-0x94FC=>0x7F8E,
-0x9540=>0x9F3B,
-0x9541=>0x67CA,
-0x9542=>0x7A17,
-0x9543=>0x5339,
-0x9544=>0x758B,
-0x9545=>0x9AED,
-0x9546=>0x5F66,
-0x9547=>0x819D,
-0x9548=>0x83F1,
-0x9549=>0x8098,
-0x954A=>0x5F3C,
-0x954B=>0x5FC5,
-0x954C=>0x7562,
-0x954D=>0x7B46,
-0x954E=>0x903C,
-0x954F=>0x6867,
-0x9550=>0x59EB,
-0x9551=>0x5A9B,
-0x9552=>0x7D10,
-0x9553=>0x767E,
-0x9554=>0x8B2C,
-0x9555=>0x4FF5,
-0x9556=>0x5F6A,
-0x9557=>0x6A19,
-0x9558=>0x6C37,
-0x9559=>0x6F02,
-0x955A=>0x74E2,
-0x955B=>0x7968,
-0x955C=>0x8868,
-0x955D=>0x8A55,
-0x955E=>0x8C79,
-0x955F=>0x5EDF,
-0x9560=>0x63CF,
-0x9561=>0x75C5,
-0x9562=>0x79D2,
-0x9563=>0x82D7,
-0x9564=>0x9328,
-0x9565=>0x92F2,
-0x9566=>0x849C,
-0x9567=>0x86ED,
-0x9568=>0x9C2D,
-0x9569=>0x54C1,
-0x956A=>0x5F6C,
-0x956B=>0x658C,
-0x956C=>0x6D5C,
-0x956D=>0x7015,
-0x956E=>0x8CA7,
-0x956F=>0x8CD3,
-0x9570=>0x983B,
-0x9571=>0x654F,
-0x9572=>0x74F6,
-0x9573=>0x4E0D,
-0x9574=>0x4ED8,
-0x9575=>0x57E0,
-0x9576=>0x592B,
-0x9577=>0x5A66,
-0x9578=>0x5BCC,
-0x9579=>0x51A8,
-0x957A=>0x5E03,
-0x957B=>0x5E9C,
-0x957C=>0x6016,
-0x957D=>0x6276,
-0x957E=>0x6577,
-0x9580=>0x65A7,
-0x9581=>0x666E,
-0x9582=>0x6D6E,
-0x9583=>0x7236,
-0x9584=>0x7B26,
-0x9585=>0x8150,
-0x9586=>0x819A,
-0x9587=>0x8299,
-0x9588=>0x8B5C,
-0x9589=>0x8CA0,
-0x958A=>0x8CE6,
-0x958B=>0x8D74,
-0x958C=>0x961C,
-0x958D=>0x9644,
-0x958E=>0x4FAE,
-0x958F=>0x64AB,
-0x9590=>0x6B66,
-0x9591=>0x821E,
-0x9592=>0x8461,
-0x9593=>0x856A,
-0x9594=>0x90E8,
-0x9595=>0x5C01,
-0x9596=>0x6953,
-0x9597=>0x98A8,
-0x9598=>0x847A,
-0x9599=>0x8557,
-0x959A=>0x4F0F,
-0x959B=>0x526F,
-0x959C=>0x5FA9,
-0x959D=>0x5E45,
-0x959E=>0x670D,
-0x959F=>0x798F,
-0x95A0=>0x8179,
-0x95A1=>0x8907,
-0x95A2=>0x8986,
-0x95A3=>0x6DF5,
-0x95A4=>0x5F17,
-0x95A5=>0x6255,
-0x95A6=>0x6CB8,
-0x95A7=>0x4ECF,
-0x95A8=>0x7269,
-0x95A9=>0x9B92,
-0x95AA=>0x5206,
-0x95AB=>0x543B,
-0x95AC=>0x5674,
-0x95AD=>0x58B3,
-0x95AE=>0x61A4,
-0x95AF=>0x626E,
-0x95B0=>0x711A,
-0x95B1=>0x596E,
-0x95B2=>0x7C89,
-0x95B3=>0x7CDE,
-0x95B4=>0x7D1B,
-0x95B5=>0x96F0,
-0x95B6=>0x6587,
-0x95B7=>0x805E,
-0x95B8=>0x4E19,
-0x95B9=>0x4F75,
-0x95BA=>0x5175,
-0x95BB=>0x5840,
-0x95BC=>0x5E63,
-0x95BD=>0x5E73,
-0x95BE=>0x5F0A,
-0x95BF=>0x67C4,
-0x95C0=>0x4E26,
-0x95C1=>0x853D,
-0x95C2=>0x9589,
-0x95C3=>0x965B,
-0x95C4=>0x7C73,
-0x95C5=>0x9801,
-0x95C6=>0x50FB,
-0x95C7=>0x58C1,
-0x95C8=>0x7656,
-0x95C9=>0x78A7,
-0x95CA=>0x5225,
-0x95CB=>0x77A5,
-0x95CC=>0x8511,
-0x95CD=>0x7B86,
-0x95CE=>0x504F,
-0x95CF=>0x5909,
-0x95D0=>0x7247,
-0x95D1=>0x7BC7,
-0x95D2=>0x7DE8,
-0x95D3=>0x8FBA,
-0x95D4=>0x8FD4,
-0x95D5=>0x904D,
-0x95D6=>0x4FBF,
-0x95D7=>0x52C9,
-0x95D8=>0x5A29,
-0x95D9=>0x5F01,
-0x95DA=>0x97AD,
-0x95DB=>0x4FDD,
-0x95DC=>0x8217,
-0x95DD=>0x92EA,
-0x95DE=>0x5703,
-0x95DF=>0x6355,
-0x95E0=>0x6B69,
-0x95E1=>0x752B,
-0x95E2=>0x88DC,
-0x95E3=>0x8F14,
-0x95E4=>0x7A42,
-0x95E5=>0x52DF,
-0x95E6=>0x5893,
-0x95E7=>0x6155,
-0x95E8=>0x620A,
-0x95E9=>0x66AE,
-0x95EA=>0x6BCD,
-0x95EB=>0x7C3F,
-0x95EC=>0x83E9,
-0x95ED=>0x5023,
-0x95EE=>0x4FF8,
-0x95EF=>0x5305,
-0x95F0=>0x5446,
-0x95F1=>0x5831,
-0x95F2=>0x5949,
-0x95F3=>0x5B9D,
-0x95F4=>0x5CF0,
-0x95F5=>0x5CEF,
-0x95F6=>0x5D29,
-0x95F7=>0x5E96,
-0x95F8=>0x62B1,
-0x95F9=>0x6367,
-0x95FA=>0x653E,
-0x95FB=>0x65B9,
-0x95FC=>0x670B,
-0x9640=>0x6CD5,
-0x9641=>0x6CE1,
-0x9642=>0x70F9,
-0x9643=>0x7832,
-0x9644=>0x7E2B,
-0x9645=>0x80DE,
-0x9646=>0x82B3,
-0x9647=>0x840C,
-0x9648=>0x84EC,
-0x9649=>0x8702,
-0x964A=>0x8912,
-0x964B=>0x8A2A,
-0x964C=>0x8C4A,
-0x964D=>0x90A6,
-0x964E=>0x92D2,
-0x964F=>0x98FD,
-0x9650=>0x9CF3,
-0x9651=>0x9D6C,
-0x9652=>0x4E4F,
-0x9653=>0x4EA1,
-0x9654=>0x508D,
-0x9655=>0x5256,
-0x9656=>0x574A,
-0x9657=>0x59A8,
-0x9658=>0x5E3D,
-0x9659=>0x5FD8,
-0x965A=>0x5FD9,
-0x965B=>0x623F,
-0x965C=>0x66B4,
-0x965D=>0x671B,
-0x965E=>0x67D0,
-0x965F=>0x68D2,
-0x9660=>0x5192,
-0x9661=>0x7D21,
-0x9662=>0x80AA,
-0x9663=>0x81A8,
-0x9664=>0x8B00,
-0x9665=>0x8C8C,
-0x9666=>0x8CBF,
-0x9667=>0x927E,
-0x9668=>0x9632,
-0x9669=>0x5420,
-0x966A=>0x982C,
-0x966B=>0x5317,
-0x966C=>0x50D5,
-0x966D=>0x535C,
-0x966E=>0x58A8,
-0x966F=>0x64B2,
-0x9670=>0x6734,
-0x9671=>0x7267,
-0x9672=>0x7766,
-0x9673=>0x7A46,
-0x9674=>0x91E6,
-0x9675=>0x52C3,
-0x9676=>0x6CA1,
-0x9677=>0x6B86,
-0x9678=>0x5800,
-0x9679=>0x5E4C,
-0x967A=>0x5954,
-0x967B=>0x672C,
-0x967C=>0x7FFB,
-0x967D=>0x51E1,
-0x967E=>0x76C6,
-0x9680=>0x6469,
-0x9681=>0x78E8,
-0x9682=>0x9B54,
-0x9683=>0x9EBB,
-0x9684=>0x57CB,
-0x9685=>0x59B9,
-0x9686=>0x6627,
-0x9687=>0x679A,
-0x9688=>0x6BCE,
-0x9689=>0x54E9,
-0x968A=>0x69D9,
-0x968B=>0x5E55,
-0x968C=>0x819C,
-0x968D=>0x6795,
-0x968E=>0x9BAA,
-0x968F=>0x67FE,
-0x9690=>0x9C52,
-0x9691=>0x685D,
-0x9692=>0x4EA6,
-0x9693=>0x4FE3,
-0x9694=>0x53C8,
-0x9695=>0x62B9,
-0x9696=>0x672B,
-0x9697=>0x6CAB,
-0x9698=>0x8FC4,
-0x9699=>0x4FAD,
-0x969A=>0x7E6D,
-0x969B=>0x9EBF,
-0x969C=>0x4E07,
-0x969D=>0x6162,
-0x969E=>0x6E80,
-0x969F=>0x6F2B,
-0x96A0=>0x8513,
-0x96A1=>0x5473,
-0x96A2=>0x672A,
-0x96A3=>0x9B45,
-0x96A4=>0x5DF3,
-0x96A5=>0x7B95,
-0x96A6=>0x5CAC,
-0x96A7=>0x5BC6,
-0x96A8=>0x871C,
-0x96A9=>0x6E4A,
-0x96AA=>0x84D1,
-0x96AB=>0x7A14,
-0x96AC=>0x8108,
-0x96AD=>0x5999,
-0x96AE=>0x7C8D,
-0x96AF=>0x6C11,
-0x96B0=>0x7720,
-0x96B1=>0x52D9,
-0x96B2=>0x5922,
-0x96B3=>0x7121,
-0x96B4=>0x725F,
-0x96B5=>0x77DB,
-0x96B6=>0x9727,
-0x96B7=>0x9D61,
-0x96B8=>0x690B,
-0x96B9=>0x5A7F,
-0x96BA=>0x5A18,
-0x96BB=>0x51A5,
-0x96BC=>0x540D,
-0x96BD=>0x547D,
-0x96BE=>0x660E,
-0x96BF=>0x76DF,
-0x96C0=>0x8FF7,
-0x96C1=>0x9298,
-0x96C2=>0x9CF4,
-0x96C3=>0x59EA,
-0x96C4=>0x725D,
-0x96C5=>0x6EC5,
-0x96C6=>0x514D,
-0x96C7=>0x68C9,
-0x96C8=>0x7DBF,
-0x96C9=>0x7DEC,
-0x96CA=>0x9762,
-0x96CB=>0x9EBA,
-0x96CC=>0x6478,
-0x96CD=>0x6A21,
-0x96CE=>0x8302,
-0x96CF=>0x5984,
-0x96D0=>0x5B5F,
-0x96D1=>0x6BDB,
-0x96D2=>0x731B,
-0x96D3=>0x76F2,
-0x96D4=>0x7DB2,
-0x96D5=>0x8017,
-0x96D6=>0x8499,
-0x96D7=>0x5132,
-0x96D8=>0x6728,
-0x96D9=>0x9ED9,
-0x96DA=>0x76EE,
-0x96DB=>0x6762,
-0x96DC=>0x52FF,
-0x96DD=>0x9905,
-0x96DE=>0x5C24,
-0x96DF=>0x623B,
-0x96E0=>0x7C7E,
-0x96E1=>0x8CB0,
-0x96E2=>0x554F,
-0x96E3=>0x60B6,
-0x96E4=>0x7D0B,
-0x96E5=>0x9580,
-0x96E6=>0x5301,
-0x96E7=>0x4E5F,
-0x96E8=>0x51B6,
-0x96E9=>0x591C,
-0x96EA=>0x723A,
-0x96EB=>0x8036,
-0x96EC=>0x91CE,
-0x96ED=>0x5F25,
-0x96EE=>0x77E2,
-0x96EF=>0x5384,
-0x96F0=>0x5F79,
-0x96F1=>0x7D04,
-0x96F2=>0x85AC,
-0x96F3=>0x8A33,
-0x96F4=>0x8E8D,
-0x96F5=>0x9756,
-0x96F6=>0x67F3,
-0x96F7=>0x85AE,
-0x96F8=>0x9453,
-0x96F9=>0x6109,
-0x96FA=>0x6108,
-0x96FB=>0x6CB9,
-0x96FC=>0x7652,
-0x9740=>0x8AED,
-0x9741=>0x8F38,
-0x9742=>0x552F,
-0x9743=>0x4F51,
-0x9744=>0x512A,
-0x9745=>0x52C7,
-0x9746=>0x53CB,
-0x9747=>0x5BA5,
-0x9748=>0x5E7D,
-0x9749=>0x60A0,
-0x974A=>0x6182,
-0x974B=>0x63D6,
-0x974C=>0x6709,
-0x974D=>0x67DA,
-0x974E=>0x6E67,
-0x974F=>0x6D8C,
-0x9750=>0x7336,
-0x9751=>0x7337,
-0x9752=>0x7531,
-0x9753=>0x7950,
-0x9754=>0x88D5,
-0x9755=>0x8A98,
-0x9756=>0x904A,
-0x9757=>0x9091,
-0x9758=>0x90F5,
-0x9759=>0x96C4,
-0x975A=>0x878D,
-0x975B=>0x5915,
-0x975C=>0x4E88,
-0x975D=>0x4F59,
-0x975E=>0x4E0E,
-0x975F=>0x8A89,
-0x9760=>0x8F3F,
-0x9761=>0x9810,
-0x9762=>0x50AD,
-0x9763=>0x5E7C,
-0x9764=>0x5996,
-0x9765=>0x5BB9,
-0x9766=>0x5EB8,
-0x9767=>0x63DA,
-0x9768=>0x63FA,
-0x9769=>0x64C1,
-0x976A=>0x66DC,
-0x976B=>0x694A,
-0x976C=>0x69D8,
-0x976D=>0x6D0B,
-0x976E=>0x6EB6,
-0x976F=>0x7194,
-0x9770=>0x7528,
-0x9771=>0x7AAF,
-0x9772=>0x7F8A,
-0x9773=>0x8000,
-0x9774=>0x8449,
-0x9775=>0x84C9,
-0x9776=>0x8981,
-0x9777=>0x8B21,
-0x9778=>0x8E0A,
-0x9779=>0x9065,
-0x977A=>0x967D,
-0x977B=>0x990A,
-0x977C=>0x617E,
-0x977D=>0x6291,
-0x977E=>0x6B32,
-0x9780=>0x6C83,
-0x9781=>0x6D74,
-0x9782=>0x7FCC,
-0x9783=>0x7FFC,
-0x9784=>0x6DC0,
-0x9785=>0x7F85,
-0x9786=>0x87BA,
-0x9787=>0x88F8,
-0x9788=>0x6765,
-0x9789=>0x83B1,
-0x978A=>0x983C,
-0x978B=>0x96F7,
-0x978C=>0x6D1B,
-0x978D=>0x7D61,
-0x978E=>0x843D,
-0x978F=>0x916A,
-0x9790=>0x4E71,
-0x9791=>0x5375,
-0x9792=>0x5D50,
-0x9793=>0x6B04,
-0x9794=>0x6FEB,
-0x9795=>0x85CD,
-0x9796=>0x862D,
-0x9797=>0x89A7,
-0x9798=>0x5229,
-0x9799=>0x540F,
-0x979A=>0x5C65,
-0x979B=>0x674E,
-0x979C=>0x68A8,
-0x979D=>0x7406,
-0x979E=>0x7483,
-0x979F=>0x75E2,
-0x97A0=>0x88CF,
-0x97A1=>0x88E1,
-0x97A2=>0x91CC,
-0x97A3=>0x96E2,
-0x97A4=>0x9678,
-0x97A5=>0x5F8B,
-0x97A6=>0x7387,
-0x97A7=>0x7ACB,
-0x97A8=>0x844E,
-0x97A9=>0x63A0,
-0x97AA=>0x7565,
-0x97AB=>0x5289,
-0x97AC=>0x6D41,
-0x97AD=>0x6E9C,
-0x97AE=>0x7409,
-0x97AF=>0x7559,
-0x97B0=>0x786B,
-0x97B1=>0x7C92,
-0x97B2=>0x9686,
-0x97B3=>0x7ADC,
-0x97B4=>0x9F8D,
-0x97B5=>0x4FB6,
-0x97B6=>0x616E,
-0x97B7=>0x65C5,
-0x97B8=>0x865C,
-0x97B9=>0x4E86,
-0x97BA=>0x4EAE,
-0x97BB=>0x50DA,
-0x97BC=>0x4E21,
-0x97BD=>0x51CC,
-0x97BE=>0x5BEE,
-0x97BF=>0x6599,
-0x97C0=>0x6881,
-0x97C1=>0x6DBC,
-0x97C2=>0x731F,
-0x97C3=>0x7642,
-0x97C4=>0x77AD,
-0x97C5=>0x7A1C,
-0x97C6=>0x7CE7,
-0x97C7=>0x826F,
-0x97C8=>0x8AD2,
-0x97C9=>0x907C,
-0x97CA=>0x91CF,
-0x97CB=>0x9675,
-0x97CC=>0x9818,
-0x97CD=>0x529B,
-0x97CE=>0x7DD1,
-0x97CF=>0x502B,
-0x97D0=>0x5398,
-0x97D1=>0x6797,
-0x97D2=>0x6DCB,
-0x97D3=>0x71D0,
-0x97D4=>0x7433,
-0x97D5=>0x81E8,
-0x97D6=>0x8F2A,
-0x97D7=>0x96A3,
-0x97D8=>0x9C57,
-0x97D9=>0x9E9F,
-0x97DA=>0x7460,
-0x97DB=>0x5841,
-0x97DC=>0x6D99,
-0x97DD=>0x7D2F,
-0x97DE=>0x985E,
-0x97DF=>0x4EE4,
-0x97E0=>0x4F36,
-0x97E1=>0x4F8B,
-0x97E2=>0x51B7,
-0x97E3=>0x52B1,
-0x97E4=>0x5DBA,
-0x97E5=>0x601C,
-0x97E6=>0x73B2,
-0x97E7=>0x793C,
-0x97E8=>0x82D3,
-0x97E9=>0x9234,
-0x97EA=>0x96B7,
-0x97EB=>0x96F6,
-0x97EC=>0x970A,
-0x97ED=>0x9E97,
-0x97EE=>0x9F62,
-0x97EF=>0x66A6,
-0x97F0=>0x6B74,
-0x97F1=>0x5217,
-0x97F2=>0x52A3,
-0x97F3=>0x70C8,
-0x97F4=>0x88C2,
-0x97F5=>0x5EC9,
-0x97F6=>0x604B,
-0x97F7=>0x6190,
-0x97F8=>0x6F23,
-0x97F9=>0x7149,
-0x97FA=>0x7C3E,
-0x97FB=>0x7DF4,
-0x97FC=>0x806F,
-0x9840=>0x84EE,
-0x9841=>0x9023,
-0x9842=>0x932C,
-0x9843=>0x5442,
-0x9844=>0x9B6F,
-0x9845=>0x6AD3,
-0x9846=>0x7089,
-0x9847=>0x8CC2,
-0x9848=>0x8DEF,
-0x9849=>0x9732,
-0x984A=>0x52B4,
-0x984B=>0x5A41,
-0x984C=>0x5ECA,
-0x984D=>0x5F04,
-0x984E=>0x6717,
-0x984F=>0x697C,
-0x9850=>0x6994,
-0x9851=>0x6D6A,
-0x9852=>0x6F0F,
-0x9853=>0x7262,
-0x9854=>0x72FC,
-0x9855=>0x7BED,
-0x9856=>0x8001,
-0x9857=>0x807E,
-0x9858=>0x874B,
-0x9859=>0x90CE,
-0x985A=>0x516D,
-0x985B=>0x9E93,
-0x985C=>0x7984,
-0x985D=>0x808B,
-0x985E=>0x9332,
-0x985F=>0x8AD6,
-0x9860=>0x502D,
-0x9861=>0x548C,
-0x9862=>0x8A71,
-0x9863=>0x6B6A,
-0x9864=>0x8CC4,
-0x9865=>0x8107,
-0x9866=>0x60D1,
-0x9867=>0x67A0,
-0x9868=>0x9DF2,
-0x9869=>0x4E99,
-0x986A=>0x4E98,
-0x986B=>0x9C10,
-0x986C=>0x8A6B,
-0x986D=>0x85C1,
-0x986E=>0x8568,
-0x986F=>0x6900,
-0x9870=>0x6E7E,
-0x9871=>0x7897,
-0x9872=>0x8155,
-0x989F=>0x5F0C,
-0x98A0=>0x4E10,
-0x98A1=>0x4E15,
-0x98A2=>0x4E2A,
-0x98A3=>0x4E31,
-0x98A4=>0x4E36,
-0x98A5=>0x4E3C,
-0x98A6=>0x4E3F,
-0x98A7=>0x4E42,
-0x98A8=>0x4E56,
-0x98A9=>0x4E58,
-0x98AA=>0x4E82,
-0x98AB=>0x4E85,
-0x98AC=>0x8C6B,
-0x98AD=>0x4E8A,
-0x98AE=>0x8212,
-0x98AF=>0x5F0D,
-0x98B0=>0x4E8E,
-0x98B1=>0x4E9E,
-0x98B2=>0x4E9F,
-0x98B3=>0x4EA0,
-0x98B4=>0x4EA2,
-0x98B5=>0x4EB0,
-0x98B6=>0x4EB3,
-0x98B7=>0x4EB6,
-0x98B8=>0x4ECE,
-0x98B9=>0x4ECD,
-0x98BA=>0x4EC4,
-0x98BB=>0x4EC6,
-0x98BC=>0x4EC2,
-0x98BD=>0x4ED7,
-0x98BE=>0x4EDE,
-0x98BF=>0x4EED,
-0x98C0=>0x4EDF,
-0x98C1=>0x4EF7,
-0x98C2=>0x4F09,
-0x98C3=>0x4F5A,
-0x98C4=>0x4F30,
-0x98C5=>0x4F5B,
-0x98C6=>0x4F5D,
-0x98C7=>0x4F57,
-0x98C8=>0x4F47,
-0x98C9=>0x4F76,
-0x98CA=>0x4F88,
-0x98CB=>0x4F8F,
-0x98CC=>0x4F98,
-0x98CD=>0x4F7B,
-0x98CE=>0x4F69,
-0x98CF=>0x4F70,
-0x98D0=>0x4F91,
-0x98D1=>0x4F6F,
-0x98D2=>0x4F86,
-0x98D3=>0x4F96,
-0x98D4=>0x5118,
-0x98D5=>0x4FD4,
-0x98D6=>0x4FDF,
-0x98D7=>0x4FCE,
-0x98D8=>0x4FD8,
-0x98D9=>0x4FDB,
-0x98DA=>0x4FD1,
-0x98DB=>0x4FDA,
-0x98DC=>0x4FD0,
-0x98DD=>0x4FE4,
-0x98DE=>0x4FE5,
-0x98DF=>0x501A,
-0x98E0=>0x5028,
-0x98E1=>0x5014,
-0x98E2=>0x502A,
-0x98E3=>0x5025,
-0x98E4=>0x5005,
-0x98E5=>0x4F1C,
-0x98E6=>0x4FF6,
-0x98E7=>0x5021,
-0x98E8=>0x5029,
-0x98E9=>0x502C,
-0x98EA=>0x4FFE,
-0x98EB=>0x4FEF,
-0x98EC=>0x5011,
-0x98ED=>0x5006,
-0x98EE=>0x5043,
-0x98EF=>0x5047,
-0x98F0=>0x6703,
-0x98F1=>0x5055,
-0x98F2=>0x5050,
-0x98F3=>0x5048,
-0x98F4=>0x505A,
-0x98F5=>0x5056,
-0x98F6=>0x506C,
-0x98F7=>0x5078,
-0x98F8=>0x5080,
-0x98F9=>0x509A,
-0x98FA=>0x5085,
-0x98FB=>0x50B4,
-0x98FC=>0x50B2,
-0x9940=>0x50C9,
-0x9941=>0x50CA,
-0x9942=>0x50B3,
-0x9943=>0x50C2,
-0x9944=>0x50D6,
-0x9945=>0x50DE,
-0x9946=>0x50E5,
-0x9947=>0x50ED,
-0x9948=>0x50E3,
-0x9949=>0x50EE,
-0x994A=>0x50F9,
-0x994B=>0x50F5,
-0x994C=>0x5109,
-0x994D=>0x5101,
-0x994E=>0x5102,
-0x994F=>0x5116,
-0x9950=>0x5115,
-0x9951=>0x5114,
-0x9952=>0x511A,
-0x9953=>0x5121,
-0x9954=>0x513A,
-0x9955=>0x5137,
-0x9956=>0x513C,
-0x9957=>0x513B,
-0x9958=>0x513F,
-0x9959=>0x5140,
-0x995A=>0x5152,
-0x995B=>0x514C,
-0x995C=>0x5154,
-0x995D=>0x5162,
-0x995E=>0x7AF8,
-0x995F=>0x5169,
-0x9960=>0x516A,
-0x9961=>0x516E,
-0x9962=>0x5180,
-0x9963=>0x5182,
-0x9964=>0x56D8,
-0x9965=>0x518C,
-0x9966=>0x5189,
-0x9967=>0x518F,
-0x9968=>0x5191,
-0x9969=>0x5193,
-0x996A=>0x5195,
-0x996B=>0x5196,
-0x996C=>0x51A4,
-0x996D=>0x51A6,
-0x996E=>0x51A2,
-0x996F=>0x51A9,
-0x9970=>0x51AA,
-0x9971=>0x51AB,
-0x9972=>0x51B3,
-0x9973=>0x51B1,
-0x9974=>0x51B2,
-0x9975=>0x51B0,
-0x9976=>0x51B5,
-0x9977=>0x51BD,
-0x9978=>0x51C5,
-0x9979=>0x51C9,
-0x997A=>0x51DB,
-0x997B=>0x51E0,
-0x997C=>0x8655,
-0x997D=>0x51E9,
-0x997E=>0x51ED,
-0x9980=>0x51F0,
-0x9981=>0x51F5,
-0x9982=>0x51FE,
-0x9983=>0x5204,
-0x9984=>0x520B,
-0x9985=>0x5214,
-0x9986=>0x520E,
-0x9987=>0x5227,
-0x9988=>0x522A,
-0x9989=>0x522E,
-0x998A=>0x5233,
-0x998B=>0x5239,
-0x998C=>0x524F,
-0x998D=>0x5244,
-0x998E=>0x524B,
-0x998F=>0x524C,
-0x9990=>0x525E,
-0x9991=>0x5254,
-0x9992=>0x526A,
-0x9993=>0x5274,
-0x9994=>0x5269,
-0x9995=>0x5273,
-0x9996=>0x527F,
-0x9997=>0x527D,
-0x9998=>0x528D,
-0x9999=>0x5294,
-0x999A=>0x5292,
-0x999B=>0x5271,
-0x999C=>0x5288,
-0x999D=>0x5291,
-0x999E=>0x8FA8,
-0x999F=>0x8FA7,
-0x99A0=>0x52AC,
-0x99A1=>0x52AD,
-0x99A2=>0x52BC,
-0x99A3=>0x52B5,
-0x99A4=>0x52C1,
-0x99A5=>0x52CD,
-0x99A6=>0x52D7,
-0x99A7=>0x52DE,
-0x99A8=>0x52E3,
-0x99A9=>0x52E6,
-0x99AA=>0x98ED,
-0x99AB=>0x52E0,
-0x99AC=>0x52F3,
-0x99AD=>0x52F5,
-0x99AE=>0x52F8,
-0x99AF=>0x52F9,
-0x99B0=>0x5306,
-0x99B1=>0x5308,
-0x99B2=>0x7538,
-0x99B3=>0x530D,
-0x99B4=>0x5310,
-0x99B5=>0x530F,
-0x99B6=>0x5315,
-0x99B7=>0x531A,
-0x99B8=>0x5323,
-0x99B9=>0x532F,
-0x99BA=>0x5331,
-0x99BB=>0x5333,
-0x99BC=>0x5338,
-0x99BD=>0x5340,
-0x99BE=>0x5346,
-0x99BF=>0x5345,
-0x99C0=>0x4E17,
-0x99C1=>0x5349,
-0x99C2=>0x534D,
-0x99C3=>0x51D6,
-0x99C4=>0x535E,
-0x99C5=>0x5369,
-0x99C6=>0x536E,
-0x99C7=>0x5918,
-0x99C8=>0x537B,
-0x99C9=>0x5377,
-0x99CA=>0x5382,
-0x99CB=>0x5396,
-0x99CC=>0x53A0,
-0x99CD=>0x53A6,
-0x99CE=>0x53A5,
-0x99CF=>0x53AE,
-0x99D0=>0x53B0,
-0x99D1=>0x53B6,
-0x99D2=>0x53C3,
-0x99D3=>0x7C12,
-0x99D4=>0x96D9,
-0x99D5=>0x53DF,
-0x99D6=>0x66FC,
-0x99D7=>0x71EE,
-0x99D8=>0x53EE,
-0x99D9=>0x53E8,
-0x99DA=>0x53ED,
-0x99DB=>0x53FA,
-0x99DC=>0x5401,
-0x99DD=>0x543D,
-0x99DE=>0x5440,
-0x99DF=>0x542C,
-0x99E0=>0x542D,
-0x99E1=>0x543C,
-0x99E2=>0x542E,
-0x99E3=>0x5436,
-0x99E4=>0x5429,
-0x99E5=>0x541D,
-0x99E6=>0x544E,
-0x99E7=>0x548F,
-0x99E8=>0x5475,
-0x99E9=>0x548E,
-0x99EA=>0x545F,
-0x99EB=>0x5471,
-0x99EC=>0x5477,
-0x99ED=>0x5470,
-0x99EE=>0x5492,
-0x99EF=>0x547B,
-0x99F0=>0x5480,
-0x99F1=>0x5476,
-0x99F2=>0x5484,
-0x99F3=>0x5490,
-0x99F4=>0x5486,
-0x99F5=>0x54C7,
-0x99F6=>0x54A2,
-0x99F7=>0x54B8,
-0x99F8=>0x54A5,
-0x99F9=>0x54AC,
-0x99FA=>0x54C4,
-0x99FB=>0x54C8,
-0x99FC=>0x54A8,
-0x9A40=>0x54AB,
-0x9A41=>0x54C2,
-0x9A42=>0x54A4,
-0x9A43=>0x54BE,
-0x9A44=>0x54BC,
-0x9A45=>0x54D8,
-0x9A46=>0x54E5,
-0x9A47=>0x54E6,
-0x9A48=>0x550F,
-0x9A49=>0x5514,
-0x9A4A=>0x54FD,
-0x9A4B=>0x54EE,
-0x9A4C=>0x54ED,
-0x9A4D=>0x54FA,
-0x9A4E=>0x54E2,
-0x9A4F=>0x5539,
-0x9A50=>0x5540,
-0x9A51=>0x5563,
-0x9A52=>0x554C,
-0x9A53=>0x552E,
-0x9A54=>0x555C,
-0x9A55=>0x5545,
-0x9A56=>0x5556,
-0x9A57=>0x5557,
-0x9A58=>0x5538,
-0x9A59=>0x5533,
-0x9A5A=>0x555D,
-0x9A5B=>0x5599,
-0x9A5C=>0x5580,
-0x9A5D=>0x54AF,
-0x9A5E=>0x558A,
-0x9A5F=>0x559F,
-0x9A60=>0x557B,
-0x9A61=>0x557E,
-0x9A62=>0x5598,
-0x9A63=>0x559E,
-0x9A64=>0x55AE,
-0x9A65=>0x557C,
-0x9A66=>0x5583,
-0x9A67=>0x55A9,
-0x9A68=>0x5587,
-0x9A69=>0x55A8,
-0x9A6A=>0x55DA,
-0x9A6B=>0x55C5,
-0x9A6C=>0x55DF,
-0x9A6D=>0x55C4,
-0x9A6E=>0x55DC,
-0x9A6F=>0x55E4,
-0x9A70=>0x55D4,
-0x9A71=>0x5614,
-0x9A72=>0x55F7,
-0x9A73=>0x5616,
-0x9A74=>0x55FE,
-0x9A75=>0x55FD,
-0x9A76=>0x561B,
-0x9A77=>0x55F9,
-0x9A78=>0x564E,
-0x9A79=>0x5650,
-0x9A7A=>0x71DF,
-0x9A7B=>0x5634,
-0x9A7C=>0x5636,
-0x9A7D=>0x5632,
-0x9A7E=>0x5638,
-0x9A80=>0x566B,
-0x9A81=>0x5664,
-0x9A82=>0x562F,
-0x9A83=>0x566C,
-0x9A84=>0x566A,
-0x9A85=>0x5686,
-0x9A86=>0x5680,
-0x9A87=>0x568A,
-0x9A88=>0x56A0,
-0x9A89=>0x5694,
-0x9A8A=>0x568F,
-0x9A8B=>0x56A5,
-0x9A8C=>0x56AE,
-0x9A8D=>0x56B6,
-0x9A8E=>0x56B4,
-0x9A8F=>0x56C2,
-0x9A90=>0x56BC,
-0x9A91=>0x56C1,
-0x9A92=>0x56C3,
-0x9A93=>0x56C0,
-0x9A94=>0x56C8,
-0x9A95=>0x56CE,
-0x9A96=>0x56D1,
-0x9A97=>0x56D3,
-0x9A98=>0x56D7,
-0x9A99=>0x56EE,
-0x9A9A=>0x56F9,
-0x9A9B=>0x5700,
-0x9A9C=>0x56FF,
-0x9A9D=>0x5704,
-0x9A9E=>0x5709,
-0x9A9F=>0x5708,
-0x9AA0=>0x570B,
-0x9AA1=>0x570D,
-0x9AA2=>0x5713,
-0x9AA3=>0x5718,
-0x9AA4=>0x5716,
-0x9AA5=>0x55C7,
-0x9AA6=>0x571C,
-0x9AA7=>0x5726,
-0x9AA8=>0x5737,
-0x9AA9=>0x5738,
-0x9AAA=>0x574E,
-0x9AAB=>0x573B,
-0x9AAC=>0x5740,
-0x9AAD=>0x574F,
-0x9AAE=>0x5769,
-0x9AAF=>0x57C0,
-0x9AB0=>0x5788,
-0x9AB1=>0x5761,
-0x9AB2=>0x577F,
-0x9AB3=>0x5789,
-0x9AB4=>0x5793,
-0x9AB5=>0x57A0,
-0x9AB6=>0x57B3,
-0x9AB7=>0x57A4,
-0x9AB8=>0x57AA,
-0x9AB9=>0x57B0,
-0x9ABA=>0x57C3,
-0x9ABB=>0x57C6,
-0x9ABC=>0x57D4,
-0x9ABD=>0x57D2,
-0x9ABE=>0x57D3,
-0x9ABF=>0x580A,
-0x9AC0=>0x57D6,
-0x9AC1=>0x57E3,
-0x9AC2=>0x580B,
-0x9AC3=>0x5819,
-0x9AC4=>0x581D,
-0x9AC5=>0x5872,
-0x9AC6=>0x5821,
-0x9AC7=>0x5862,
-0x9AC8=>0x584B,
-0x9AC9=>0x5870,
-0x9ACA=>0x6BC0,
-0x9ACB=>0x5852,
-0x9ACC=>0x583D,
-0x9ACD=>0x5879,
-0x9ACE=>0x5885,
-0x9ACF=>0x58B9,
-0x9AD0=>0x589F,
-0x9AD1=>0x58AB,
-0x9AD2=>0x58BA,
-0x9AD3=>0x58DE,
-0x9AD4=>0x58BB,
-0x9AD5=>0x58B8,
-0x9AD6=>0x58AE,
-0x9AD7=>0x58C5,
-0x9AD8=>0x58D3,
-0x9AD9=>0x58D1,
-0x9ADA=>0x58D7,
-0x9ADB=>0x58D9,
-0x9ADC=>0x58D8,
-0x9ADD=>0x58E5,
-0x9ADE=>0x58DC,
-0x9ADF=>0x58E4,
-0x9AE0=>0x58DF,
-0x9AE1=>0x58EF,
-0x9AE2=>0x58FA,
-0x9AE3=>0x58F9,
-0x9AE4=>0x58FB,
-0x9AE5=>0x58FC,
-0x9AE6=>0x58FD,
-0x9AE7=>0x5902,
-0x9AE8=>0x590A,
-0x9AE9=>0x5910,
-0x9AEA=>0x591B,
-0x9AEB=>0x68A6,
-0x9AEC=>0x5925,
-0x9AED=>0x592C,
-0x9AEE=>0x592D,
-0x9AEF=>0x5932,
-0x9AF0=>0x5938,
-0x9AF1=>0x593E,
-0x9AF2=>0x7AD2,
-0x9AF3=>0x5955,
-0x9AF4=>0x5950,
-0x9AF5=>0x594E,
-0x9AF6=>0x595A,
-0x9AF7=>0x5958,
-0x9AF8=>0x5962,
-0x9AF9=>0x5960,
-0x9AFA=>0x5967,
-0x9AFB=>0x596C,
-0x9AFC=>0x5969,
-0x9B40=>0x5978,
-0x9B41=>0x5981,
-0x9B42=>0x599D,
-0x9B43=>0x4F5E,
-0x9B44=>0x4FAB,
-0x9B45=>0x59A3,
-0x9B46=>0x59B2,
-0x9B47=>0x59C6,
-0x9B48=>0x59E8,
-0x9B49=>0x59DC,
-0x9B4A=>0x598D,
-0x9B4B=>0x59D9,
-0x9B4C=>0x59DA,
-0x9B4D=>0x5A25,
-0x9B4E=>0x5A1F,
-0x9B4F=>0x5A11,
-0x9B50=>0x5A1C,
-0x9B51=>0x5A09,
-0x9B52=>0x5A1A,
-0x9B53=>0x5A40,
-0x9B54=>0x5A6C,
-0x9B55=>0x5A49,
-0x9B56=>0x5A35,
-0x9B57=>0x5A36,
-0x9B58=>0x5A62,
-0x9B59=>0x5A6A,
-0x9B5A=>0x5A9A,
-0x9B5B=>0x5ABC,
-0x9B5C=>0x5ABE,
-0x9B5D=>0x5ACB,
-0x9B5E=>0x5AC2,
-0x9B5F=>0x5ABD,
-0x9B60=>0x5AE3,
-0x9B61=>0x5AD7,
-0x9B62=>0x5AE6,
-0x9B63=>0x5AE9,
-0x9B64=>0x5AD6,
-0x9B65=>0x5AFA,
-0x9B66=>0x5AFB,
-0x9B67=>0x5B0C,
-0x9B68=>0x5B0B,
-0x9B69=>0x5B16,
-0x9B6A=>0x5B32,
-0x9B6B=>0x5AD0,
-0x9B6C=>0x5B2A,
-0x9B6D=>0x5B36,
-0x9B6E=>0x5B3E,
-0x9B6F=>0x5B43,
-0x9B70=>0x5B45,
-0x9B71=>0x5B40,
-0x9B72=>0x5B51,
-0x9B73=>0x5B55,
-0x9B74=>0x5B5A,
-0x9B75=>0x5B5B,
-0x9B76=>0x5B65,
-0x9B77=>0x5B69,
-0x9B78=>0x5B70,
-0x9B79=>0x5B73,
-0x9B7A=>0x5B75,
-0x9B7B=>0x5B78,
-0x9B7C=>0x6588,
-0x9B7D=>0x5B7A,
-0x9B7E=>0x5B80,
-0x9B80=>0x5B83,
-0x9B81=>0x5BA6,
-0x9B82=>0x5BB8,
-0x9B83=>0x5BC3,
-0x9B84=>0x5BC7,
-0x9B85=>0x5BC9,
-0x9B86=>0x5BD4,
-0x9B87=>0x5BD0,
-0x9B88=>0x5BE4,
-0x9B89=>0x5BE6,
-0x9B8A=>0x5BE2,
-0x9B8B=>0x5BDE,
-0x9B8C=>0x5BE5,
-0x9B8D=>0x5BEB,
-0x9B8E=>0x5BF0,
-0x9B8F=>0x5BF6,
-0x9B90=>0x5BF3,
-0x9B91=>0x5C05,
-0x9B92=>0x5C07,
-0x9B93=>0x5C08,
-0x9B94=>0x5C0D,
-0x9B95=>0x5C13,
-0x9B96=>0x5C20,
-0x9B97=>0x5C22,
-0x9B98=>0x5C28,
-0x9B99=>0x5C38,
-0x9B9A=>0x5C39,
-0x9B9B=>0x5C41,
-0x9B9C=>0x5C46,
-0x9B9D=>0x5C4E,
-0x9B9E=>0x5C53,
-0x9B9F=>0x5C50,
-0x9BA0=>0x5C4F,
-0x9BA1=>0x5B71,
-0x9BA2=>0x5C6C,
-0x9BA3=>0x5C6E,
-0x9BA4=>0x4E62,
-0x9BA5=>0x5C76,
-0x9BA6=>0x5C79,
-0x9BA7=>0x5C8C,
-0x9BA8=>0x5C91,
-0x9BA9=>0x5C94,
-0x9BAA=>0x599B,
-0x9BAB=>0x5CAB,
-0x9BAC=>0x5CBB,
-0x9BAD=>0x5CB6,
-0x9BAE=>0x5CBC,
-0x9BAF=>0x5CB7,
-0x9BB0=>0x5CC5,
-0x9BB1=>0x5CBE,
-0x9BB2=>0x5CC7,
-0x9BB3=>0x5CD9,
-0x9BB4=>0x5CE9,
-0x9BB5=>0x5CFD,
-0x9BB6=>0x5CFA,
-0x9BB7=>0x5CED,
-0x9BB8=>0x5D8C,
-0x9BB9=>0x5CEA,
-0x9BBA=>0x5D0B,
-0x9BBB=>0x5D15,
-0x9BBC=>0x5D17,
-0x9BBD=>0x5D5C,
-0x9BBE=>0x5D1F,
-0x9BBF=>0x5D1B,
-0x9BC0=>0x5D11,
-0x9BC1=>0x5D14,
-0x9BC2=>0x5D22,
-0x9BC3=>0x5D1A,
-0x9BC4=>0x5D19,
-0x9BC5=>0x5D18,
-0x9BC6=>0x5D4C,
-0x9BC7=>0x5D52,
-0x9BC8=>0x5D4E,
-0x9BC9=>0x5D4B,
-0x9BCA=>0x5D6C,
-0x9BCB=>0x5D73,
-0x9BCC=>0x5D76,
-0x9BCD=>0x5D87,
-0x9BCE=>0x5D84,
-0x9BCF=>0x5D82,
-0x9BD0=>0x5DA2,
-0x9BD1=>0x5D9D,
-0x9BD2=>0x5DAC,
-0x9BD3=>0x5DAE,
-0x9BD4=>0x5DBD,
-0x9BD5=>0x5D90,
-0x9BD6=>0x5DB7,
-0x9BD7=>0x5DBC,
-0x9BD8=>0x5DC9,
-0x9BD9=>0x5DCD,
-0x9BDA=>0x5DD3,
-0x9BDB=>0x5DD2,
-0x9BDC=>0x5DD6,
-0x9BDD=>0x5DDB,
-0x9BDE=>0x5DEB,
-0x9BDF=>0x5DF2,
-0x9BE0=>0x5DF5,
-0x9BE1=>0x5E0B,
-0x9BE2=>0x5E1A,
-0x9BE3=>0x5E19,
-0x9BE4=>0x5E11,
-0x9BE5=>0x5E1B,
-0x9BE6=>0x5E36,
-0x9BE7=>0x5E37,
-0x9BE8=>0x5E44,
-0x9BE9=>0x5E43,
-0x9BEA=>0x5E40,
-0x9BEB=>0x5E4E,
-0x9BEC=>0x5E57,
-0x9BED=>0x5E54,
-0x9BEE=>0x5E5F,
-0x9BEF=>0x5E62,
-0x9BF0=>0x5E64,
-0x9BF1=>0x5E47,
-0x9BF2=>0x5E75,
-0x9BF3=>0x5E76,
-0x9BF4=>0x5E7A,
-0x9BF5=>0x9EBC,
-0x9BF6=>0x5E7F,
-0x9BF7=>0x5EA0,
-0x9BF8=>0x5EC1,
-0x9BF9=>0x5EC2,
-0x9BFA=>0x5EC8,
-0x9BFB=>0x5ED0,
-0x9BFC=>0x5ECF,
-0x9C40=>0x5ED6,
-0x9C41=>0x5EE3,
-0x9C42=>0x5EDD,
-0x9C43=>0x5EDA,
-0x9C44=>0x5EDB,
-0x9C45=>0x5EE2,
-0x9C46=>0x5EE1,
-0x9C47=>0x5EE8,
-0x9C48=>0x5EE9,
-0x9C49=>0x5EEC,
-0x9C4A=>0x5EF1,
-0x9C4B=>0x5EF3,
-0x9C4C=>0x5EF0,
-0x9C4D=>0x5EF4,
-0x9C4E=>0x5EF8,
-0x9C4F=>0x5EFE,
-0x9C50=>0x5F03,
-0x9C51=>0x5F09,
-0x9C52=>0x5F5D,
-0x9C53=>0x5F5C,
-0x9C54=>0x5F0B,
-0x9C55=>0x5F11,
-0x9C56=>0x5F16,
-0x9C57=>0x5F29,
-0x9C58=>0x5F2D,
-0x9C59=>0x5F38,
-0x9C5A=>0x5F41,
-0x9C5B=>0x5F48,
-0x9C5C=>0x5F4C,
-0x9C5D=>0x5F4E,
-0x9C5E=>0x5F2F,
-0x9C5F=>0x5F51,
-0x9C60=>0x5F56,
-0x9C61=>0x5F57,
-0x9C62=>0x5F59,
-0x9C63=>0x5F61,
-0x9C64=>0x5F6D,
-0x9C65=>0x5F73,
-0x9C66=>0x5F77,
-0x9C67=>0x5F83,
-0x9C68=>0x5F82,
-0x9C69=>0x5F7F,
-0x9C6A=>0x5F8A,
-0x9C6B=>0x5F88,
-0x9C6C=>0x5F91,
-0x9C6D=>0x5F87,
-0x9C6E=>0x5F9E,
-0x9C6F=>0x5F99,
-0x9C70=>0x5F98,
-0x9C71=>0x5FA0,
-0x9C72=>0x5FA8,
-0x9C73=>0x5FAD,
-0x9C74=>0x5FBC,
-0x9C75=>0x5FD6,
-0x9C76=>0x5FFB,
-0x9C77=>0x5FE4,
-0x9C78=>0x5FF8,
-0x9C79=>0x5FF1,
-0x9C7A=>0x5FDD,
-0x9C7B=>0x60B3,
-0x9C7C=>0x5FFF,
-0x9C7D=>0x6021,
-0x9C7E=>0x6060,
-0x9C80=>0x6019,
-0x9C81=>0x6010,
-0x9C82=>0x6029,
-0x9C83=>0x600E,
-0x9C84=>0x6031,
-0x9C85=>0x601B,
-0x9C86=>0x6015,
-0x9C87=>0x602B,
-0x9C88=>0x6026,
-0x9C89=>0x600F,
-0x9C8A=>0x603A,
-0x9C8B=>0x605A,
-0x9C8C=>0x6041,
-0x9C8D=>0x606A,
-0x9C8E=>0x6077,
-0x9C8F=>0x605F,
-0x9C90=>0x604A,
-0x9C91=>0x6046,
-0x9C92=>0x604D,
-0x9C93=>0x6063,
-0x9C94=>0x6043,
-0x9C95=>0x6064,
-0x9C96=>0x6042,
-0x9C97=>0x606C,
-0x9C98=>0x606B,
-0x9C99=>0x6059,
-0x9C9A=>0x6081,
-0x9C9B=>0x608D,
-0x9C9C=>0x60E7,
-0x9C9D=>0x6083,
-0x9C9E=>0x609A,
-0x9C9F=>0x6084,
-0x9CA0=>0x609B,
-0x9CA1=>0x6096,
-0x9CA2=>0x6097,
-0x9CA3=>0x6092,
-0x9CA4=>0x60A7,
-0x9CA5=>0x608B,
-0x9CA6=>0x60E1,
-0x9CA7=>0x60B8,
-0x9CA8=>0x60E0,
-0x9CA9=>0x60D3,
-0x9CAA=>0x60B4,
-0x9CAB=>0x5FF0,
-0x9CAC=>0x60BD,
-0x9CAD=>0x60C6,
-0x9CAE=>0x60B5,
-0x9CAF=>0x60D8,
-0x9CB0=>0x614D,
-0x9CB1=>0x6115,
-0x9CB2=>0x6106,
-0x9CB3=>0x60F6,
-0x9CB4=>0x60F7,
-0x9CB5=>0x6100,
-0x9CB6=>0x60F4,
-0x9CB7=>0x60FA,
-0x9CB8=>0x6103,
-0x9CB9=>0x6121,
-0x9CBA=>0x60FB,
-0x9CBB=>0x60F1,
-0x9CBC=>0x610D,
-0x9CBD=>0x610E,
-0x9CBE=>0x6147,
-0x9CBF=>0x613E,
-0x9CC0=>0x6128,
-0x9CC1=>0x6127,
-0x9CC2=>0x614A,
-0x9CC3=>0x613F,
-0x9CC4=>0x613C,
-0x9CC5=>0x612C,
-0x9CC6=>0x6134,
-0x9CC7=>0x613D,
-0x9CC8=>0x6142,
-0x9CC9=>0x6144,
-0x9CCA=>0x6173,
-0x9CCB=>0x6177,
-0x9CCC=>0x6158,
-0x9CCD=>0x6159,
-0x9CCE=>0x615A,
-0x9CCF=>0x616B,
-0x9CD0=>0x6174,
-0x9CD1=>0x616F,
-0x9CD2=>0x6165,
-0x9CD3=>0x6171,
-0x9CD4=>0x615F,
-0x9CD5=>0x615D,
-0x9CD6=>0x6153,
-0x9CD7=>0x6175,
-0x9CD8=>0x6199,
-0x9CD9=>0x6196,
-0x9CDA=>0x6187,
-0x9CDB=>0x61AC,
-0x9CDC=>0x6194,
-0x9CDD=>0x619A,
-0x9CDE=>0x618A,
-0x9CDF=>0x6191,
-0x9CE0=>0x61AB,
-0x9CE1=>0x61AE,
-0x9CE2=>0x61CC,
-0x9CE3=>0x61CA,
-0x9CE4=>0x61C9,
-0x9CE5=>0x61F7,
-0x9CE6=>0x61C8,
-0x9CE7=>0x61C3,
-0x9CE8=>0x61C6,
-0x9CE9=>0x61BA,
-0x9CEA=>0x61CB,
-0x9CEB=>0x7F79,
-0x9CEC=>0x61CD,
-0x9CED=>0x61E6,
-0x9CEE=>0x61E3,
-0x9CEF=>0x61F6,
-0x9CF0=>0x61FA,
-0x9CF1=>0x61F4,
-0x9CF2=>0x61FF,
-0x9CF3=>0x61FD,
-0x9CF4=>0x61FC,
-0x9CF5=>0x61FE,
-0x9CF6=>0x6200,
-0x9CF7=>0x6208,
-0x9CF8=>0x6209,
-0x9CF9=>0x620D,
-0x9CFA=>0x620C,
-0x9CFB=>0x6214,
-0x9CFC=>0x621B,
-0x9D40=>0x621E,
-0x9D41=>0x6221,
-0x9D42=>0x622A,
-0x9D43=>0x622E,
-0x9D44=>0x6230,
-0x9D45=>0x6232,
-0x9D46=>0x6233,
-0x9D47=>0x6241,
-0x9D48=>0x624E,
-0x9D49=>0x625E,
-0x9D4A=>0x6263,
-0x9D4B=>0x625B,
-0x9D4C=>0x6260,
-0x9D4D=>0x6268,
-0x9D4E=>0x627C,
-0x9D4F=>0x6282,
-0x9D50=>0x6289,
-0x9D51=>0x627E,
-0x9D52=>0x6292,
-0x9D53=>0x6293,
-0x9D54=>0x6296,
-0x9D55=>0x62D4,
-0x9D56=>0x6283,
-0x9D57=>0x6294,
-0x9D58=>0x62D7,
-0x9D59=>0x62D1,
-0x9D5A=>0x62BB,
-0x9D5B=>0x62CF,
-0x9D5C=>0x62FF,
-0x9D5D=>0x62C6,
-0x9D5E=>0x64D4,
-0x9D5F=>0x62C8,
-0x9D60=>0x62DC,
-0x9D61=>0x62CC,
-0x9D62=>0x62CA,
-0x9D63=>0x62C2,
-0x9D64=>0x62C7,
-0x9D65=>0x629B,
-0x9D66=>0x62C9,
-0x9D67=>0x630C,
-0x9D68=>0x62EE,
-0x9D69=>0x62F1,
-0x9D6A=>0x6327,
-0x9D6B=>0x6302,
-0x9D6C=>0x6308,
-0x9D6D=>0x62EF,
-0x9D6E=>0x62F5,
-0x9D6F=>0x6350,
-0x9D70=>0x633E,
-0x9D71=>0x634D,
-0x9D72=>0x641C,
-0x9D73=>0x634F,
-0x9D74=>0x6396,
-0x9D75=>0x638E,
-0x9D76=>0x6380,
-0x9D77=>0x63AB,
-0x9D78=>0x6376,
-0x9D79=>0x63A3,
-0x9D7A=>0x638F,
-0x9D7B=>0x6389,
-0x9D7C=>0x639F,
-0x9D7D=>0x63B5,
-0x9D7E=>0x636B,
-0x9D80=>0x6369,
-0x9D81=>0x63BE,
-0x9D82=>0x63E9,
-0x9D83=>0x63C0,
-0x9D84=>0x63C6,
-0x9D85=>0x63E3,
-0x9D86=>0x63C9,
-0x9D87=>0x63D2,
-0x9D88=>0x63F6,
-0x9D89=>0x63C4,
-0x9D8A=>0x6416,
-0x9D8B=>0x6434,
-0x9D8C=>0x6406,
-0x9D8D=>0x6413,
-0x9D8E=>0x6426,
-0x9D8F=>0x6436,
-0x9D90=>0x651D,
-0x9D91=>0x6417,
-0x9D92=>0x6428,
-0x9D93=>0x640F,
-0x9D94=>0x6467,
-0x9D95=>0x646F,
-0x9D96=>0x6476,
-0x9D97=>0x644E,
-0x9D98=>0x652A,
-0x9D99=>0x6495,
-0x9D9A=>0x6493,
-0x9D9B=>0x64A5,
-0x9D9C=>0x64A9,
-0x9D9D=>0x6488,
-0x9D9E=>0x64BC,
-0x9D9F=>0x64DA,
-0x9DA0=>0x64D2,
-0x9DA1=>0x64C5,
-0x9DA2=>0x64C7,
-0x9DA3=>0x64BB,
-0x9DA4=>0x64D8,
-0x9DA5=>0x64C2,
-0x9DA6=>0x64F1,
-0x9DA7=>0x64E7,
-0x9DA8=>0x8209,
-0x9DA9=>0x64E0,
-0x9DAA=>0x64E1,
-0x9DAB=>0x62AC,
-0x9DAC=>0x64E3,
-0x9DAD=>0x64EF,
-0x9DAE=>0x652C,
-0x9DAF=>0x64F6,
-0x9DB0=>0x64F4,
-0x9DB1=>0x64F2,
-0x9DB2=>0x64FA,
-0x9DB3=>0x6500,
-0x9DB4=>0x64FD,
-0x9DB5=>0x6518,
-0x9DB6=>0x651C,
-0x9DB7=>0x6505,
-0x9DB8=>0x6524,
-0x9DB9=>0x6523,
-0x9DBA=>0x652B,
-0x9DBB=>0x6534,
-0x9DBC=>0x6535,
-0x9DBD=>0x6537,
-0x9DBE=>0x6536,
-0x9DBF=>0x6538,
-0x9DC0=>0x754B,
-0x9DC1=>0x6548,
-0x9DC2=>0x6556,
-0x9DC3=>0x6555,
-0x9DC4=>0x654D,
-0x9DC5=>0x6558,
-0x9DC6=>0x655E,
-0x9DC7=>0x655D,
-0x9DC8=>0x6572,
-0x9DC9=>0x6578,
-0x9DCA=>0x6582,
-0x9DCB=>0x6583,
-0x9DCC=>0x8B8A,
-0x9DCD=>0x659B,
-0x9DCE=>0x659F,
-0x9DCF=>0x65AB,
-0x9DD0=>0x65B7,
-0x9DD1=>0x65C3,
-0x9DD2=>0x65C6,
-0x9DD3=>0x65C1,
-0x9DD4=>0x65C4,
-0x9DD5=>0x65CC,
-0x9DD6=>0x65D2,
-0x9DD7=>0x65DB,
-0x9DD8=>0x65D9,
-0x9DD9=>0x65E0,
-0x9DDA=>0x65E1,
-0x9DDB=>0x65F1,
-0x9DDC=>0x6772,
-0x9DDD=>0x660A,
-0x9DDE=>0x6603,
-0x9DDF=>0x65FB,
-0x9DE0=>0x6773,
-0x9DE1=>0x6635,
-0x9DE2=>0x6636,
-0x9DE3=>0x6634,
-0x9DE4=>0x661C,
-0x9DE5=>0x664F,
-0x9DE6=>0x6644,
-0x9DE7=>0x6649,
-0x9DE8=>0x6641,
-0x9DE9=>0x665E,
-0x9DEA=>0x665D,
-0x9DEB=>0x6664,
-0x9DEC=>0x6667,
-0x9DED=>0x6668,
-0x9DEE=>0x665F,
-0x9DEF=>0x6662,
-0x9DF0=>0x6670,
-0x9DF1=>0x6683,
-0x9DF2=>0x6688,
-0x9DF3=>0x668E,
-0x9DF4=>0x6689,
-0x9DF5=>0x6684,
-0x9DF6=>0x6698,
-0x9DF7=>0x669D,
-0x9DF8=>0x66C1,
-0x9DF9=>0x66B9,
-0x9DFA=>0x66C9,
-0x9DFB=>0x66BE,
-0x9DFC=>0x66BC,
-0x9E40=>0x66C4,
-0x9E41=>0x66B8,
-0x9E42=>0x66D6,
-0x9E43=>0x66DA,
-0x9E44=>0x66E0,
-0x9E45=>0x663F,
-0x9E46=>0x66E6,
-0x9E47=>0x66E9,
-0x9E48=>0x66F0,
-0x9E49=>0x66F5,
-0x9E4A=>0x66F7,
-0x9E4B=>0x670F,
-0x9E4C=>0x6716,
-0x9E4D=>0x671E,
-0x9E4E=>0x6726,
-0x9E4F=>0x6727,
-0x9E50=>0x9738,
-0x9E51=>0x672E,
-0x9E52=>0x673F,
-0x9E53=>0x6736,
-0x9E54=>0x6741,
-0x9E55=>0x6738,
-0x9E56=>0x6737,
-0x9E57=>0x6746,
-0x9E58=>0x675E,
-0x9E59=>0x6760,
-0x9E5A=>0x6759,
-0x9E5B=>0x6763,
-0x9E5C=>0x6764,
-0x9E5D=>0x6789,
-0x9E5E=>0x6770,
-0x9E5F=>0x67A9,
-0x9E60=>0x677C,
-0x9E61=>0x676A,
-0x9E62=>0x678C,
-0x9E63=>0x678B,
-0x9E64=>0x67A6,
-0x9E65=>0x67A1,
-0x9E66=>0x6785,
-0x9E67=>0x67B7,
-0x9E68=>0x67EF,
-0x9E69=>0x67B4,
-0x9E6A=>0x67EC,
-0x9E6B=>0x67B3,
-0x9E6C=>0x67E9,
-0x9E6D=>0x67B8,
-0x9E6E=>0x67E4,
-0x9E6F=>0x67DE,
-0x9E70=>0x67DD,
-0x9E71=>0x67E2,
-0x9E72=>0x67EE,
-0x9E73=>0x67B9,
-0x9E74=>0x67CE,
-0x9E75=>0x67C6,
-0x9E76=>0x67E7,
-0x9E77=>0x6A9C,
-0x9E78=>0x681E,
-0x9E79=>0x6846,
-0x9E7A=>0x6829,
-0x9E7B=>0x6840,
-0x9E7C=>0x684D,
-0x9E7D=>0x6832,
-0x9E7E=>0x684E,
-0x9E80=>0x68B3,
-0x9E81=>0x682B,
-0x9E82=>0x6859,
-0x9E83=>0x6863,
-0x9E84=>0x6877,
-0x9E85=>0x687F,
-0x9E86=>0x689F,
-0x9E87=>0x688F,
-0x9E88=>0x68AD,
-0x9E89=>0x6894,
-0x9E8A=>0x689D,
-0x9E8B=>0x689B,
-0x9E8C=>0x6883,
-0x9E8D=>0x6AAE,
-0x9E8E=>0x68B9,
-0x9E8F=>0x6874,
-0x9E90=>0x68B5,
-0x9E91=>0x68A0,
-0x9E92=>0x68BA,
-0x9E93=>0x690F,
-0x9E94=>0x688D,
-0x9E95=>0x687E,
-0x9E96=>0x6901,
-0x9E97=>0x68CA,
-0x9E98=>0x6908,
-0x9E99=>0x68D8,
-0x9E9A=>0x6922,
-0x9E9B=>0x6926,
-0x9E9C=>0x68E1,
-0x9E9D=>0x690C,
-0x9E9E=>0x68CD,
-0x9E9F=>0x68D4,
-0x9EA0=>0x68E7,
-0x9EA1=>0x68D5,
-0x9EA2=>0x6936,
-0x9EA3=>0x6912,
-0x9EA4=>0x6904,
-0x9EA5=>0x68D7,
-0x9EA6=>0x68E3,
-0x9EA7=>0x6925,
-0x9EA8=>0x68F9,
-0x9EA9=>0x68E0,
-0x9EAA=>0x68EF,
-0x9EAB=>0x6928,
-0x9EAC=>0x692A,
-0x9EAD=>0x691A,
-0x9EAE=>0x6923,
-0x9EAF=>0x6921,
-0x9EB0=>0x68C6,
-0x9EB1=>0x6979,
-0x9EB2=>0x6977,
-0x9EB3=>0x695C,
-0x9EB4=>0x6978,
-0x9EB5=>0x696B,
-0x9EB6=>0x6954,
-0x9EB7=>0x697E,
-0x9EB8=>0x696E,
-0x9EB9=>0x6939,
-0x9EBA=>0x6974,
-0x9EBB=>0x693D,
-0x9EBC=>0x6959,
-0x9EBD=>0x6930,
-0x9EBE=>0x6961,
-0x9EBF=>0x695E,
-0x9EC0=>0x695D,
-0x9EC1=>0x6981,
-0x9EC2=>0x696A,
-0x9EC3=>0x69B2,
-0x9EC4=>0x69AE,
-0x9EC5=>0x69D0,
-0x9EC6=>0x69BF,
-0x9EC7=>0x69C1,
-0x9EC8=>0x69D3,
-0x9EC9=>0x69BE,
-0x9ECA=>0x69CE,
-0x9ECB=>0x5BE8,
-0x9ECC=>0x69CA,
-0x9ECD=>0x69DD,
-0x9ECE=>0x69BB,
-0x9ECF=>0x69C3,
-0x9ED0=>0x69A7,
-0x9ED1=>0x6A2E,
-0x9ED2=>0x6991,
-0x9ED3=>0x69A0,
-0x9ED4=>0x699C,
-0x9ED5=>0x6995,
-0x9ED6=>0x69B4,
-0x9ED7=>0x69DE,
-0x9ED8=>0x69E8,
-0x9ED9=>0x6A02,
-0x9EDA=>0x6A1B,
-0x9EDB=>0x69FF,
-0x9EDC=>0x6B0A,
-0x9EDD=>0x69F9,
-0x9EDE=>0x69F2,
-0x9EDF=>0x69E7,
-0x9EE0=>0x6A05,
-0x9EE1=>0x69B1,
-0x9EE2=>0x6A1E,
-0x9EE3=>0x69ED,
-0x9EE4=>0x6A14,
-0x9EE5=>0x69EB,
-0x9EE6=>0x6A0A,
-0x9EE7=>0x6A12,
-0x9EE8=>0x6AC1,
-0x9EE9=>0x6A23,
-0x9EEA=>0x6A13,
-0x9EEB=>0x6A44,
-0x9EEC=>0x6A0C,
-0x9EED=>0x6A72,
-0x9EEE=>0x6A36,
-0x9EEF=>0x6A78,
-0x9EF0=>0x6A47,
-0x9EF1=>0x6A62,
-0x9EF2=>0x6A59,
-0x9EF3=>0x6A66,
-0x9EF4=>0x6A48,
-0x9EF5=>0x6A38,
-0x9EF6=>0x6A22,
-0x9EF7=>0x6A90,
-0x9EF8=>0x6A8D,
-0x9EF9=>0x6AA0,
-0x9EFA=>0x6A84,
-0x9EFB=>0x6AA2,
-0x9EFC=>0x6AA3,
-0x9F40=>0x6A97,
-0x9F41=>0x8617,
-0x9F42=>0x6ABB,
-0x9F43=>0x6AC3,
-0x9F44=>0x6AC2,
-0x9F45=>0x6AB8,
-0x9F46=>0x6AB3,
-0x9F47=>0x6AAC,
-0x9F48=>0x6ADE,
-0x9F49=>0x6AD1,
-0x9F4A=>0x6ADF,
-0x9F4B=>0x6AAA,
-0x9F4C=>0x6ADA,
-0x9F4D=>0x6AEA,
-0x9F4E=>0x6AFB,
-0x9F4F=>0x6B05,
-0x9F50=>0x8616,
-0x9F51=>0x6AFA,
-0x9F52=>0x6B12,
-0x9F53=>0x6B16,
-0x9F54=>0x9B31,
-0x9F55=>0x6B1F,
-0x9F56=>0x6B38,
-0x9F57=>0x6B37,
-0x9F58=>0x76DC,
-0x9F59=>0x6B39,
-0x9F5A=>0x98EE,
-0x9F5B=>0x6B47,
-0x9F5C=>0x6B43,
-0x9F5D=>0x6B49,
-0x9F5E=>0x6B50,
-0x9F5F=>0x6B59,
-0x9F60=>0x6B54,
-0x9F61=>0x6B5B,
-0x9F62=>0x6B5F,
-0x9F63=>0x6B61,
-0x9F64=>0x6B78,
-0x9F65=>0x6B79,
-0x9F66=>0x6B7F,
-0x9F67=>0x6B80,
-0x9F68=>0x6B84,
-0x9F69=>0x6B83,
-0x9F6A=>0x6B8D,
-0x9F6B=>0x6B98,
-0x9F6C=>0x6B95,
-0x9F6D=>0x6B9E,
-0x9F6E=>0x6BA4,
-0x9F6F=>0x6BAA,
-0x9F70=>0x6BAB,
-0x9F71=>0x6BAF,
-0x9F72=>0x6BB2,
-0x9F73=>0x6BB1,
-0x9F74=>0x6BB3,
-0x9F75=>0x6BB7,
-0x9F76=>0x6BBC,
-0x9F77=>0x6BC6,
-0x9F78=>0x6BCB,
-0x9F79=>0x6BD3,
-0x9F7A=>0x6BDF,
-0x9F7B=>0x6BEC,
-0x9F7C=>0x6BEB,
-0x9F7D=>0x6BF3,
-0x9F7E=>0x6BEF,
-0x9F80=>0x9EBE,
-0x9F81=>0x6C08,
-0x9F82=>0x6C13,
-0x9F83=>0x6C14,
-0x9F84=>0x6C1B,
-0x9F85=>0x6C24,
-0x9F86=>0x6C23,
-0x9F87=>0x6C5E,
-0x9F88=>0x6C55,
-0x9F89=>0x6C62,
-0x9F8A=>0x6C6A,
-0x9F8B=>0x6C82,
-0x9F8C=>0x6C8D,
-0x9F8D=>0x6C9A,
-0x9F8E=>0x6C81,
-0x9F8F=>0x6C9B,
-0x9F90=>0x6C7E,
-0x9F91=>0x6C68,
-0x9F92=>0x6C73,
-0x9F93=>0x6C92,
-0x9F94=>0x6C90,
-0x9F95=>0x6CC4,
-0x9F96=>0x6CF1,
-0x9F97=>0x6CD3,
-0x9F98=>0x6CBD,
-0x9F99=>0x6CD7,
-0x9F9A=>0x6CC5,
-0x9F9B=>0x6CDD,
-0x9F9C=>0x6CAE,
-0x9F9D=>0x6CB1,
-0x9F9E=>0x6CBE,
-0x9F9F=>0x6CBA,
-0x9FA0=>0x6CDB,
-0x9FA1=>0x6CEF,
-0x9FA2=>0x6CD9,
-0x9FA3=>0x6CEA,
-0x9FA4=>0x6D1F,
-0x9FA5=>0x884D,
-0x9FA6=>0x6D36,
-0x9FA7=>0x6D2B,
-0x9FA8=>0x6D3D,
-0x9FA9=>0x6D38,
-0x9FAA=>0x6D19,
-0x9FAB=>0x6D35,
-0x9FAC=>0x6D33,
-0x9FAD=>0x6D12,
-0x9FAE=>0x6D0C,
-0x9FAF=>0x6D63,
-0x9FB0=>0x6D93,
-0x9FB1=>0x6D64,
-0x9FB2=>0x6D5A,
-0x9FB3=>0x6D79,
-0x9FB4=>0x6D59,
-0x9FB5=>0x6D8E,
-0x9FB6=>0x6D95,
-0x9FB7=>0x6FE4,
-0x9FB8=>0x6D85,
-0x9FB9=>0x6DF9,
-0x9FBA=>0x6E15,
-0x9FBB=>0x6E0A,
-0x9FBC=>0x6DB5,
-0x9FBD=>0x6DC7,
-0x9FBE=>0x6DE6,
-0x9FBF=>0x6DB8,
-0x9FC0=>0x6DC6,
-0x9FC1=>0x6DEC,
-0x9FC2=>0x6DDE,
-0x9FC3=>0x6DCC,
-0x9FC4=>0x6DE8,
-0x9FC5=>0x6DD2,
-0x9FC6=>0x6DC5,
-0x9FC7=>0x6DFA,
-0x9FC8=>0x6DD9,
-0x9FC9=>0x6DE4,
-0x9FCA=>0x6DD5,
-0x9FCB=>0x6DEA,
-0x9FCC=>0x6DEE,
-0x9FCD=>0x6E2D,
-0x9FCE=>0x6E6E,
-0x9FCF=>0x6E2E,
-0x9FD0=>0x6E19,
-0x9FD1=>0x6E72,
-0x9FD2=>0x6E5F,
-0x9FD3=>0x6E3E,
-0x9FD4=>0x6E23,
-0x9FD5=>0x6E6B,
-0x9FD6=>0x6E2B,
-0x9FD7=>0x6E76,
-0x9FD8=>0x6E4D,
-0x9FD9=>0x6E1F,
-0x9FDA=>0x6E43,
-0x9FDB=>0x6E3A,
-0x9FDC=>0x6E4E,
-0x9FDD=>0x6E24,
-0x9FDE=>0x6EFF,
-0x9FDF=>0x6E1D,
-0x9FE0=>0x6E38,
-0x9FE1=>0x6E82,
-0x9FE2=>0x6EAA,
-0x9FE3=>0x6E98,
-0x9FE4=>0x6EC9,
-0x9FE5=>0x6EB7,
-0x9FE6=>0x6ED3,
-0x9FE7=>0x6EBD,
-0x9FE8=>0x6EAF,
-0x9FE9=>0x6EC4,
-0x9FEA=>0x6EB2,
-0x9FEB=>0x6ED4,
-0x9FEC=>0x6ED5,
-0x9FED=>0x6E8F,
-0x9FEE=>0x6EA5,
-0x9FEF=>0x6EC2,
-0x9FF0=>0x6E9F,
-0x9FF1=>0x6F41,
-0x9FF2=>0x6F11,
-0x9FF3=>0x704C,
-0x9FF4=>0x6EEC,
-0x9FF5=>0x6EF8,
-0x9FF6=>0x6EFE,
-0x9FF7=>0x6F3F,
-0x9FF8=>0x6EF2,
-0x9FF9=>0x6F31,
-0x9FFA=>0x6EEF,
-0x9FFB=>0x6F32,
-0x9FFC=>0x6ECC,
-0xE040=>0x6F3E,
-0xE041=>0x6F13,
-0xE042=>0x6EF7,
-0xE043=>0x6F86,
-0xE044=>0x6F7A,
-0xE045=>0x6F78,
-0xE046=>0x6F81,
-0xE047=>0x6F80,
-0xE048=>0x6F6F,
-0xE049=>0x6F5B,
-0xE04A=>0x6FF3,
-0xE04B=>0x6F6D,
-0xE04C=>0x6F82,
-0xE04D=>0x6F7C,
-0xE04E=>0x6F58,
-0xE04F=>0x6F8E,
-0xE050=>0x6F91,
-0xE051=>0x6FC2,
-0xE052=>0x6F66,
-0xE053=>0x6FB3,
-0xE054=>0x6FA3,
-0xE055=>0x6FA1,
-0xE056=>0x6FA4,
-0xE057=>0x6FB9,
-0xE058=>0x6FC6,
-0xE059=>0x6FAA,
-0xE05A=>0x6FDF,
-0xE05B=>0x6FD5,
-0xE05C=>0x6FEC,
-0xE05D=>0x6FD4,
-0xE05E=>0x6FD8,
-0xE05F=>0x6FF1,
-0xE060=>0x6FEE,
-0xE061=>0x6FDB,
-0xE062=>0x7009,
-0xE063=>0x700B,
-0xE064=>0x6FFA,
-0xE065=>0x7011,
-0xE066=>0x7001,
-0xE067=>0x700F,
-0xE068=>0x6FFE,
-0xE069=>0x701B,
-0xE06A=>0x701A,
-0xE06B=>0x6F74,
-0xE06C=>0x701D,
-0xE06D=>0x7018,
-0xE06E=>0x701F,
-0xE06F=>0x7030,
-0xE070=>0x703E,
-0xE071=>0x7032,
-0xE072=>0x7051,
-0xE073=>0x7063,
-0xE074=>0x7099,
-0xE075=>0x7092,
-0xE076=>0x70AF,
-0xE077=>0x70F1,
-0xE078=>0x70AC,
-0xE079=>0x70B8,
-0xE07A=>0x70B3,
-0xE07B=>0x70AE,
-0xE07C=>0x70DF,
-0xE07D=>0x70CB,
-0xE07E=>0x70DD,
-0xE080=>0x70D9,
-0xE081=>0x7109,
-0xE082=>0x70FD,
-0xE083=>0x711C,
-0xE084=>0x7119,
-0xE085=>0x7165,
-0xE086=>0x7155,
-0xE087=>0x7188,
-0xE088=>0x7166,
-0xE089=>0x7162,
-0xE08A=>0x714C,
-0xE08B=>0x7156,
-0xE08C=>0x716C,
-0xE08D=>0x718F,
-0xE08E=>0x71FB,
-0xE08F=>0x7184,
-0xE090=>0x7195,
-0xE091=>0x71A8,
-0xE092=>0x71AC,
-0xE093=>0x71D7,
-0xE094=>0x71B9,
-0xE095=>0x71BE,
-0xE096=>0x71D2,
-0xE097=>0x71C9,
-0xE098=>0x71D4,
-0xE099=>0x71CE,
-0xE09A=>0x71E0,
-0xE09B=>0x71EC,
-0xE09C=>0x71E7,
-0xE09D=>0x71F5,
-0xE09E=>0x71FC,
-0xE09F=>0x71F9,
-0xE0A0=>0x71FF,
-0xE0A1=>0x720D,
-0xE0A2=>0x7210,
-0xE0A3=>0x721B,
-0xE0A4=>0x7228,
-0xE0A5=>0x722D,
-0xE0A6=>0x722C,
-0xE0A7=>0x7230,
-0xE0A8=>0x7232,
-0xE0A9=>0x723B,
-0xE0AA=>0x723C,
-0xE0AB=>0x723F,
-0xE0AC=>0x7240,
-0xE0AD=>0x7246,
-0xE0AE=>0x724B,
-0xE0AF=>0x7258,
-0xE0B0=>0x7274,
-0xE0B1=>0x727E,
-0xE0B2=>0x7282,
-0xE0B3=>0x7281,
-0xE0B4=>0x7287,
-0xE0B5=>0x7292,
-0xE0B6=>0x7296,
-0xE0B7=>0x72A2,
-0xE0B8=>0x72A7,
-0xE0B9=>0x72B9,
-0xE0BA=>0x72B2,
-0xE0BB=>0x72C3,
-0xE0BC=>0x72C6,
-0xE0BD=>0x72C4,
-0xE0BE=>0x72CE,
-0xE0BF=>0x72D2,
-0xE0C0=>0x72E2,
-0xE0C1=>0x72E0,
-0xE0C2=>0x72E1,
-0xE0C3=>0x72F9,
-0xE0C4=>0x72F7,
-0xE0C5=>0x500F,
-0xE0C6=>0x7317,
-0xE0C7=>0x730A,
-0xE0C8=>0x731C,
-0xE0C9=>0x7316,
-0xE0CA=>0x731D,
-0xE0CB=>0x7334,
-0xE0CC=>0x732F,
-0xE0CD=>0x7329,
-0xE0CE=>0x7325,
-0xE0CF=>0x733E,
-0xE0D0=>0x734E,
-0xE0D1=>0x734F,
-0xE0D2=>0x9ED8,
-0xE0D3=>0x7357,
-0xE0D4=>0x736A,
-0xE0D5=>0x7368,
-0xE0D6=>0x7370,
-0xE0D7=>0x7378,
-0xE0D8=>0x7375,
-0xE0D9=>0x737B,
-0xE0DA=>0x737A,
-0xE0DB=>0x73C8,
-0xE0DC=>0x73B3,
-0xE0DD=>0x73CE,
-0xE0DE=>0x73BB,
-0xE0DF=>0x73C0,
-0xE0E0=>0x73E5,
-0xE0E1=>0x73EE,
-0xE0E2=>0x73DE,
-0xE0E3=>0x74A2,
-0xE0E4=>0x7405,
-0xE0E5=>0x746F,
-0xE0E6=>0x7425,
-0xE0E7=>0x73F8,
-0xE0E8=>0x7432,
-0xE0E9=>0x743A,
-0xE0EA=>0x7455,
-0xE0EB=>0x743F,
-0xE0EC=>0x745F,
-0xE0ED=>0x7459,
-0xE0EE=>0x7441,
-0xE0EF=>0x745C,
-0xE0F0=>0x7469,
-0xE0F1=>0x7470,
-0xE0F2=>0x7463,
-0xE0F3=>0x746A,
-0xE0F4=>0x7476,
-0xE0F5=>0x747E,
-0xE0F6=>0x748B,
-0xE0F7=>0x749E,
-0xE0F8=>0x74A7,
-0xE0F9=>0x74CA,
-0xE0FA=>0x74CF,
-0xE0FB=>0x74D4,
-0xE0FC=>0x73F1,
-0xE140=>0x74E0,
-0xE141=>0x74E3,
-0xE142=>0x74E7,
-0xE143=>0x74E9,
-0xE144=>0x74EE,
-0xE145=>0x74F2,
-0xE146=>0x74F0,
-0xE147=>0x74F1,
-0xE148=>0x74F8,
-0xE149=>0x74F7,
-0xE14A=>0x7504,
-0xE14B=>0x7503,
-0xE14C=>0x7505,
-0xE14D=>0x750C,
-0xE14E=>0x750E,
-0xE14F=>0x750D,
-0xE150=>0x7515,
-0xE151=>0x7513,
-0xE152=>0x751E,
-0xE153=>0x7526,
-0xE154=>0x752C,
-0xE155=>0x753C,
-0xE156=>0x7544,
-0xE157=>0x754D,
-0xE158=>0x754A,
-0xE159=>0x7549,
-0xE15A=>0x755B,
-0xE15B=>0x7546,
-0xE15C=>0x755A,
-0xE15D=>0x7569,
-0xE15E=>0x7564,
-0xE15F=>0x7567,
-0xE160=>0x756B,
-0xE161=>0x756D,
-0xE162=>0x7578,
-0xE163=>0x7576,
-0xE164=>0x7586,
-0xE165=>0x7587,
-0xE166=>0x7574,
-0xE167=>0x758A,
-0xE168=>0x7589,
-0xE169=>0x7582,
-0xE16A=>0x7594,
-0xE16B=>0x759A,
-0xE16C=>0x759D,
-0xE16D=>0x75A5,
-0xE16E=>0x75A3,
-0xE16F=>0x75C2,
-0xE170=>0x75B3,
-0xE171=>0x75C3,
-0xE172=>0x75B5,
-0xE173=>0x75BD,
-0xE174=>0x75B8,
-0xE175=>0x75BC,
-0xE176=>0x75B1,
-0xE177=>0x75CD,
-0xE178=>0x75CA,
-0xE179=>0x75D2,
-0xE17A=>0x75D9,
-0xE17B=>0x75E3,
-0xE17C=>0x75DE,
-0xE17D=>0x75FE,
-0xE17E=>0x75FF,
-0xE180=>0x75FC,
-0xE181=>0x7601,
-0xE182=>0x75F0,
-0xE183=>0x75FA,
-0xE184=>0x75F2,
-0xE185=>0x75F3,
-0xE186=>0x760B,
-0xE187=>0x760D,
-0xE188=>0x7609,
-0xE189=>0x761F,
-0xE18A=>0x7627,
-0xE18B=>0x7620,
-0xE18C=>0x7621,
-0xE18D=>0x7622,
-0xE18E=>0x7624,
-0xE18F=>0x7634,
-0xE190=>0x7630,
-0xE191=>0x763B,
-0xE192=>0x7647,
-0xE193=>0x7648,
-0xE194=>0x7646,
-0xE195=>0x765C,
-0xE196=>0x7658,
-0xE197=>0x7661,
-0xE198=>0x7662,
-0xE199=>0x7668,
-0xE19A=>0x7669,
-0xE19B=>0x766A,
-0xE19C=>0x7667,
-0xE19D=>0x766C,
-0xE19E=>0x7670,
-0xE19F=>0x7672,
-0xE1A0=>0x7676,
-0xE1A1=>0x7678,
-0xE1A2=>0x767C,
-0xE1A3=>0x7680,
-0xE1A4=>0x7683,
-0xE1A5=>0x7688,
-0xE1A6=>0x768B,
-0xE1A7=>0x768E,
-0xE1A8=>0x7696,
-0xE1A9=>0x7693,
-0xE1AA=>0x7699,
-0xE1AB=>0x769A,
-0xE1AC=>0x76B0,
-0xE1AD=>0x76B4,
-0xE1AE=>0x76B8,
-0xE1AF=>0x76B9,
-0xE1B0=>0x76BA,
-0xE1B1=>0x76C2,
-0xE1B2=>0x76CD,
-0xE1B3=>0x76D6,
-0xE1B4=>0x76D2,
-0xE1B5=>0x76DE,
-0xE1B6=>0x76E1,
-0xE1B7=>0x76E5,
-0xE1B8=>0x76E7,
-0xE1B9=>0x76EA,
-0xE1BA=>0x862F,
-0xE1BB=>0x76FB,
-0xE1BC=>0x7708,
-0xE1BD=>0x7707,
-0xE1BE=>0x7704,
-0xE1BF=>0x7729,
-0xE1C0=>0x7724,
-0xE1C1=>0x771E,
-0xE1C2=>0x7725,
-0xE1C3=>0x7726,
-0xE1C4=>0x771B,
-0xE1C5=>0x7737,
-0xE1C6=>0x7738,
-0xE1C7=>0x7747,
-0xE1C8=>0x775A,
-0xE1C9=>0x7768,
-0xE1CA=>0x776B,
-0xE1CB=>0x775B,
-0xE1CC=>0x7765,
-0xE1CD=>0x777F,
-0xE1CE=>0x777E,
-0xE1CF=>0x7779,
-0xE1D0=>0x778E,
-0xE1D1=>0x778B,
-0xE1D2=>0x7791,
-0xE1D3=>0x77A0,
-0xE1D4=>0x779E,
-0xE1D5=>0x77B0,
-0xE1D6=>0x77B6,
-0xE1D7=>0x77B9,
-0xE1D8=>0x77BF,
-0xE1D9=>0x77BC,
-0xE1DA=>0x77BD,
-0xE1DB=>0x77BB,
-0xE1DC=>0x77C7,
-0xE1DD=>0x77CD,
-0xE1DE=>0x77D7,
-0xE1DF=>0x77DA,
-0xE1E0=>0x77DC,
-0xE1E1=>0x77E3,
-0xE1E2=>0x77EE,
-0xE1E3=>0x77FC,
-0xE1E4=>0x780C,
-0xE1E5=>0x7812,
-0xE1E6=>0x7926,
-0xE1E7=>0x7820,
-0xE1E8=>0x792A,
-0xE1E9=>0x7845,
-0xE1EA=>0x788E,
-0xE1EB=>0x7874,
-0xE1EC=>0x7886,
-0xE1ED=>0x787C,
-0xE1EE=>0x789A,
-0xE1EF=>0x788C,
-0xE1F0=>0x78A3,
-0xE1F1=>0x78B5,
-0xE1F2=>0x78AA,
-0xE1F3=>0x78AF,
-0xE1F4=>0x78D1,
-0xE1F5=>0x78C6,
-0xE1F6=>0x78CB,
-0xE1F7=>0x78D4,
-0xE1F8=>0x78BE,
-0xE1F9=>0x78BC,
-0xE1FA=>0x78C5,
-0xE1FB=>0x78CA,
-0xE1FC=>0x78EC,
-0xE240=>0x78E7,
-0xE241=>0x78DA,
-0xE242=>0x78FD,
-0xE243=>0x78F4,
-0xE244=>0x7907,
-0xE245=>0x7912,
-0xE246=>0x7911,
-0xE247=>0x7919,
-0xE248=>0x792C,
-0xE249=>0x792B,
-0xE24A=>0x7940,
-0xE24B=>0x7960,
-0xE24C=>0x7957,
-0xE24D=>0x795F,
-0xE24E=>0x795A,
-0xE24F=>0x7955,
-0xE250=>0x7953,
-0xE251=>0x797A,
-0xE252=>0x797F,
-0xE253=>0x798A,
-0xE254=>0x799D,
-0xE255=>0x79A7,
-0xE256=>0x9F4B,
-0xE257=>0x79AA,
-0xE258=>0x79AE,
-0xE259=>0x79B3,
-0xE25A=>0x79B9,
-0xE25B=>0x79BA,
-0xE25C=>0x79C9,
-0xE25D=>0x79D5,
-0xE25E=>0x79E7,
-0xE25F=>0x79EC,
-0xE260=>0x79E1,
-0xE261=>0x79E3,
-0xE262=>0x7A08,
-0xE263=>0x7A0D,
-0xE264=>0x7A18,
-0xE265=>0x7A19,
-0xE266=>0x7A20,
-0xE267=>0x7A1F,
-0xE268=>0x7980,
-0xE269=>0x7A31,
-0xE26A=>0x7A3B,
-0xE26B=>0x7A3E,
-0xE26C=>0x7A37,
-0xE26D=>0x7A43,
-0xE26E=>0x7A57,
-0xE26F=>0x7A49,
-0xE270=>0x7A61,
-0xE271=>0x7A62,
-0xE272=>0x7A69,
-0xE273=>0x9F9D,
-0xE274=>0x7A70,
-0xE275=>0x7A79,
-0xE276=>0x7A7D,
-0xE277=>0x7A88,
-0xE278=>0x7A97,
-0xE279=>0x7A95,
-0xE27A=>0x7A98,
-0xE27B=>0x7A96,
-0xE27C=>0x7AA9,
-0xE27D=>0x7AC8,
-0xE27E=>0x7AB0,
-0xE280=>0x7AB6,
-0xE281=>0x7AC5,
-0xE282=>0x7AC4,
-0xE283=>0x7ABF,
-0xE284=>0x9083,
-0xE285=>0x7AC7,
-0xE286=>0x7ACA,
-0xE287=>0x7ACD,
-0xE288=>0x7ACF,
-0xE289=>0x7AD5,
-0xE28A=>0x7AD3,
-0xE28B=>0x7AD9,
-0xE28C=>0x7ADA,
-0xE28D=>0x7ADD,
-0xE28E=>0x7AE1,
-0xE28F=>0x7AE2,
-0xE290=>0x7AE6,
-0xE291=>0x7AED,
-0xE292=>0x7AF0,
-0xE293=>0x7B02,
-0xE294=>0x7B0F,
-0xE295=>0x7B0A,
-0xE296=>0x7B06,
-0xE297=>0x7B33,
-0xE298=>0x7B18,
-0xE299=>0x7B19,
-0xE29A=>0x7B1E,
-0xE29B=>0x7B35,
-0xE29C=>0x7B28,
-0xE29D=>0x7B36,
-0xE29E=>0x7B50,
-0xE29F=>0x7B7A,
-0xE2A0=>0x7B04,
-0xE2A1=>0x7B4D,
-0xE2A2=>0x7B0B,
-0xE2A3=>0x7B4C,
-0xE2A4=>0x7B45,
-0xE2A5=>0x7B75,
-0xE2A6=>0x7B65,
-0xE2A7=>0x7B74,
-0xE2A8=>0x7B67,
-0xE2A9=>0x7B70,
-0xE2AA=>0x7B71,
-0xE2AB=>0x7B6C,
-0xE2AC=>0x7B6E,
-0xE2AD=>0x7B9D,
-0xE2AE=>0x7B98,
-0xE2AF=>0x7B9F,
-0xE2B0=>0x7B8D,
-0xE2B1=>0x7B9C,
-0xE2B2=>0x7B9A,
-0xE2B3=>0x7B8B,
-0xE2B4=>0x7B92,
-0xE2B5=>0x7B8F,
-0xE2B6=>0x7B5D,
-0xE2B7=>0x7B99,
-0xE2B8=>0x7BCB,
-0xE2B9=>0x7BC1,
-0xE2BA=>0x7BCC,
-0xE2BB=>0x7BCF,
-0xE2BC=>0x7BB4,
-0xE2BD=>0x7BC6,
-0xE2BE=>0x7BDD,
-0xE2BF=>0x7BE9,
-0xE2C0=>0x7C11,
-0xE2C1=>0x7C14,
-0xE2C2=>0x7BE6,
-0xE2C3=>0x7BE5,
-0xE2C4=>0x7C60,
-0xE2C5=>0x7C00,
-0xE2C6=>0x7C07,
-0xE2C7=>0x7C13,
-0xE2C8=>0x7BF3,
-0xE2C9=>0x7BF7,
-0xE2CA=>0x7C17,
-0xE2CB=>0x7C0D,
-0xE2CC=>0x7BF6,
-0xE2CD=>0x7C23,
-0xE2CE=>0x7C27,
-0xE2CF=>0x7C2A,
-0xE2D0=>0x7C1F,
-0xE2D1=>0x7C37,
-0xE2D2=>0x7C2B,
-0xE2D3=>0x7C3D,
-0xE2D4=>0x7C4C,
-0xE2D5=>0x7C43,
-0xE2D6=>0x7C54,
-0xE2D7=>0x7C4F,
-0xE2D8=>0x7C40,
-0xE2D9=>0x7C50,
-0xE2DA=>0x7C58,
-0xE2DB=>0x7C5F,
-0xE2DC=>0x7C64,
-0xE2DD=>0x7C56,
-0xE2DE=>0x7C65,
-0xE2DF=>0x7C6C,
-0xE2E0=>0x7C75,
-0xE2E1=>0x7C83,
-0xE2E2=>0x7C90,
-0xE2E3=>0x7CA4,
-0xE2E4=>0x7CAD,
-0xE2E5=>0x7CA2,
-0xE2E6=>0x7CAB,
-0xE2E7=>0x7CA1,
-0xE2E8=>0x7CA8,
-0xE2E9=>0x7CB3,
-0xE2EA=>0x7CB2,
-0xE2EB=>0x7CB1,
-0xE2EC=>0x7CAE,
-0xE2ED=>0x7CB9,
-0xE2EE=>0x7CBD,
-0xE2EF=>0x7CC0,
-0xE2F0=>0x7CC5,
-0xE2F1=>0x7CC2,
-0xE2F2=>0x7CD8,
-0xE2F3=>0x7CD2,
-0xE2F4=>0x7CDC,
-0xE2F5=>0x7CE2,
-0xE2F6=>0x9B3B,
-0xE2F7=>0x7CEF,
-0xE2F8=>0x7CF2,
-0xE2F9=>0x7CF4,
-0xE2FA=>0x7CF6,
-0xE2FB=>0x7CFA,
-0xE2FC=>0x7D06,
-0xE340=>0x7D02,
-0xE341=>0x7D1C,
-0xE342=>0x7D15,
-0xE343=>0x7D0A,
-0xE344=>0x7D45,
-0xE345=>0x7D4B,
-0xE346=>0x7D2E,
-0xE347=>0x7D32,
-0xE348=>0x7D3F,
-0xE349=>0x7D35,
-0xE34A=>0x7D46,
-0xE34B=>0x7D73,
-0xE34C=>0x7D56,
-0xE34D=>0x7D4E,
-0xE34E=>0x7D72,
-0xE34F=>0x7D68,
-0xE350=>0x7D6E,
-0xE351=>0x7D4F,
-0xE352=>0x7D63,
-0xE353=>0x7D93,
-0xE354=>0x7D89,
-0xE355=>0x7D5B,
-0xE356=>0x7D8F,
-0xE357=>0x7D7D,
-0xE358=>0x7D9B,
-0xE359=>0x7DBA,
-0xE35A=>0x7DAE,
-0xE35B=>0x7DA3,
-0xE35C=>0x7DB5,
-0xE35D=>0x7DC7,
-0xE35E=>0x7DBD,
-0xE35F=>0x7DAB,
-0xE360=>0x7E3D,
-0xE361=>0x7DA2,
-0xE362=>0x7DAF,
-0xE363=>0x7DDC,
-0xE364=>0x7DB8,
-0xE365=>0x7D9F,
-0xE366=>0x7DB0,
-0xE367=>0x7DD8,
-0xE368=>0x7DDD,
-0xE369=>0x7DE4,
-0xE36A=>0x7DDE,
-0xE36B=>0x7DFB,
-0xE36C=>0x7DF2,
-0xE36D=>0x7DE1,
-0xE36E=>0x7E05,
-0xE36F=>0x7E0A,
-0xE370=>0x7E23,
-0xE371=>0x7E21,
-0xE372=>0x7E12,
-0xE373=>0x7E31,
-0xE374=>0x7E1F,
-0xE375=>0x7E09,
-0xE376=>0x7E0B,
-0xE377=>0x7E22,
-0xE378=>0x7E46,
-0xE379=>0x7E66,
-0xE37A=>0x7E3B,
-0xE37B=>0x7E35,
-0xE37C=>0x7E39,
-0xE37D=>0x7E43,
-0xE37E=>0x7E37,
-0xE380=>0x7E32,
-0xE381=>0x7E3A,
-0xE382=>0x7E67,
-0xE383=>0x7E5D,
-0xE384=>0x7E56,
-0xE385=>0x7E5E,
-0xE386=>0x7E59,
-0xE387=>0x7E5A,
-0xE388=>0x7E79,
-0xE389=>0x7E6A,
-0xE38A=>0x7E69,
-0xE38B=>0x7E7C,
-0xE38C=>0x7E7B,
-0xE38D=>0x7E83,
-0xE38E=>0x7DD5,
-0xE38F=>0x7E7D,
-0xE390=>0x8FAE,
-0xE391=>0x7E7F,
-0xE392=>0x7E88,
-0xE393=>0x7E89,
-0xE394=>0x7E8C,
-0xE395=>0x7E92,
-0xE396=>0x7E90,
-0xE397=>0x7E93,
-0xE398=>0x7E94,
-0xE399=>0x7E96,
-0xE39A=>0x7E8E,
-0xE39B=>0x7E9B,
-0xE39C=>0x7E9C,
-0xE39D=>0x7F38,
-0xE39E=>0x7F3A,
-0xE39F=>0x7F45,
-0xE3A0=>0x7F4C,
-0xE3A1=>0x7F4D,
-0xE3A2=>0x7F4E,
-0xE3A3=>0x7F50,
-0xE3A4=>0x7F51,
-0xE3A5=>0x7F55,
-0xE3A6=>0x7F54,
-0xE3A7=>0x7F58,
-0xE3A8=>0x7F5F,
-0xE3A9=>0x7F60,
-0xE3AA=>0x7F68,
-0xE3AB=>0x7F69,
-0xE3AC=>0x7F67,
-0xE3AD=>0x7F78,
-0xE3AE=>0x7F82,
-0xE3AF=>0x7F86,
-0xE3B0=>0x7F83,
-0xE3B1=>0x7F88,
-0xE3B2=>0x7F87,
-0xE3B3=>0x7F8C,
-0xE3B4=>0x7F94,
-0xE3B5=>0x7F9E,
-0xE3B6=>0x7F9D,
-0xE3B7=>0x7F9A,
-0xE3B8=>0x7FA3,
-0xE3B9=>0x7FAF,
-0xE3BA=>0x7FB2,
-0xE3BB=>0x7FB9,
-0xE3BC=>0x7FAE,
-0xE3BD=>0x7FB6,
-0xE3BE=>0x7FB8,
-0xE3BF=>0x8B71,
-0xE3C0=>0x7FC5,
-0xE3C1=>0x7FC6,
-0xE3C2=>0x7FCA,
-0xE3C3=>0x7FD5,
-0xE3C4=>0x7FD4,
-0xE3C5=>0x7FE1,
-0xE3C6=>0x7FE6,
-0xE3C7=>0x7FE9,
-0xE3C8=>0x7FF3,
-0xE3C9=>0x7FF9,
-0xE3CA=>0x98DC,
-0xE3CB=>0x8006,
-0xE3CC=>0x8004,
-0xE3CD=>0x800B,
-0xE3CE=>0x8012,
-0xE3CF=>0x8018,
-0xE3D0=>0x8019,
-0xE3D1=>0x801C,
-0xE3D2=>0x8021,
-0xE3D3=>0x8028,
-0xE3D4=>0x803F,
-0xE3D5=>0x803B,
-0xE3D6=>0x804A,
-0xE3D7=>0x8046,
-0xE3D8=>0x8052,
-0xE3D9=>0x8058,
-0xE3DA=>0x805A,
-0xE3DB=>0x805F,
-0xE3DC=>0x8062,
-0xE3DD=>0x8068,
-0xE3DE=>0x8073,
-0xE3DF=>0x8072,
-0xE3E0=>0x8070,
-0xE3E1=>0x8076,
-0xE3E2=>0x8079,
-0xE3E3=>0x807D,
-0xE3E4=>0x807F,
-0xE3E5=>0x8084,
-0xE3E6=>0x8086,
-0xE3E7=>0x8085,
-0xE3E8=>0x809B,
-0xE3E9=>0x8093,
-0xE3EA=>0x809A,
-0xE3EB=>0x80AD,
-0xE3EC=>0x5190,
-0xE3ED=>0x80AC,
-0xE3EE=>0x80DB,
-0xE3EF=>0x80E5,
-0xE3F0=>0x80D9,
-0xE3F1=>0x80DD,
-0xE3F2=>0x80C4,
-0xE3F3=>0x80DA,
-0xE3F4=>0x80D6,
-0xE3F5=>0x8109,
-0xE3F6=>0x80EF,
-0xE3F7=>0x80F1,
-0xE3F8=>0x811B,
-0xE3F9=>0x8129,
-0xE3FA=>0x8123,
-0xE3FB=>0x812F,
-0xE3FC=>0x814B,
-0xE440=>0x968B,
-0xE441=>0x8146,
-0xE442=>0x813E,
-0xE443=>0x8153,
-0xE444=>0x8151,
-0xE445=>0x80FC,
-0xE446=>0x8171,
-0xE447=>0x816E,
-0xE448=>0x8165,
-0xE449=>0x8166,
-0xE44A=>0x8174,
-0xE44B=>0x8183,
-0xE44C=>0x8188,
-0xE44D=>0x818A,
-0xE44E=>0x8180,
-0xE44F=>0x8182,
-0xE450=>0x81A0,
-0xE451=>0x8195,
-0xE452=>0x81A4,
-0xE453=>0x81A3,
-0xE454=>0x815F,
-0xE455=>0x8193,
-0xE456=>0x81A9,
-0xE457=>0x81B0,
-0xE458=>0x81B5,
-0xE459=>0x81BE,
-0xE45A=>0x81B8,
-0xE45B=>0x81BD,
-0xE45C=>0x81C0,
-0xE45D=>0x81C2,
-0xE45E=>0x81BA,
-0xE45F=>0x81C9,
-0xE460=>0x81CD,
-0xE461=>0x81D1,
-0xE462=>0x81D9,
-0xE463=>0x81D8,
-0xE464=>0x81C8,
-0xE465=>0x81DA,
-0xE466=>0x81DF,
-0xE467=>0x81E0,
-0xE468=>0x81E7,
-0xE469=>0x81FA,
-0xE46A=>0x81FB,
-0xE46B=>0x81FE,
-0xE46C=>0x8201,
-0xE46D=>0x8202,
-0xE46E=>0x8205,
-0xE46F=>0x8207,
-0xE470=>0x820A,
-0xE471=>0x820D,
-0xE472=>0x8210,
-0xE473=>0x8216,
-0xE474=>0x8229,
-0xE475=>0x822B,
-0xE476=>0x8238,
-0xE477=>0x8233,
-0xE478=>0x8240,
-0xE479=>0x8259,
-0xE47A=>0x8258,
-0xE47B=>0x825D,
-0xE47C=>0x825A,
-0xE47D=>0x825F,
-0xE47E=>0x8264,
-0xE480=>0x8262,
-0xE481=>0x8268,
-0xE482=>0x826A,
-0xE483=>0x826B,
-0xE484=>0x822E,
-0xE485=>0x8271,
-0xE486=>0x8277,
-0xE487=>0x8278,
-0xE488=>0x827E,
-0xE489=>0x828D,
-0xE48A=>0x8292,
-0xE48B=>0x82AB,
-0xE48C=>0x829F,
-0xE48D=>0x82BB,
-0xE48E=>0x82AC,
-0xE48F=>0x82E1,
-0xE490=>0x82E3,
-0xE491=>0x82DF,
-0xE492=>0x82D2,
-0xE493=>0x82F4,
-0xE494=>0x82F3,
-0xE495=>0x82FA,
-0xE496=>0x8393,
-0xE497=>0x8303,
-0xE498=>0x82FB,
-0xE499=>0x82F9,
-0xE49A=>0x82DE,
-0xE49B=>0x8306,
-0xE49C=>0x82DC,
-0xE49D=>0x8309,
-0xE49E=>0x82D9,
-0xE49F=>0x8335,
-0xE4A0=>0x8334,
-0xE4A1=>0x8316,
-0xE4A2=>0x8332,
-0xE4A3=>0x8331,
-0xE4A4=>0x8340,
-0xE4A5=>0x8339,
-0xE4A6=>0x8350,
-0xE4A7=>0x8345,
-0xE4A8=>0x832F,
-0xE4A9=>0x832B,
-0xE4AA=>0x8317,
-0xE4AB=>0x8318,
-0xE4AC=>0x8385,
-0xE4AD=>0x839A,
-0xE4AE=>0x83AA,
-0xE4AF=>0x839F,
-0xE4B0=>0x83A2,
-0xE4B1=>0x8396,
-0xE4B2=>0x8323,
-0xE4B3=>0x838E,
-0xE4B4=>0x8387,
-0xE4B5=>0x838A,
-0xE4B6=>0x837C,
-0xE4B7=>0x83B5,
-0xE4B8=>0x8373,
-0xE4B9=>0x8375,
-0xE4BA=>0x83A0,
-0xE4BB=>0x8389,
-0xE4BC=>0x83A8,
-0xE4BD=>0x83F4,
-0xE4BE=>0x8413,
-0xE4BF=>0x83EB,
-0xE4C0=>0x83CE,
-0xE4C1=>0x83FD,
-0xE4C2=>0x8403,
-0xE4C3=>0x83D8,
-0xE4C4=>0x840B,
-0xE4C5=>0x83C1,
-0xE4C6=>0x83F7,
-0xE4C7=>0x8407,
-0xE4C8=>0x83E0,
-0xE4C9=>0x83F2,
-0xE4CA=>0x840D,
-0xE4CB=>0x8422,
-0xE4CC=>0x8420,
-0xE4CD=>0x83BD,
-0xE4CE=>0x8438,
-0xE4CF=>0x8506,
-0xE4D0=>0x83FB,
-0xE4D1=>0x846D,
-0xE4D2=>0x842A,
-0xE4D3=>0x843C,
-0xE4D4=>0x855A,
-0xE4D5=>0x8484,
-0xE4D6=>0x8477,
-0xE4D7=>0x846B,
-0xE4D8=>0x84AD,
-0xE4D9=>0x846E,
-0xE4DA=>0x8482,
-0xE4DB=>0x8469,
-0xE4DC=>0x8446,
-0xE4DD=>0x842C,
-0xE4DE=>0x846F,
-0xE4DF=>0x8479,
-0xE4E0=>0x8435,
-0xE4E1=>0x84CA,
-0xE4E2=>0x8462,
-0xE4E3=>0x84B9,
-0xE4E4=>0x84BF,
-0xE4E5=>0x849F,
-0xE4E6=>0x84D9,
-0xE4E7=>0x84CD,
-0xE4E8=>0x84BB,
-0xE4E9=>0x84DA,
-0xE4EA=>0x84D0,
-0xE4EB=>0x84C1,
-0xE4EC=>0x84C6,
-0xE4ED=>0x84D6,
-0xE4EE=>0x84A1,
-0xE4EF=>0x8521,
-0xE4F0=>0x84FF,
-0xE4F1=>0x84F4,
-0xE4F2=>0x8517,
-0xE4F3=>0x8518,
-0xE4F4=>0x852C,
-0xE4F5=>0x851F,
-0xE4F6=>0x8515,
-0xE4F7=>0x8514,
-0xE4F8=>0x84FC,
-0xE4F9=>0x8540,
-0xE4FA=>0x8563,
-0xE4FB=>0x8558,
-0xE4FC=>0x8548,
-0xE540=>0x8541,
-0xE541=>0x8602,
-0xE542=>0x854B,
-0xE543=>0x8555,
-0xE544=>0x8580,
-0xE545=>0x85A4,
-0xE546=>0x8588,
-0xE547=>0x8591,
-0xE548=>0x858A,
-0xE549=>0x85A8,
-0xE54A=>0x856D,
-0xE54B=>0x8594,
-0xE54C=>0x859B,
-0xE54D=>0x85EA,
-0xE54E=>0x8587,
-0xE54F=>0x859C,
-0xE550=>0x8577,
-0xE551=>0x857E,
-0xE552=>0x8590,
-0xE553=>0x85C9,
-0xE554=>0x85BA,
-0xE555=>0x85CF,
-0xE556=>0x85B9,
-0xE557=>0x85D0,
-0xE558=>0x85D5,
-0xE559=>0x85DD,
-0xE55A=>0x85E5,
-0xE55B=>0x85DC,
-0xE55C=>0x85F9,
-0xE55D=>0x860A,
-0xE55E=>0x8613,
-0xE55F=>0x860B,
-0xE560=>0x85FE,
-0xE561=>0x85FA,
-0xE562=>0x8606,
-0xE563=>0x8622,
-0xE564=>0x861A,
-0xE565=>0x8630,
-0xE566=>0x863F,
-0xE567=>0x864D,
-0xE568=>0x4E55,
-0xE569=>0x8654,
-0xE56A=>0x865F,
-0xE56B=>0x8667,
-0xE56C=>0x8671,
-0xE56D=>0x8693,
-0xE56E=>0x86A3,
-0xE56F=>0x86A9,
-0xE570=>0x86AA,
-0xE571=>0x868B,
-0xE572=>0x868C,
-0xE573=>0x86B6,
-0xE574=>0x86AF,
-0xE575=>0x86C4,
-0xE576=>0x86C6,
-0xE577=>0x86B0,
-0xE578=>0x86C9,
-0xE579=>0x8823,
-0xE57A=>0x86AB,
-0xE57B=>0x86D4,
-0xE57C=>0x86DE,
-0xE57D=>0x86E9,
-0xE57E=>0x86EC,
-0xE580=>0x86DF,
-0xE581=>0x86DB,
-0xE582=>0x86EF,
-0xE583=>0x8712,
-0xE584=>0x8706,
-0xE585=>0x8708,
-0xE586=>0x8700,
-0xE587=>0x8703,
-0xE588=>0x86FB,
-0xE589=>0x8711,
-0xE58A=>0x8709,
-0xE58B=>0x870D,
-0xE58C=>0x86F9,
-0xE58D=>0x870A,
-0xE58E=>0x8734,
-0xE58F=>0x873F,
-0xE590=>0x8737,
-0xE591=>0x873B,
-0xE592=>0x8725,
-0xE593=>0x8729,
-0xE594=>0x871A,
-0xE595=>0x8760,
-0xE596=>0x875F,
-0xE597=>0x8778,
-0xE598=>0x874C,
-0xE599=>0x874E,
-0xE59A=>0x8774,
-0xE59B=>0x8757,
-0xE59C=>0x8768,
-0xE59D=>0x876E,
-0xE59E=>0x8759,
-0xE59F=>0x8753,
-0xE5A0=>0x8763,
-0xE5A1=>0x876A,
-0xE5A2=>0x8805,
-0xE5A3=>0x87A2,
-0xE5A4=>0x879F,
-0xE5A5=>0x8782,
-0xE5A6=>0x87AF,
-0xE5A7=>0x87CB,
-0xE5A8=>0x87BD,
-0xE5A9=>0x87C0,
-0xE5AA=>0x87D0,
-0xE5AB=>0x96D6,
-0xE5AC=>0x87AB,
-0xE5AD=>0x87C4,
-0xE5AE=>0x87B3,
-0xE5AF=>0x87C7,
-0xE5B0=>0x87C6,
-0xE5B1=>0x87BB,
-0xE5B2=>0x87EF,
-0xE5B3=>0x87F2,
-0xE5B4=>0x87E0,
-0xE5B5=>0x880F,
-0xE5B6=>0x880D,
-0xE5B7=>0x87FE,
-0xE5B8=>0x87F6,
-0xE5B9=>0x87F7,
-0xE5BA=>0x880E,
-0xE5BB=>0x87D2,
-0xE5BC=>0x8811,
-0xE5BD=>0x8816,
-0xE5BE=>0x8815,
-0xE5BF=>0x8822,
-0xE5C0=>0x8821,
-0xE5C1=>0x8831,
-0xE5C2=>0x8836,
-0xE5C3=>0x8839,
-0xE5C4=>0x8827,
-0xE5C5=>0x883B,
-0xE5C6=>0x8844,
-0xE5C7=>0x8842,
-0xE5C8=>0x8852,
-0xE5C9=>0x8859,
-0xE5CA=>0x885E,
-0xE5CB=>0x8862,
-0xE5CC=>0x886B,
-0xE5CD=>0x8881,
-0xE5CE=>0x887E,
-0xE5CF=>0x889E,
-0xE5D0=>0x8875,
-0xE5D1=>0x887D,
-0xE5D2=>0x88B5,
-0xE5D3=>0x8872,
-0xE5D4=>0x8882,
-0xE5D5=>0x8897,
-0xE5D6=>0x8892,
-0xE5D7=>0x88AE,
-0xE5D8=>0x8899,
-0xE5D9=>0x88A2,
-0xE5DA=>0x888D,
-0xE5DB=>0x88A4,
-0xE5DC=>0x88B0,
-0xE5DD=>0x88BF,
-0xE5DE=>0x88B1,
-0xE5DF=>0x88C3,
-0xE5E0=>0x88C4,
-0xE5E1=>0x88D4,
-0xE5E2=>0x88D8,
-0xE5E3=>0x88D9,
-0xE5E4=>0x88DD,
-0xE5E5=>0x88F9,
-0xE5E6=>0x8902,
-0xE5E7=>0x88FC,
-0xE5E8=>0x88F4,
-0xE5E9=>0x88E8,
-0xE5EA=>0x88F2,
-0xE5EB=>0x8904,
-0xE5EC=>0x890C,
-0xE5ED=>0x890A,
-0xE5EE=>0x8913,
-0xE5EF=>0x8943,
-0xE5F0=>0x891E,
-0xE5F1=>0x8925,
-0xE5F2=>0x892A,
-0xE5F3=>0x892B,
-0xE5F4=>0x8941,
-0xE5F5=>0x8944,
-0xE5F6=>0x893B,
-0xE5F7=>0x8936,
-0xE5F8=>0x8938,
-0xE5F9=>0x894C,
-0xE5FA=>0x891D,
-0xE5FB=>0x8960,
-0xE5FC=>0x895E,
-0xE640=>0x8966,
-0xE641=>0x8964,
-0xE642=>0x896D,
-0xE643=>0x896A,
-0xE644=>0x896F,
-0xE645=>0x8974,
-0xE646=>0x8977,
-0xE647=>0x897E,
-0xE648=>0x8983,
-0xE649=>0x8988,
-0xE64A=>0x898A,
-0xE64B=>0x8993,
-0xE64C=>0x8998,
-0xE64D=>0x89A1,
-0xE64E=>0x89A9,
-0xE64F=>0x89A6,
-0xE650=>0x89AC,
-0xE651=>0x89AF,
-0xE652=>0x89B2,
-0xE653=>0x89BA,
-0xE654=>0x89BD,
-0xE655=>0x89BF,
-0xE656=>0x89C0,
-0xE657=>0x89DA,
-0xE658=>0x89DC,
-0xE659=>0x89DD,
-0xE65A=>0x89E7,
-0xE65B=>0x89F4,
-0xE65C=>0x89F8,
-0xE65D=>0x8A03,
-0xE65E=>0x8A16,
-0xE65F=>0x8A10,
-0xE660=>0x8A0C,
-0xE661=>0x8A1B,
-0xE662=>0x8A1D,
-0xE663=>0x8A25,
-0xE664=>0x8A36,
-0xE665=>0x8A41,
-0xE666=>0x8A5B,
-0xE667=>0x8A52,
-0xE668=>0x8A46,
-0xE669=>0x8A48,
-0xE66A=>0x8A7C,
-0xE66B=>0x8A6D,
-0xE66C=>0x8A6C,
-0xE66D=>0x8A62,
-0xE66E=>0x8A85,
-0xE66F=>0x8A82,
-0xE670=>0x8A84,
-0xE671=>0x8AA8,
-0xE672=>0x8AA1,
-0xE673=>0x8A91,
-0xE674=>0x8AA5,
-0xE675=>0x8AA6,
-0xE676=>0x8A9A,
-0xE677=>0x8AA3,
-0xE678=>0x8AC4,
-0xE679=>0x8ACD,
-0xE67A=>0x8AC2,
-0xE67B=>0x8ADA,
-0xE67C=>0x8AEB,
-0xE67D=>0x8AF3,
-0xE67E=>0x8AE7,
-0xE680=>0x8AE4,
-0xE681=>0x8AF1,
-0xE682=>0x8B14,
-0xE683=>0x8AE0,
-0xE684=>0x8AE2,
-0xE685=>0x8AF7,
-0xE686=>0x8ADE,
-0xE687=>0x8ADB,
-0xE688=>0x8B0C,
-0xE689=>0x8B07,
-0xE68A=>0x8B1A,
-0xE68B=>0x8AE1,
-0xE68C=>0x8B16,
-0xE68D=>0x8B10,
-0xE68E=>0x8B17,
-0xE68F=>0x8B20,
-0xE690=>0x8B33,
-0xE691=>0x97AB,
-0xE692=>0x8B26,
-0xE693=>0x8B2B,
-0xE694=>0x8B3E,
-0xE695=>0x8B28,
-0xE696=>0x8B41,
-0xE697=>0x8B4C,
-0xE698=>0x8B4F,
-0xE699=>0x8B4E,
-0xE69A=>0x8B49,
-0xE69B=>0x8B56,
-0xE69C=>0x8B5B,
-0xE69D=>0x8B5A,
-0xE69E=>0x8B6B,
-0xE69F=>0x8B5F,
-0xE6A0=>0x8B6C,
-0xE6A1=>0x8B6F,
-0xE6A2=>0x8B74,
-0xE6A3=>0x8B7D,
-0xE6A4=>0x8B80,
-0xE6A5=>0x8B8C,
-0xE6A6=>0x8B8E,
-0xE6A7=>0x8B92,
-0xE6A8=>0x8B93,
-0xE6A9=>0x8B96,
-0xE6AA=>0x8B99,
-0xE6AB=>0x8B9A,
-0xE6AC=>0x8C3A,
-0xE6AD=>0x8C41,
-0xE6AE=>0x8C3F,
-0xE6AF=>0x8C48,
-0xE6B0=>0x8C4C,
-0xE6B1=>0x8C4E,
-0xE6B2=>0x8C50,
-0xE6B3=>0x8C55,
-0xE6B4=>0x8C62,
-0xE6B5=>0x8C6C,
-0xE6B6=>0x8C78,
-0xE6B7=>0x8C7A,
-0xE6B8=>0x8C82,
-0xE6B9=>0x8C89,
-0xE6BA=>0x8C85,
-0xE6BB=>0x8C8A,
-0xE6BC=>0x8C8D,
-0xE6BD=>0x8C8E,
-0xE6BE=>0x8C94,
-0xE6BF=>0x8C7C,
-0xE6C0=>0x8C98,
-0xE6C1=>0x621D,
-0xE6C2=>0x8CAD,
-0xE6C3=>0x8CAA,
-0xE6C4=>0x8CBD,
-0xE6C5=>0x8CB2,
-0xE6C6=>0x8CB3,
-0xE6C7=>0x8CAE,
-0xE6C8=>0x8CB6,
-0xE6C9=>0x8CC8,
-0xE6CA=>0x8CC1,
-0xE6CB=>0x8CE4,
-0xE6CC=>0x8CE3,
-0xE6CD=>0x8CDA,
-0xE6CE=>0x8CFD,
-0xE6CF=>0x8CFA,
-0xE6D0=>0x8CFB,
-0xE6D1=>0x8D04,
-0xE6D2=>0x8D05,
-0xE6D3=>0x8D0A,
-0xE6D4=>0x8D07,
-0xE6D5=>0x8D0F,
-0xE6D6=>0x8D0D,
-0xE6D7=>0x8D10,
-0xE6D8=>0x9F4E,
-0xE6D9=>0x8D13,
-0xE6DA=>0x8CCD,
-0xE6DB=>0x8D14,
-0xE6DC=>0x8D16,
-0xE6DD=>0x8D67,
-0xE6DE=>0x8D6D,
-0xE6DF=>0x8D71,
-0xE6E0=>0x8D73,
-0xE6E1=>0x8D81,
-0xE6E2=>0x8D99,
-0xE6E3=>0x8DC2,
-0xE6E4=>0x8DBE,
-0xE6E5=>0x8DBA,
-0xE6E6=>0x8DCF,
-0xE6E7=>0x8DDA,
-0xE6E8=>0x8DD6,
-0xE6E9=>0x8DCC,
-0xE6EA=>0x8DDB,
-0xE6EB=>0x8DCB,
-0xE6EC=>0x8DEA,
-0xE6ED=>0x8DEB,
-0xE6EE=>0x8DDF,
-0xE6EF=>0x8DE3,
-0xE6F0=>0x8DFC,
-0xE6F1=>0x8E08,
-0xE6F2=>0x8E09,
-0xE6F3=>0x8DFF,
-0xE6F4=>0x8E1D,
-0xE6F5=>0x8E1E,
-0xE6F6=>0x8E10,
-0xE6F7=>0x8E1F,
-0xE6F8=>0x8E42,
-0xE6F9=>0x8E35,
-0xE6FA=>0x8E30,
-0xE6FB=>0x8E34,
-0xE6FC=>0x8E4A,
-0xE740=>0x8E47,
-0xE741=>0x8E49,
-0xE742=>0x8E4C,
-0xE743=>0x8E50,
-0xE744=>0x8E48,
-0xE745=>0x8E59,
-0xE746=>0x8E64,
-0xE747=>0x8E60,
-0xE748=>0x8E2A,
-0xE749=>0x8E63,
-0xE74A=>0x8E55,
-0xE74B=>0x8E76,
-0xE74C=>0x8E72,
-0xE74D=>0x8E7C,
-0xE74E=>0x8E81,
-0xE74F=>0x8E87,
-0xE750=>0x8E85,
-0xE751=>0x8E84,
-0xE752=>0x8E8B,
-0xE753=>0x8E8A,
-0xE754=>0x8E93,
-0xE755=>0x8E91,
-0xE756=>0x8E94,
-0xE757=>0x8E99,
-0xE758=>0x8EAA,
-0xE759=>0x8EA1,
-0xE75A=>0x8EAC,
-0xE75B=>0x8EB0,
-0xE75C=>0x8EC6,
-0xE75D=>0x8EB1,
-0xE75E=>0x8EBE,
-0xE75F=>0x8EC5,
-0xE760=>0x8EC8,
-0xE761=>0x8ECB,
-0xE762=>0x8EDB,
-0xE763=>0x8EE3,
-0xE764=>0x8EFC,
-0xE765=>0x8EFB,
-0xE766=>0x8EEB,
-0xE767=>0x8EFE,
-0xE768=>0x8F0A,
-0xE769=>0x8F05,
-0xE76A=>0x8F15,
-0xE76B=>0x8F12,
-0xE76C=>0x8F19,
-0xE76D=>0x8F13,
-0xE76E=>0x8F1C,
-0xE76F=>0x8F1F,
-0xE770=>0x8F1B,
-0xE771=>0x8F0C,
-0xE772=>0x8F26,
-0xE773=>0x8F33,
-0xE774=>0x8F3B,
-0xE775=>0x8F39,
-0xE776=>0x8F45,
-0xE777=>0x8F42,
-0xE778=>0x8F3E,
-0xE779=>0x8F4C,
-0xE77A=>0x8F49,
-0xE77B=>0x8F46,
-0xE77C=>0x8F4E,
-0xE77D=>0x8F57,
-0xE77E=>0x8F5C,
-0xE780=>0x8F62,
-0xE781=>0x8F63,
-0xE782=>0x8F64,
-0xE783=>0x8F9C,
-0xE784=>0x8F9F,
-0xE785=>0x8FA3,
-0xE786=>0x8FAD,
-0xE787=>0x8FAF,
-0xE788=>0x8FB7,
-0xE789=>0x8FDA,
-0xE78A=>0x8FE5,
-0xE78B=>0x8FE2,
-0xE78C=>0x8FEA,
-0xE78D=>0x8FEF,
-0xE78E=>0x9087,
-0xE78F=>0x8FF4,
-0xE790=>0x9005,
-0xE791=>0x8FF9,
-0xE792=>0x8FFA,
-0xE793=>0x9011,
-0xE794=>0x9015,
-0xE795=>0x9021,
-0xE796=>0x900D,
-0xE797=>0x901E,
-0xE798=>0x9016,
-0xE799=>0x900B,
-0xE79A=>0x9027,
-0xE79B=>0x9036,
-0xE79C=>0x9035,
-0xE79D=>0x9039,
-0xE79E=>0x8FF8,
-0xE79F=>0x904F,
-0xE7A0=>0x9050,
-0xE7A1=>0x9051,
-0xE7A2=>0x9052,
-0xE7A3=>0x900E,
-0xE7A4=>0x9049,
-0xE7A5=>0x903E,
-0xE7A6=>0x9056,
-0xE7A7=>0x9058,
-0xE7A8=>0x905E,
-0xE7A9=>0x9068,
-0xE7AA=>0x906F,
-0xE7AB=>0x9076,
-0xE7AC=>0x96A8,
-0xE7AD=>0x9072,
-0xE7AE=>0x9082,
-0xE7AF=>0x907D,
-0xE7B0=>0x9081,
-0xE7B1=>0x9080,
-0xE7B2=>0x908A,
-0xE7B3=>0x9089,
-0xE7B4=>0x908F,
-0xE7B5=>0x90A8,
-0xE7B6=>0x90AF,
-0xE7B7=>0x90B1,
-0xE7B8=>0x90B5,
-0xE7B9=>0x90E2,
-0xE7BA=>0x90E4,
-0xE7BB=>0x6248,
-0xE7BC=>0x90DB,
-0xE7BD=>0x9102,
-0xE7BE=>0x9112,
-0xE7BF=>0x9119,
-0xE7C0=>0x9132,
-0xE7C1=>0x9130,
-0xE7C2=>0x914A,
-0xE7C3=>0x9156,
-0xE7C4=>0x9158,
-0xE7C5=>0x9163,
-0xE7C6=>0x9165,
-0xE7C7=>0x9169,
-0xE7C8=>0x9173,
-0xE7C9=>0x9172,
-0xE7CA=>0x918B,
-0xE7CB=>0x9189,
-0xE7CC=>0x9182,
-0xE7CD=>0x91A2,
-0xE7CE=>0x91AB,
-0xE7CF=>0x91AF,
-0xE7D0=>0x91AA,
-0xE7D1=>0x91B5,
-0xE7D2=>0x91B4,
-0xE7D3=>0x91BA,
-0xE7D4=>0x91C0,
-0xE7D5=>0x91C1,
-0xE7D6=>0x91C9,
-0xE7D7=>0x91CB,
-0xE7D8=>0x91D0,
-0xE7D9=>0x91D6,
-0xE7DA=>0x91DF,
-0xE7DB=>0x91E1,
-0xE7DC=>0x91DB,
-0xE7DD=>0x91FC,
-0xE7DE=>0x91F5,
-0xE7DF=>0x91F6,
-0xE7E0=>0x921E,
-0xE7E1=>0x91FF,
-0xE7E2=>0x9214,
-0xE7E3=>0x922C,
-0xE7E4=>0x9215,
-0xE7E5=>0x9211,
-0xE7E6=>0x925E,
-0xE7E7=>0x9257,
-0xE7E8=>0x9245,
-0xE7E9=>0x9249,
-0xE7EA=>0x9264,
-0xE7EB=>0x9248,
-0xE7EC=>0x9295,
-0xE7ED=>0x923F,
-0xE7EE=>0x924B,
-0xE7EF=>0x9250,
-0xE7F0=>0x929C,
-0xE7F1=>0x9296,
-0xE7F2=>0x9293,
-0xE7F3=>0x929B,
-0xE7F4=>0x925A,
-0xE7F5=>0x92CF,
-0xE7F6=>0x92B9,
-0xE7F7=>0x92B7,
-0xE7F8=>0x92E9,
-0xE7F9=>0x930F,
-0xE7FA=>0x92FA,
-0xE7FB=>0x9344,
-0xE7FC=>0x932E,
-0xE840=>0x9319,
-0xE841=>0x9322,
-0xE842=>0x931A,
-0xE843=>0x9323,
-0xE844=>0x933A,
-0xE845=>0x9335,
-0xE846=>0x933B,
-0xE847=>0x935C,
-0xE848=>0x9360,
-0xE849=>0x937C,
-0xE84A=>0x936E,
-0xE84B=>0x9356,
-0xE84C=>0x93B0,
-0xE84D=>0x93AC,
-0xE84E=>0x93AD,
-0xE84F=>0x9394,
-0xE850=>0x93B9,
-0xE851=>0x93D6,
-0xE852=>0x93D7,
-0xE853=>0x93E8,
-0xE854=>0x93E5,
-0xE855=>0x93D8,
-0xE856=>0x93C3,
-0xE857=>0x93DD,
-0xE858=>0x93D0,
-0xE859=>0x93C8,
-0xE85A=>0x93E4,
-0xE85B=>0x941A,
-0xE85C=>0x9414,
-0xE85D=>0x9413,
-0xE85E=>0x9403,
-0xE85F=>0x9407,
-0xE860=>0x9410,
-0xE861=>0x9436,
-0xE862=>0x942B,
-0xE863=>0x9435,
-0xE864=>0x9421,
-0xE865=>0x943A,
-0xE866=>0x9441,
-0xE867=>0x9452,
-0xE868=>0x9444,
-0xE869=>0x945B,
-0xE86A=>0x9460,
-0xE86B=>0x9462,
-0xE86C=>0x945E,
-0xE86D=>0x946A,
-0xE86E=>0x9229,
-0xE86F=>0x9470,
-0xE870=>0x9475,
-0xE871=>0x9477,
-0xE872=>0x947D,
-0xE873=>0x945A,
-0xE874=>0x947C,
-0xE875=>0x947E,
-0xE876=>0x9481,
-0xE877=>0x947F,
-0xE878=>0x9582,
-0xE879=>0x9587,
-0xE87A=>0x958A,
-0xE87B=>0x9594,
-0xE87C=>0x9596,
-0xE87D=>0x9598,
-0xE87E=>0x9599,
-0xE880=>0x95A0,
-0xE881=>0x95A8,
-0xE882=>0x95A7,
-0xE883=>0x95AD,
-0xE884=>0x95BC,
-0xE885=>0x95BB,
-0xE886=>0x95B9,
-0xE887=>0x95BE,
-0xE888=>0x95CA,
-0xE889=>0x6FF6,
-0xE88A=>0x95C3,
-0xE88B=>0x95CD,
-0xE88C=>0x95CC,
-0xE88D=>0x95D5,
-0xE88E=>0x95D4,
-0xE88F=>0x95D6,
-0xE890=>0x95DC,
-0xE891=>0x95E1,
-0xE892=>0x95E5,
-0xE893=>0x95E2,
-0xE894=>0x9621,
-0xE895=>0x9628,
-0xE896=>0x962E,
-0xE897=>0x962F,
-0xE898=>0x9642,
-0xE899=>0x964C,
-0xE89A=>0x964F,
-0xE89B=>0x964B,
-0xE89C=>0x9677,
-0xE89D=>0x965C,
-0xE89E=>0x965E,
-0xE89F=>0x965D,
-0xE8A0=>0x965F,
-0xE8A1=>0x9666,
-0xE8A2=>0x9672,
-0xE8A3=>0x966C,
-0xE8A4=>0x968D,
-0xE8A5=>0x9698,
-0xE8A6=>0x9695,
-0xE8A7=>0x9697,
-0xE8A8=>0x96AA,
-0xE8A9=>0x96A7,
-0xE8AA=>0x96B1,
-0xE8AB=>0x96B2,
-0xE8AC=>0x96B0,
-0xE8AD=>0x96B4,
-0xE8AE=>0x96B6,
-0xE8AF=>0x96B8,
-0xE8B0=>0x96B9,
-0xE8B1=>0x96CE,
-0xE8B2=>0x96CB,
-0xE8B3=>0x96C9,
-0xE8B4=>0x96CD,
-0xE8B5=>0x894D,
-0xE8B6=>0x96DC,
-0xE8B7=>0x970D,
-0xE8B8=>0x96D5,
-0xE8B9=>0x96F9,
-0xE8BA=>0x9704,
-0xE8BB=>0x9706,
-0xE8BC=>0x9708,
-0xE8BD=>0x9713,
-0xE8BE=>0x970E,
-0xE8BF=>0x9711,
-0xE8C0=>0x970F,
-0xE8C1=>0x9716,
-0xE8C2=>0x9719,
-0xE8C3=>0x9724,
-0xE8C4=>0x972A,
-0xE8C5=>0x9730,
-0xE8C6=>0x9739,
-0xE8C7=>0x973D,
-0xE8C8=>0x973E,
-0xE8C9=>0x9744,
-0xE8CA=>0x9746,
-0xE8CB=>0x9748,
-0xE8CC=>0x9742,
-0xE8CD=>0x9749,
-0xE8CE=>0x975C,
-0xE8CF=>0x9760,
-0xE8D0=>0x9764,
-0xE8D1=>0x9766,
-0xE8D2=>0x9768,
-0xE8D3=>0x52D2,
-0xE8D4=>0x976B,
-0xE8D5=>0x9771,
-0xE8D6=>0x9779,
-0xE8D7=>0x9785,
-0xE8D8=>0x977C,
-0xE8D9=>0x9781,
-0xE8DA=>0x977A,
-0xE8DB=>0x9786,
-0xE8DC=>0x978B,
-0xE8DD=>0x978F,
-0xE8DE=>0x9790,
-0xE8DF=>0x979C,
-0xE8E0=>0x97A8,
-0xE8E1=>0x97A6,
-0xE8E2=>0x97A3,
-0xE8E3=>0x97B3,
-0xE8E4=>0x97B4,
-0xE8E5=>0x97C3,
-0xE8E6=>0x97C6,
-0xE8E7=>0x97C8,
-0xE8E8=>0x97CB,
-0xE8E9=>0x97DC,
-0xE8EA=>0x97ED,
-0xE8EB=>0x9F4F,
-0xE8EC=>0x97F2,
-0xE8ED=>0x7ADF,
-0xE8EE=>0x97F6,
-0xE8EF=>0x97F5,
-0xE8F0=>0x980F,
-0xE8F1=>0x980C,
-0xE8F2=>0x9838,
-0xE8F3=>0x9824,
-0xE8F4=>0x9821,
-0xE8F5=>0x9837,
-0xE8F6=>0x983D,
-0xE8F7=>0x9846,
-0xE8F8=>0x984F,
-0xE8F9=>0x984B,
-0xE8FA=>0x986B,
-0xE8FB=>0x986F,
-0xE8FC=>0x9870,
-0xE940=>0x9871,
-0xE941=>0x9874,
-0xE942=>0x9873,
-0xE943=>0x98AA,
-0xE944=>0x98AF,
-0xE945=>0x98B1,
-0xE946=>0x98B6,
-0xE947=>0x98C4,
-0xE948=>0x98C3,
-0xE949=>0x98C6,
-0xE94A=>0x98E9,
-0xE94B=>0x98EB,
-0xE94C=>0x9903,
-0xE94D=>0x9909,
-0xE94E=>0x9912,
-0xE94F=>0x9914,
-0xE950=>0x9918,
-0xE951=>0x9921,
-0xE952=>0x991D,
-0xE953=>0x991E,
-0xE954=>0x9924,
-0xE955=>0x9920,
-0xE956=>0x992C,
-0xE957=>0x992E,
-0xE958=>0x993D,
-0xE959=>0x993E,
-0xE95A=>0x9942,
-0xE95B=>0x9949,
-0xE95C=>0x9945,
-0xE95D=>0x9950,
-0xE95E=>0x994B,
-0xE95F=>0x9951,
-0xE960=>0x9952,
-0xE961=>0x994C,
-0xE962=>0x9955,
-0xE963=>0x9997,
-0xE964=>0x9998,
-0xE965=>0x99A5,
-0xE966=>0x99AD,
-0xE967=>0x99AE,
-0xE968=>0x99BC,
-0xE969=>0x99DF,
-0xE96A=>0x99DB,
-0xE96B=>0x99DD,
-0xE96C=>0x99D8,
-0xE96D=>0x99D1,
-0xE96E=>0x99ED,
-0xE96F=>0x99EE,
-0xE970=>0x99F1,
-0xE971=>0x99F2,
-0xE972=>0x99FB,
-0xE973=>0x99F8,
-0xE974=>0x9A01,
-0xE975=>0x9A0F,
-0xE976=>0x9A05,
-0xE977=>0x99E2,
-0xE978=>0x9A19,
-0xE979=>0x9A2B,
-0xE97A=>0x9A37,
-0xE97B=>0x9A45,
-0xE97C=>0x9A42,
-0xE97D=>0x9A40,
-0xE97E=>0x9A43,
-0xE980=>0x9A3E,
-0xE981=>0x9A55,
-0xE982=>0x9A4D,
-0xE983=>0x9A5B,
-0xE984=>0x9A57,
-0xE985=>0x9A5F,
-0xE986=>0x9A62,
-0xE987=>0x9A65,
-0xE988=>0x9A64,
-0xE989=>0x9A69,
-0xE98A=>0x9A6B,
-0xE98B=>0x9A6A,
-0xE98C=>0x9AAD,
-0xE98D=>0x9AB0,
-0xE98E=>0x9ABC,
-0xE98F=>0x9AC0,
-0xE990=>0x9ACF,
-0xE991=>0x9AD1,
-0xE992=>0x9AD3,
-0xE993=>0x9AD4,
-0xE994=>0x9ADE,
-0xE995=>0x9ADF,
-0xE996=>0x9AE2,
-0xE997=>0x9AE3,
-0xE998=>0x9AE6,
-0xE999=>0x9AEF,
-0xE99A=>0x9AEB,
-0xE99B=>0x9AEE,
-0xE99C=>0x9AF4,
-0xE99D=>0x9AF1,
-0xE99E=>0x9AF7,
-0xE99F=>0x9AFB,
-0xE9A0=>0x9B06,
-0xE9A1=>0x9B18,
-0xE9A2=>0x9B1A,
-0xE9A3=>0x9B1F,
-0xE9A4=>0x9B22,
-0xE9A5=>0x9B23,
-0xE9A6=>0x9B25,
-0xE9A7=>0x9B27,
-0xE9A8=>0x9B28,
-0xE9A9=>0x9B29,
-0xE9AA=>0x9B2A,
-0xE9AB=>0x9B2E,
-0xE9AC=>0x9B2F,
-0xE9AD=>0x9B32,
-0xE9AE=>0x9B44,
-0xE9AF=>0x9B43,
-0xE9B0=>0x9B4F,
-0xE9B1=>0x9B4D,
-0xE9B2=>0x9B4E,
-0xE9B3=>0x9B51,
-0xE9B4=>0x9B58,
-0xE9B5=>0x9B74,
-0xE9B6=>0x9B93,
-0xE9B7=>0x9B83,
-0xE9B8=>0x9B91,
-0xE9B9=>0x9B96,
-0xE9BA=>0x9B97,
-0xE9BB=>0x9B9F,
-0xE9BC=>0x9BA0,
-0xE9BD=>0x9BA8,
-0xE9BE=>0x9BB4,
-0xE9BF=>0x9BC0,
-0xE9C0=>0x9BCA,
-0xE9C1=>0x9BB9,
-0xE9C2=>0x9BC6,
-0xE9C3=>0x9BCF,
-0xE9C4=>0x9BD1,
-0xE9C5=>0x9BD2,
-0xE9C6=>0x9BE3,
-0xE9C7=>0x9BE2,
-0xE9C8=>0x9BE4,
-0xE9C9=>0x9BD4,
-0xE9CA=>0x9BE1,
-0xE9CB=>0x9C3A,
-0xE9CC=>0x9BF2,
-0xE9CD=>0x9BF1,
-0xE9CE=>0x9BF0,
-0xE9CF=>0x9C15,
-0xE9D0=>0x9C14,
-0xE9D1=>0x9C09,
-0xE9D2=>0x9C13,
-0xE9D3=>0x9C0C,
-0xE9D4=>0x9C06,
-0xE9D5=>0x9C08,
-0xE9D6=>0x9C12,
-0xE9D7=>0x9C0A,
-0xE9D8=>0x9C04,
-0xE9D9=>0x9C2E,
-0xE9DA=>0x9C1B,
-0xE9DB=>0x9C25,
-0xE9DC=>0x9C24,
-0xE9DD=>0x9C21,
-0xE9DE=>0x9C30,
-0xE9DF=>0x9C47,
-0xE9E0=>0x9C32,
-0xE9E1=>0x9C46,
-0xE9E2=>0x9C3E,
-0xE9E3=>0x9C5A,
-0xE9E4=>0x9C60,
-0xE9E5=>0x9C67,
-0xE9E6=>0x9C76,
-0xE9E7=>0x9C78,
-0xE9E8=>0x9CE7,
-0xE9E9=>0x9CEC,
-0xE9EA=>0x9CF0,
-0xE9EB=>0x9D09,
-0xE9EC=>0x9D08,
-0xE9ED=>0x9CEB,
-0xE9EE=>0x9D03,
-0xE9EF=>0x9D06,
-0xE9F0=>0x9D2A,
-0xE9F1=>0x9D26,
-0xE9F2=>0x9DAF,
-0xE9F3=>0x9D23,
-0xE9F4=>0x9D1F,
-0xE9F5=>0x9D44,
-0xE9F6=>0x9D15,
-0xE9F7=>0x9D12,
-0xE9F8=>0x9D41,
-0xE9F9=>0x9D3F,
-0xE9FA=>0x9D3E,
-0xE9FB=>0x9D46,
-0xE9FC=>0x9D48,
-0xEA40=>0x9D5D,
-0xEA41=>0x9D5E,
-0xEA42=>0x9D64,
-0xEA43=>0x9D51,
-0xEA44=>0x9D50,
-0xEA45=>0x9D59,
-0xEA46=>0x9D72,
-0xEA47=>0x9D89,
-0xEA48=>0x9D87,
-0xEA49=>0x9DAB,
-0xEA4A=>0x9D6F,
-0xEA4B=>0x9D7A,
-0xEA4C=>0x9D9A,
-0xEA4D=>0x9DA4,
-0xEA4E=>0x9DA9,
-0xEA4F=>0x9DB2,
-0xEA50=>0x9DC4,
-0xEA51=>0x9DC1,
-0xEA52=>0x9DBB,
-0xEA53=>0x9DB8,
-0xEA54=>0x9DBA,
-0xEA55=>0x9DC6,
-0xEA56=>0x9DCF,
-0xEA57=>0x9DC2,
-0xEA58=>0x9DD9,
-0xEA59=>0x9DD3,
-0xEA5A=>0x9DF8,
-0xEA5B=>0x9DE6,
-0xEA5C=>0x9DED,
-0xEA5D=>0x9DEF,
-0xEA5E=>0x9DFD,
-0xEA5F=>0x9E1A,
-0xEA60=>0x9E1B,
-0xEA61=>0x9E1E,
-0xEA62=>0x9E75,
-0xEA63=>0x9E79,
-0xEA64=>0x9E7D,
-0xEA65=>0x9E81,
-0xEA66=>0x9E88,
-0xEA67=>0x9E8B,
-0xEA68=>0x9E8C,
-0xEA69=>0x9E92,
-0xEA6A=>0x9E95,
-0xEA6B=>0x9E91,
-0xEA6C=>0x9E9D,
-0xEA6D=>0x9EA5,
-0xEA6E=>0x9EA9,
-0xEA6F=>0x9EB8,
-0xEA70=>0x9EAA,
-0xEA71=>0x9EAD,
-0xEA72=>0x9761,
-0xEA73=>0x9ECC,
-0xEA74=>0x9ECE,
-0xEA75=>0x9ECF,
-0xEA76=>0x9ED0,
-0xEA77=>0x9ED4,
-0xEA78=>0x9EDC,
-0xEA79=>0x9EDE,
-0xEA7A=>0x9EDD,
-0xEA7B=>0x9EE0,
-0xEA7C=>0x9EE5,
-0xEA7D=>0x9EE8,
-0xEA7E=>0x9EEF,
-0xEA80=>0x9EF4,
-0xEA81=>0x9EF6,
-0xEA82=>0x9EF7,
-0xEA83=>0x9EF9,
-0xEA84=>0x9EFB,
-0xEA85=>0x9EFC,
-0xEA86=>0x9EFD,
-0xEA87=>0x9F07,
-0xEA88=>0x9F08,
-0xEA89=>0x76B7,
-0xEA8A=>0x9F15,
-0xEA8B=>0x9F21,
-0xEA8C=>0x9F2C,
-0xEA8D=>0x9F3E,
-0xEA8E=>0x9F4A,
-0xEA8F=>0x9F52,
-0xEA90=>0x9F54,
-0xEA91=>0x9F63,
-0xEA92=>0x9F5F,
-0xEA93=>0x9F60,
-0xEA94=>0x9F61,
-0xEA95=>0x9F66,
-0xEA96=>0x9F67,
-0xEA97=>0x9F6C,
-0xEA98=>0x9F6A,
-0xEA99=>0x9F77,
-0xEA9A=>0x9F72,
-0xEA9B=>0x9F76,
-0xEA9C=>0x9F95,
-0xEA9D=>0x9F9C,
-0xEA9E=>0x9FA0,
-0xEA9F=>0x582F,
-0xEAA0=>0x69C7,
-0xEAA1=>0x9059,
-0xEAA2=>0x7464,
-0xEAA3=>0x51DC,
-0xEAA4=>0x7199,
-0xED40=>0x7E8A,
-0xED41=>0x891C,
-0xED42=>0x9348,
-0xED43=>0x9288,
-0xED44=>0x84DC,
-0xED45=>0x4FC9,
-0xED46=>0x70BB,
-0xED47=>0x6631,
-0xED48=>0x68C8,
-0xED49=>0x92F9,
-0xED4A=>0x66FB,
-0xED4B=>0x5F45,
-0xED4C=>0x4E28,
-0xED4D=>0x4EE1,
-0xED4E=>0x4EFC,
-0xED4F=>0x4F00,
-0xED50=>0x4F03,
-0xED51=>0x4F39,
-0xED52=>0x4F56,
-0xED53=>0x4F92,
-0xED54=>0x4F8A,
-0xED55=>0x4F9A,
-0xED56=>0x4F94,
-0xED57=>0x4FCD,
-0xED58=>0x5040,
-0xED59=>0x5022,
-0xED5A=>0x4FFF,
-0xED5B=>0x501E,
-0xED5C=>0x5046,
-0xED5D=>0x5070,
-0xED5E=>0x5042,
-0xED5F=>0x5094,
-0xED60=>0x50F4,
-0xED61=>0x50D8,
-0xED62=>0x514A,
-0xED63=>0x5164,
-0xED64=>0x519D,
-0xED65=>0x51BE,
-0xED66=>0x51EC,
-0xED67=>0x5215,
-0xED68=>0x529C,
-0xED69=>0x52A6,
-0xED6A=>0x52C0,
-0xED6B=>0x52DB,
-0xED6C=>0x5300,
-0xED6D=>0x5307,
-0xED6E=>0x5324,
-0xED6F=>0x5372,
-0xED70=>0x5393,
-0xED71=>0x53B2,
-0xED72=>0x53DD,
-0xED73=>0xFA0E,
-0xED74=>0x549C,
-0xED75=>0x548A,
-0xED76=>0x54A9,
-0xED77=>0x54FF,
-0xED78=>0x5586,
-0xED79=>0x5759,
-0xED7A=>0x5765,
-0xED7B=>0x57AC,
-0xED7C=>0x57C8,
-0xED7D=>0x57C7,
-0xED7E=>0xFA0F,
-0xED80=>0xFA10,
-0xED81=>0x589E,
-0xED82=>0x58B2,
-0xED83=>0x590B,
-0xED84=>0x5953,
-0xED85=>0x595B,
-0xED86=>0x595D,
-0xED87=>0x5963,
-0xED88=>0x59A4,
-0xED89=>0x59BA,
-0xED8A=>0x5B56,
-0xED8B=>0x5BC0,
-0xED8C=>0x752F,
-0xED8D=>0x5BD8,
-0xED8E=>0x5BEC,
-0xED8F=>0x5C1E,
-0xED90=>0x5CA6,
-0xED91=>0x5CBA,
-0xED92=>0x5CF5,
-0xED93=>0x5D27,
-0xED94=>0x5D53,
-0xED95=>0xFA11,
-0xED96=>0x5D42,
-0xED97=>0x5D6D,
-0xED98=>0x5DB8,
-0xED99=>0x5DB9,
-0xED9A=>0x5DD0,
-0xED9B=>0x5F21,
-0xED9C=>0x5F34,
-0xED9D=>0x5F67,
-0xED9E=>0x5FB7,
-0xED9F=>0x5FDE,
-0xEDA0=>0x605D,
-0xEDA1=>0x6085,
-0xEDA2=>0x608A,
-0xEDA3=>0x60DE,
-0xEDA4=>0x60D5,
-0xEDA5=>0x6120,
-0xEDA6=>0x60F2,
-0xEDA7=>0x6111,
-0xEDA8=>0x6137,
-0xEDA9=>0x6130,
-0xEDAA=>0x6198,
-0xEDAB=>0x6213,
-0xEDAC=>0x62A6,
-0xEDAD=>0x63F5,
-0xEDAE=>0x6460,
-0xEDAF=>0x649D,
-0xEDB0=>0x64CE,
-0xEDB1=>0x654E,
-0xEDB2=>0x6600,
-0xEDB3=>0x6615,
-0xEDB4=>0x663B,
-0xEDB5=>0x6609,
-0xEDB6=>0x662E,
-0xEDB7=>0x661E,
-0xEDB8=>0x6624,
-0xEDB9=>0x6665,
-0xEDBA=>0x6657,
-0xEDBB=>0x6659,
-0xEDBC=>0xFA12,
-0xEDBD=>0x6673,
-0xEDBE=>0x6699,
-0xEDBF=>0x66A0,
-0xEDC0=>0x66B2,
-0xEDC1=>0x66BF,
-0xEDC2=>0x66FA,
-0xEDC3=>0x670E,
-0xEDC4=>0xF929,
-0xEDC5=>0x6766,
-0xEDC6=>0x67BB,
-0xEDC7=>0x6852,
-0xEDC8=>0x67C0,
-0xEDC9=>0x6801,
-0xEDCA=>0x6844,
-0xEDCB=>0x68CF,
-0xEDCC=>0xFA13,
-0xEDCD=>0x6968,
-0xEDCE=>0xFA14,
-0xEDCF=>0x6998,
-0xEDD0=>0x69E2,
-0xEDD1=>0x6A30,
-0xEDD2=>0x6A6B,
-0xEDD3=>0x6A46,
-0xEDD4=>0x6A73,
-0xEDD5=>0x6A7E,
-0xEDD6=>0x6AE2,
-0xEDD7=>0x6AE4,
-0xEDD8=>0x6BD6,
-0xEDD9=>0x6C3F,
-0xEDDA=>0x6C5C,
-0xEDDB=>0x6C86,
-0xEDDC=>0x6C6F,
-0xEDDD=>0x6CDA,
-0xEDDE=>0x6D04,
-0xEDDF=>0x6D87,
-0xEDE0=>0x6D6F,
-0xEDE1=>0x6D96,
-0xEDE2=>0x6DAC,
-0xEDE3=>0x6DCF,
-0xEDE4=>0x6DF8,
-0xEDE5=>0x6DF2,
-0xEDE6=>0x6DFC,
-0xEDE7=>0x6E39,
-0xEDE8=>0x6E5C,
-0xEDE9=>0x6E27,
-0xEDEA=>0x6E3C,
-0xEDEB=>0x6EBF,
-0xEDEC=>0x6F88,
-0xEDED=>0x6FB5,
-0xEDEE=>0x6FF5,
-0xEDEF=>0x7005,
-0xEDF0=>0x7007,
-0xEDF1=>0x7028,
-0xEDF2=>0x7085,
-0xEDF3=>0x70AB,
-0xEDF4=>0x710F,
-0xEDF5=>0x7104,
-0xEDF6=>0x715C,
-0xEDF7=>0x7146,
-0xEDF8=>0x7147,
-0xEDF9=>0xFA15,
-0xEDFA=>0x71C1,
-0xEDFB=>0x71FE,
-0xEDFC=>0x72B1,
-0xEE40=>0x72BE,
-0xEE41=>0x7324,
-0xEE42=>0xFA16,
-0xEE43=>0x7377,
-0xEE44=>0x73BD,
-0xEE45=>0x73C9,
-0xEE46=>0x73D6,
-0xEE47=>0x73E3,
-0xEE48=>0x73D2,
-0xEE49=>0x7407,
-0xEE4A=>0x73F5,
-0xEE4B=>0x7426,
-0xEE4C=>0x742A,
-0xEE4D=>0x7429,
-0xEE4E=>0x742E,
-0xEE4F=>0x7462,
-0xEE50=>0x7489,
-0xEE51=>0x749F,
-0xEE52=>0x7501,
-0xEE53=>0x756F,
-0xEE54=>0x7682,
-0xEE55=>0x769C,
-0xEE56=>0x769E,
-0xEE57=>0x769B,
-0xEE58=>0x76A6,
-0xEE59=>0xFA17,
-0xEE5A=>0x7746,
-0xEE5B=>0x52AF,
-0xEE5C=>0x7821,
-0xEE5D=>0x784E,
-0xEE5E=>0x7864,
-0xEE5F=>0x787A,
-0xEE60=>0x7930,
-0xEE61=>0xFA18,
-0xEE62=>0xFA19,
-0xEE63=>0xFA1A,
-0xEE64=>0x7994,
-0xEE65=>0xFA1B,
-0xEE66=>0x799B,
-0xEE67=>0x7AD1,
-0xEE68=>0x7AE7,
-0xEE69=>0xFA1C,
-0xEE6A=>0x7AEB,
-0xEE6B=>0x7B9E,
-0xEE6C=>0xFA1D,
-0xEE6D=>0x7D48,
-0xEE6E=>0x7D5C,
-0xEE6F=>0x7DB7,
-0xEE70=>0x7DA0,
-0xEE71=>0x7DD6,
-0xEE72=>0x7E52,
-0xEE73=>0x7F47,
-0xEE74=>0x7FA1,
-0xEE75=>0xFA1E,
-0xEE76=>0x8301,
-0xEE77=>0x8362,
-0xEE78=>0x837F,
-0xEE79=>0x83C7,
-0xEE7A=>0x83F6,
-0xEE7B=>0x8448,
-0xEE7C=>0x84B4,
-0xEE7D=>0x8553,
-0xEE7E=>0x8559,
-0xEE80=>0x856B,
-0xEE81=>0xFA1F,
-0xEE82=>0x85B0,
-0xEE83=>0xFA20,
-0xEE84=>0xFA21,
-0xEE85=>0x8807,
-0xEE86=>0x88F5,
-0xEE87=>0x8A12,
-0xEE88=>0x8A37,
-0xEE89=>0x8A79,
-0xEE8A=>0x8AA7,
-0xEE8B=>0x8ABE,
-0xEE8C=>0x8ADF,
-0xEE8D=>0xFA22,
-0xEE8E=>0x8AF6,
-0xEE8F=>0x8B53,
-0xEE90=>0x8B7F,
-0xEE91=>0x8CF0,
-0xEE92=>0x8CF4,
-0xEE93=>0x8D12,
-0xEE94=>0x8D76,
-0xEE95=>0xFA23,
-0xEE96=>0x8ECF,
-0xEE97=>0xFA24,
-0xEE98=>0xFA25,
-0xEE99=>0x9067,
-0xEE9A=>0x90DE,
-0xEE9B=>0xFA26,
-0xEE9C=>0x9115,
-0xEE9D=>0x9127,
-0xEE9E=>0x91DA,
-0xEE9F=>0x91D7,
-0xEEA0=>0x91DE,
-0xEEA1=>0x91ED,
-0xEEA2=>0x91EE,
-0xEEA3=>0x91E4,
-0xEEA4=>0x91E5,
-0xEEA5=>0x9206,
-0xEEA6=>0x9210,
-0xEEA7=>0x920A,
-0xEEA8=>0x923A,
-0xEEA9=>0x9240,
-0xEEAA=>0x923C,
-0xEEAB=>0x924E,
-0xEEAC=>0x9259,
-0xEEAD=>0x9251,
-0xEEAE=>0x9239,
-0xEEAF=>0x9267,
-0xEEB0=>0x92A7,
-0xEEB1=>0x9277,
-0xEEB2=>0x9278,
-0xEEB3=>0x92E7,
-0xEEB4=>0x92D7,
-0xEEB5=>0x92D9,
-0xEEB6=>0x92D0,
-0xEEB7=>0xFA27,
-0xEEB8=>0x92D5,
-0xEEB9=>0x92E0,
-0xEEBA=>0x92D3,
-0xEEBB=>0x9325,
-0xEEBC=>0x9321,
-0xEEBD=>0x92FB,
-0xEEBE=>0xFA28,
-0xEEBF=>0x931E,
-0xEEC0=>0x92FF,
-0xEEC1=>0x931D,
-0xEEC2=>0x9302,
-0xEEC3=>0x9370,
-0xEEC4=>0x9357,
-0xEEC5=>0x93A4,
-0xEEC6=>0x93C6,
-0xEEC7=>0x93DE,
-0xEEC8=>0x93F8,
-0xEEC9=>0x9431,
-0xEECA=>0x9445,
-0xEECB=>0x9448,
-0xEECC=>0x9592,
-0xEECD=>0xF9DC,
-0xEECE=>0xFA29,
-0xEECF=>0x969D,
-0xEED0=>0x96AF,
-0xEED1=>0x9733,
-0xEED2=>0x973B,
-0xEED3=>0x9743,
-0xEED4=>0x974D,
-0xEED5=>0x974F,
-0xEED6=>0x9751,
-0xEED7=>0x9755,
-0xEED8=>0x9857,
-0xEED9=>0x9865,
-0xEEDA=>0xFA2A,
-0xEEDB=>0xFA2B,
-0xEEDC=>0x9927,
-0xEEDD=>0xFA2C,
-0xEEDE=>0x999E,
-0xEEDF=>0x9A4E,
-0xEEE0=>0x9AD9,
-0xEEE1=>0x9ADC,
-0xEEE2=>0x9B75,
-0xEEE3=>0x9B72,
-0xEEE4=>0x9B8F,
-0xEEE5=>0x9BB1,
-0xEEE6=>0x9BBB,
-0xEEE7=>0x9C00,
-0xEEE8=>0x9D70,
-0xEEE9=>0x9D6B,
-0xEEEA=>0xFA2D,
-0xEEEB=>0x9E19,
-0xEEEC=>0x9ED1,
-0xEEEF=>0x2170,
-0xEEF0=>0x2171,
-0xEEF1=>0x2172,
-0xEEF2=>0x2173,
-0xEEF3=>0x2174,
-0xEEF4=>0x2175,
-0xEEF5=>0x2176,
-0xEEF6=>0x2177,
-0xEEF7=>0x2178,
-0xEEF8=>0x2179,
-0xEEF9=>0xFFE2,
-0xEEFA=>0xFFE4,
-0xEEFB=>0xFF07,
-0xEEFC=>0xFF02,
-0xF040=>0xE000,
-0xF041=>0xE001,
-0xF042=>0xE002,
-0xF043=>0xE003,
-0xF044=>0xE004,
-0xF045=>0xE005,
-0xF046=>0xE006,
-0xF047=>0xE007,
-0xF048=>0xE008,
-0xF049=>0xE009,
-0xF04A=>0xE00A,
-0xF04B=>0xE00B,
-0xF04C=>0xE00C,
-0xF04D=>0xE00D,
-0xF04E=>0xE00E,
-0xF04F=>0xE00F,
-0xF050=>0xE010,
-0xF051=>0xE011,
-0xF052=>0xE012,
-0xF053=>0xE013,
-0xF054=>0xE014,
-0xF055=>0xE015,
-0xF056=>0xE016,
-0xF057=>0xE017,
-0xF058=>0xE018,
-0xF059=>0xE019,
-0xF05A=>0xE01A,
-0xF05B=>0xE01B,
-0xF05C=>0xE01C,
-0xF05D=>0xE01D,
-0xF05E=>0xE01E,
-0xF05F=>0xE01F,
-0xF060=>0xE020,
-0xF061=>0xE021,
-0xF062=>0xE022,
-0xF063=>0xE023,
-0xF064=>0xE024,
-0xF065=>0xE025,
-0xF066=>0xE026,
-0xF067=>0xE027,
-0xF068=>0xE028,
-0xF069=>0xE029,
-0xF06A=>0xE02A,
-0xF06B=>0xE02B,
-0xF06C=>0xE02C,
-0xF06D=>0xE02D,
-0xF06E=>0xE02E,
-0xF06F=>0xE02F,
-0xF070=>0xE030,
-0xF071=>0xE031,
-0xF072=>0xE032,
-0xF073=>0xE033,
-0xF074=>0xE034,
-0xF075=>0xE035,
-0xF076=>0xE036,
-0xF077=>0xE037,
-0xF078=>0xE038,
-0xF079=>0xE039,
-0xF07A=>0xE03A,
-0xF07B=>0xE03B,
-0xF07C=>0xE03C,
-0xF07D=>0xE03D,
-0xF07E=>0xE03E,
-0xF080=>0xE03F,
-0xF081=>0xE040,
-0xF082=>0xE041,
-0xF083=>0xE042,
-0xF084=>0xE043,
-0xF085=>0xE044,
-0xF086=>0xE045,
-0xF087=>0xE046,
-0xF088=>0xE047,
-0xF089=>0xE048,
-0xF08A=>0xE049,
-0xF08B=>0xE04A,
-0xF08C=>0xE04B,
-0xF08D=>0xE04C,
-0xF08E=>0xE04D,
-0xF08F=>0xE04E,
-0xF090=>0xE04F,
-0xF091=>0xE050,
-0xF092=>0xE051,
-0xF093=>0xE052,
-0xF094=>0xE053,
-0xF095=>0xE054,
-0xF096=>0xE055,
-0xF097=>0xE056,
-0xF098=>0xE057,
-0xF099=>0xE058,
-0xF09A=>0xE059,
-0xF09B=>0xE05A,
-0xF09C=>0xE05B,
-0xF09D=>0xE05C,
-0xF09E=>0xE05D,
-0xF09F=>0xE05E,
-0xF0A0=>0xE05F,
-0xF0A1=>0xE060,
-0xF0A2=>0xE061,
-0xF0A3=>0xE062,
-0xF0A4=>0xE063,
-0xF0A5=>0xE064,
-0xF0A6=>0xE065,
-0xF0A7=>0xE066,
-0xF0A8=>0xE067,
-0xF0A9=>0xE068,
-0xF0AA=>0xE069,
-0xF0AB=>0xE06A,
-0xF0AC=>0xE06B,
-0xF0AD=>0xE06C,
-0xF0AE=>0xE06D,
-0xF0AF=>0xE06E,
-0xF0B0=>0xE06F,
-0xF0B1=>0xE070,
-0xF0B2=>0xE071,
-0xF0B3=>0xE072,
-0xF0B4=>0xE073,
-0xF0B5=>0xE074,
-0xF0B6=>0xE075,
-0xF0B7=>0xE076,
-0xF0B8=>0xE077,
-0xF0B9=>0xE078,
-0xF0BA=>0xE079,
-0xF0BB=>0xE07A,
-0xF0BC=>0xE07B,
-0xF0BD=>0xE07C,
-0xF0BE=>0xE07D,
-0xF0BF=>0xE07E,
-0xF0C0=>0xE07F,
-0xF0C1=>0xE080,
-0xF0C2=>0xE081,
-0xF0C3=>0xE082,
-0xF0C4=>0xE083,
-0xF0C5=>0xE084,
-0xF0C6=>0xE085,
-0xF0C7=>0xE086,
-0xF0C8=>0xE087,
-0xF0C9=>0xE088,
-0xF0CA=>0xE089,
-0xF0CB=>0xE08A,
-0xF0CC=>0xE08B,
-0xF0CD=>0xE08C,
-0xF0CE=>0xE08D,
-0xF0CF=>0xE08E,
-0xF0D0=>0xE08F,
-0xF0D1=>0xE090,
-0xF0D2=>0xE091,
-0xF0D3=>0xE092,
-0xF0D4=>0xE093,
-0xF0D5=>0xE094,
-0xF0D6=>0xE095,
-0xF0D7=>0xE096,
-0xF0D8=>0xE097,
-0xF0D9=>0xE098,
-0xF0DA=>0xE099,
-0xF0DB=>0xE09A,
-0xF0DC=>0xE09B,
-0xF0DD=>0xE09C,
-0xF0DE=>0xE09D,
-0xF0DF=>0xE09E,
-0xF0E0=>0xE09F,
-0xF0E1=>0xE0A0,
-0xF0E2=>0xE0A1,
-0xF0E3=>0xE0A2,
-0xF0E4=>0xE0A3,
-0xF0E5=>0xE0A4,
-0xF0E6=>0xE0A5,
-0xF0E7=>0xE0A6,
-0xF0E8=>0xE0A7,
-0xF0E9=>0xE0A8,
-0xF0EA=>0xE0A9,
-0xF0EB=>0xE0AA,
-0xF0EC=>0xE0AB,
-0xF0ED=>0xE0AC,
-0xF0EE=>0xE0AD,
-0xF0EF=>0xE0AE,
-0xF0F0=>0xE0AF,
-0xF0F1=>0xE0B0,
-0xF0F2=>0xE0B1,
-0xF0F3=>0xE0B2,
-0xF0F4=>0xE0B3,
-0xF0F5=>0xE0B4,
-0xF0F6=>0xE0B5,
-0xF0F7=>0xE0B6,
-0xF0F8=>0xE0B7,
-0xF0F9=>0xE0B8,
-0xF0FA=>0xE0B9,
-0xF0FB=>0xE0BA,
-0xF0FC=>0xE0BB,
-0xF140=>0xE0BC,
-0xF141=>0xE0BD,
-0xF142=>0xE0BE,
-0xF143=>0xE0BF,
-0xF144=>0xE0C0,
-0xF145=>0xE0C1,
-0xF146=>0xE0C2,
-0xF147=>0xE0C3,
-0xF148=>0xE0C4,
-0xF149=>0xE0C5,
-0xF14A=>0xE0C6,
-0xF14B=>0xE0C7,
-0xF14C=>0xE0C8,
-0xF14D=>0xE0C9,
-0xF14E=>0xE0CA,
-0xF14F=>0xE0CB,
-0xF150=>0xE0CC,
-0xF151=>0xE0CD,
-0xF152=>0xE0CE,
-0xF153=>0xE0CF,
-0xF154=>0xE0D0,
-0xF155=>0xE0D1,
-0xF156=>0xE0D2,
-0xF157=>0xE0D3,
-0xF158=>0xE0D4,
-0xF159=>0xE0D5,
-0xF15A=>0xE0D6,
-0xF15B=>0xE0D7,
-0xF15C=>0xE0D8,
-0xF15D=>0xE0D9,
-0xF15E=>0xE0DA,
-0xF15F=>0xE0DB,
-0xF160=>0xE0DC,
-0xF161=>0xE0DD,
-0xF162=>0xE0DE,
-0xF163=>0xE0DF,
-0xF164=>0xE0E0,
-0xF165=>0xE0E1,
-0xF166=>0xE0E2,
-0xF167=>0xE0E3,
-0xF168=>0xE0E4,
-0xF169=>0xE0E5,
-0xF16A=>0xE0E6,
-0xF16B=>0xE0E7,
-0xF16C=>0xE0E8,
-0xF16D=>0xE0E9,
-0xF16E=>0xE0EA,
-0xF16F=>0xE0EB,
-0xF170=>0xE0EC,
-0xF171=>0xE0ED,
-0xF172=>0xE0EE,
-0xF173=>0xE0EF,
-0xF174=>0xE0F0,
-0xF175=>0xE0F1,
-0xF176=>0xE0F2,
-0xF177=>0xE0F3,
-0xF178=>0xE0F4,
-0xF179=>0xE0F5,
-0xF17A=>0xE0F6,
-0xF17B=>0xE0F7,
-0xF17C=>0xE0F8,
-0xF17D=>0xE0F9,
-0xF17E=>0xE0FA,
-0xF180=>0xE0FB,
-0xF181=>0xE0FC,
-0xF182=>0xE0FD,
-0xF183=>0xE0FE,
-0xF184=>0xE0FF,
-0xF185=>0xE100,
-0xF186=>0xE101,
-0xF187=>0xE102,
-0xF188=>0xE103,
-0xF189=>0xE104,
-0xF18A=>0xE105,
-0xF18B=>0xE106,
-0xF18C=>0xE107,
-0xF18D=>0xE108,
-0xF18E=>0xE109,
-0xF18F=>0xE10A,
-0xF190=>0xE10B,
-0xF191=>0xE10C,
-0xF192=>0xE10D,
-0xF193=>0xE10E,
-0xF194=>0xE10F,
-0xF195=>0xE110,
-0xF196=>0xE111,
-0xF197=>0xE112,
-0xF198=>0xE113,
-0xF199=>0xE114,
-0xF19A=>0xE115,
-0xF19B=>0xE116,
-0xF19C=>0xE117,
-0xF19D=>0xE118,
-0xF19E=>0xE119,
-0xF19F=>0xE11A,
-0xF1A0=>0xE11B,
-0xF1A1=>0xE11C,
-0xF1A2=>0xE11D,
-0xF1A3=>0xE11E,
-0xF1A4=>0xE11F,
-0xF1A5=>0xE120,
-0xF1A6=>0xE121,
-0xF1A7=>0xE122,
-0xF1A8=>0xE123,
-0xF1A9=>0xE124,
-0xF1AA=>0xE125,
-0xF1AB=>0xE126,
-0xF1AC=>0xE127,
-0xF1AD=>0xE128,
-0xF1AE=>0xE129,
-0xF1AF=>0xE12A,
-0xF1B0=>0xE12B,
-0xF1B1=>0xE12C,
-0xF1B2=>0xE12D,
-0xF1B3=>0xE12E,
-0xF1B4=>0xE12F,
-0xF1B5=>0xE130,
-0xF1B6=>0xE131,
-0xF1B7=>0xE132,
-0xF1B8=>0xE133,
-0xF1B9=>0xE134,
-0xF1BA=>0xE135,
-0xF1BB=>0xE136,
-0xF1BC=>0xE137,
-0xF1BD=>0xE138,
-0xF1BE=>0xE139,
-0xF1BF=>0xE13A,
-0xF1C0=>0xE13B,
-0xF1C1=>0xE13C,
-0xF1C2=>0xE13D,
-0xF1C3=>0xE13E,
-0xF1C4=>0xE13F,
-0xF1C5=>0xE140,
-0xF1C6=>0xE141,
-0xF1C7=>0xE142,
-0xF1C8=>0xE143,
-0xF1C9=>0xE144,
-0xF1CA=>0xE145,
-0xF1CB=>0xE146,
-0xF1CC=>0xE147,
-0xF1CD=>0xE148,
-0xF1CE=>0xE149,
-0xF1CF=>0xE14A,
-0xF1D0=>0xE14B,
-0xF1D1=>0xE14C,
-0xF1D2=>0xE14D,
-0xF1D3=>0xE14E,
-0xF1D4=>0xE14F,
-0xF1D5=>0xE150,
-0xF1D6=>0xE151,
-0xF1D7=>0xE152,
-0xF1D8=>0xE153,
-0xF1D9=>0xE154,
-0xF1DA=>0xE155,
-0xF1DB=>0xE156,
-0xF1DC=>0xE157,
-0xF1DD=>0xE158,
-0xF1DE=>0xE159,
-0xF1DF=>0xE15A,
-0xF1E0=>0xE15B,
-0xF1E1=>0xE15C,
-0xF1E2=>0xE15D,
-0xF1E3=>0xE15E,
-0xF1E4=>0xE15F,
-0xF1E5=>0xE160,
-0xF1E6=>0xE161,
-0xF1E7=>0xE162,
-0xF1E8=>0xE163,
-0xF1E9=>0xE164,
-0xF1EA=>0xE165,
-0xF1EB=>0xE166,
-0xF1EC=>0xE167,
-0xF1ED=>0xE168,
-0xF1EE=>0xE169,
-0xF1EF=>0xE16A,
-0xF1F0=>0xE16B,
-0xF1F1=>0xE16C,
-0xF1F2=>0xE16D,
-0xF1F3=>0xE16E,
-0xF1F4=>0xE16F,
-0xF1F5=>0xE170,
-0xF1F6=>0xE171,
-0xF1F7=>0xE172,
-0xF1F8=>0xE173,
-0xF1F9=>0xE174,
-0xF1FA=>0xE175,
-0xF1FB=>0xE176,
-0xF1FC=>0xE177,
-0xF240=>0xE178,
-0xF241=>0xE179,
-0xF242=>0xE17A,
-0xF243=>0xE17B,
-0xF244=>0xE17C,
-0xF245=>0xE17D,
-0xF246=>0xE17E,
-0xF247=>0xE17F,
-0xF248=>0xE180,
-0xF249=>0xE181,
-0xF24A=>0xE182,
-0xF24B=>0xE183,
-0xF24C=>0xE184,
-0xF24D=>0xE185,
-0xF24E=>0xE186,
-0xF24F=>0xE187,
-0xF250=>0xE188,
-0xF251=>0xE189,
-0xF252=>0xE18A,
-0xF253=>0xE18B,
-0xF254=>0xE18C,
-0xF255=>0xE18D,
-0xF256=>0xE18E,
-0xF257=>0xE18F,
-0xF258=>0xE190,
-0xF259=>0xE191,
-0xF25A=>0xE192,
-0xF25B=>0xE193,
-0xF25C=>0xE194,
-0xF25D=>0xE195,
-0xF25E=>0xE196,
-0xF25F=>0xE197,
-0xF260=>0xE198,
-0xF261=>0xE199,
-0xF262=>0xE19A,
-0xF263=>0xE19B,
-0xF264=>0xE19C,
-0xF265=>0xE19D,
-0xF266=>0xE19E,
-0xF267=>0xE19F,
-0xF268=>0xE1A0,
-0xF269=>0xE1A1,
-0xF26A=>0xE1A2,
-0xF26B=>0xE1A3,
-0xF26C=>0xE1A4,
-0xF26D=>0xE1A5,
-0xF26E=>0xE1A6,
-0xF26F=>0xE1A7,
-0xF270=>0xE1A8,
-0xF271=>0xE1A9,
-0xF272=>0xE1AA,
-0xF273=>0xE1AB,
-0xF274=>0xE1AC,
-0xF275=>0xE1AD,
-0xF276=>0xE1AE,
-0xF277=>0xE1AF,
-0xF278=>0xE1B0,
-0xF279=>0xE1B1,
-0xF27A=>0xE1B2,
-0xF27B=>0xE1B3,
-0xF27C=>0xE1B4,
-0xF27D=>0xE1B5,
-0xF27E=>0xE1B6,
-0xF280=>0xE1B7,
-0xF281=>0xE1B8,
-0xF282=>0xE1B9,
-0xF283=>0xE1BA,
-0xF284=>0xE1BB,
-0xF285=>0xE1BC,
-0xF286=>0xE1BD,
-0xF287=>0xE1BE,
-0xF288=>0xE1BF,
-0xF289=>0xE1C0,
-0xF28A=>0xE1C1,
-0xF28B=>0xE1C2,
-0xF28C=>0xE1C3,
-0xF28D=>0xE1C4,
-0xF28E=>0xE1C5,
-0xF28F=>0xE1C6,
-0xF290=>0xE1C7,
-0xF291=>0xE1C8,
-0xF292=>0xE1C9,
-0xF293=>0xE1CA,
-0xF294=>0xE1CB,
-0xF295=>0xE1CC,
-0xF296=>0xE1CD,
-0xF297=>0xE1CE,
-0xF298=>0xE1CF,
-0xF299=>0xE1D0,
-0xF29A=>0xE1D1,
-0xF29B=>0xE1D2,
-0xF29C=>0xE1D3,
-0xF29D=>0xE1D4,
-0xF29E=>0xE1D5,
-0xF29F=>0xE1D6,
-0xF2A0=>0xE1D7,
-0xF2A1=>0xE1D8,
-0xF2A2=>0xE1D9,
-0xF2A3=>0xE1DA,
-0xF2A4=>0xE1DB,
-0xF2A5=>0xE1DC,
-0xF2A6=>0xE1DD,
-0xF2A7=>0xE1DE,
-0xF2A8=>0xE1DF,
-0xF2A9=>0xE1E0,
-0xF2AA=>0xE1E1,
-0xF2AB=>0xE1E2,
-0xF2AC=>0xE1E3,
-0xF2AD=>0xE1E4,
-0xF2AE=>0xE1E5,
-0xF2AF=>0xE1E6,
-0xF2B0=>0xE1E7,
-0xF2B1=>0xE1E8,
-0xF2B2=>0xE1E9,
-0xF2B3=>0xE1EA,
-0xF2B4=>0xE1EB,
-0xF2B5=>0xE1EC,
-0xF2B6=>0xE1ED,
-0xF2B7=>0xE1EE,
-0xF2B8=>0xE1EF,
-0xF2B9=>0xE1F0,
-0xF2BA=>0xE1F1,
-0xF2BB=>0xE1F2,
-0xF2BC=>0xE1F3,
-0xF2BD=>0xE1F4,
-0xF2BE=>0xE1F5,
-0xF2BF=>0xE1F6,
-0xF2C0=>0xE1F7,
-0xF2C1=>0xE1F8,
-0xF2C2=>0xE1F9,
-0xF2C3=>0xE1FA,
-0xF2C4=>0xE1FB,
-0xF2C5=>0xE1FC,
-0xF2C6=>0xE1FD,
-0xF2C7=>0xE1FE,
-0xF2C8=>0xE1FF,
-0xF2C9=>0xE200,
-0xF2CA=>0xE201,
-0xF2CB=>0xE202,
-0xF2CC=>0xE203,
-0xF2CD=>0xE204,
-0xF2CE=>0xE205,
-0xF2CF=>0xE206,
-0xF2D0=>0xE207,
-0xF2D1=>0xE208,
-0xF2D2=>0xE209,
-0xF2D3=>0xE20A,
-0xF2D4=>0xE20B,
-0xF2D5=>0xE20C,
-0xF2D6=>0xE20D,
-0xF2D7=>0xE20E,
-0xF2D8=>0xE20F,
-0xF2D9=>0xE210,
-0xF2DA=>0xE211,
-0xF2DB=>0xE212,
-0xF2DC=>0xE213,
-0xF2DD=>0xE214,
-0xF2DE=>0xE215,
-0xF2DF=>0xE216,
-0xF2E0=>0xE217,
-0xF2E1=>0xE218,
-0xF2E2=>0xE219,
-0xF2E3=>0xE21A,
-0xF2E4=>0xE21B,
-0xF2E5=>0xE21C,
-0xF2E6=>0xE21D,
-0xF2E7=>0xE21E,
-0xF2E8=>0xE21F,
-0xF2E9=>0xE220,
-0xF2EA=>0xE221,
-0xF2EB=>0xE222,
-0xF2EC=>0xE223,
-0xF2ED=>0xE224,
-0xF2EE=>0xE225,
-0xF2EF=>0xE226,
-0xF2F0=>0xE227,
-0xF2F1=>0xE228,
-0xF2F2=>0xE229,
-0xF2F3=>0xE22A,
-0xF2F4=>0xE22B,
-0xF2F5=>0xE22C,
-0xF2F6=>0xE22D,
-0xF2F7=>0xE22E,
-0xF2F8=>0xE22F,
-0xF2F9=>0xE230,
-0xF2FA=>0xE231,
-0xF2FB=>0xE232,
-0xF2FC=>0xE233,
-0xF340=>0xE234,
-0xF341=>0xE235,
-0xF342=>0xE236,
-0xF343=>0xE237,
-0xF344=>0xE238,
-0xF345=>0xE239,
-0xF346=>0xE23A,
-0xF347=>0xE23B,
-0xF348=>0xE23C,
-0xF349=>0xE23D,
-0xF34A=>0xE23E,
-0xF34B=>0xE23F,
-0xF34C=>0xE240,
-0xF34D=>0xE241,
-0xF34E=>0xE242,
-0xF34F=>0xE243,
-0xF350=>0xE244,
-0xF351=>0xE245,
-0xF352=>0xE246,
-0xF353=>0xE247,
-0xF354=>0xE248,
-0xF355=>0xE249,
-0xF356=>0xE24A,
-0xF357=>0xE24B,
-0xF358=>0xE24C,
-0xF359=>0xE24D,
-0xF35A=>0xE24E,
-0xF35B=>0xE24F,
-0xF35C=>0xE250,
-0xF35D=>0xE251,
-0xF35E=>0xE252,
-0xF35F=>0xE253,
-0xF360=>0xE254,
-0xF361=>0xE255,
-0xF362=>0xE256,
-0xF363=>0xE257,
-0xF364=>0xE258,
-0xF365=>0xE259,
-0xF366=>0xE25A,
-0xF367=>0xE25B,
-0xF368=>0xE25C,
-0xF369=>0xE25D,
-0xF36A=>0xE25E,
-0xF36B=>0xE25F,
-0xF36C=>0xE260,
-0xF36D=>0xE261,
-0xF36E=>0xE262,
-0xF36F=>0xE263,
-0xF370=>0xE264,
-0xF371=>0xE265,
-0xF372=>0xE266,
-0xF373=>0xE267,
-0xF374=>0xE268,
-0xF375=>0xE269,
-0xF376=>0xE26A,
-0xF377=>0xE26B,
-0xF378=>0xE26C,
-0xF379=>0xE26D,
-0xF37A=>0xE26E,
-0xF37B=>0xE26F,
-0xF37C=>0xE270,
-0xF37D=>0xE271,
-0xF37E=>0xE272,
-0xF380=>0xE273,
-0xF381=>0xE274,
-0xF382=>0xE275,
-0xF383=>0xE276,
-0xF384=>0xE277,
-0xF385=>0xE278,
-0xF386=>0xE279,
-0xF387=>0xE27A,
-0xF388=>0xE27B,
-0xF389=>0xE27C,
-0xF38A=>0xE27D,
-0xF38B=>0xE27E,
-0xF38C=>0xE27F,
-0xF38D=>0xE280,
-0xF38E=>0xE281,
-0xF38F=>0xE282,
-0xF390=>0xE283,
-0xF391=>0xE284,
-0xF392=>0xE285,
-0xF393=>0xE286,
-0xF394=>0xE287,
-0xF395=>0xE288,
-0xF396=>0xE289,
-0xF397=>0xE28A,
-0xF398=>0xE28B,
-0xF399=>0xE28C,
-0xF39A=>0xE28D,
-0xF39B=>0xE28E,
-0xF39C=>0xE28F,
-0xF39D=>0xE290,
-0xF39E=>0xE291,
-0xF39F=>0xE292,
-0xF3A0=>0xE293,
-0xF3A1=>0xE294,
-0xF3A2=>0xE295,
-0xF3A3=>0xE296,
-0xF3A4=>0xE297,
-0xF3A5=>0xE298,
-0xF3A6=>0xE299,
-0xF3A7=>0xE29A,
-0xF3A8=>0xE29B,
-0xF3A9=>0xE29C,
-0xF3AA=>0xE29D,
-0xF3AB=>0xE29E,
-0xF3AC=>0xE29F,
-0xF3AD=>0xE2A0,
-0xF3AE=>0xE2A1,
-0xF3AF=>0xE2A2,
-0xF3B0=>0xE2A3,
-0xF3B1=>0xE2A4,
-0xF3B2=>0xE2A5,
-0xF3B3=>0xE2A6,
-0xF3B4=>0xE2A7,
-0xF3B5=>0xE2A8,
-0xF3B6=>0xE2A9,
-0xF3B7=>0xE2AA,
-0xF3B8=>0xE2AB,
-0xF3B9=>0xE2AC,
-0xF3BA=>0xE2AD,
-0xF3BB=>0xE2AE,
-0xF3BC=>0xE2AF,
-0xF3BD=>0xE2B0,
-0xF3BE=>0xE2B1,
-0xF3BF=>0xE2B2,
-0xF3C0=>0xE2B3,
-0xF3C1=>0xE2B4,
-0xF3C2=>0xE2B5,
-0xF3C3=>0xE2B6,
-0xF3C4=>0xE2B7,
-0xF3C5=>0xE2B8,
-0xF3C6=>0xE2B9,
-0xF3C7=>0xE2BA,
-0xF3C8=>0xE2BB,
-0xF3C9=>0xE2BC,
-0xF3CA=>0xE2BD,
-0xF3CB=>0xE2BE,
-0xF3CC=>0xE2BF,
-0xF3CD=>0xE2C0,
-0xF3CE=>0xE2C1,
-0xF3CF=>0xE2C2,
-0xF3D0=>0xE2C3,
-0xF3D1=>0xE2C4,
-0xF3D2=>0xE2C5,
-0xF3D3=>0xE2C6,
-0xF3D4=>0xE2C7,
-0xF3D5=>0xE2C8,
-0xF3D6=>0xE2C9,
-0xF3D7=>0xE2CA,
-0xF3D8=>0xE2CB,
-0xF3D9=>0xE2CC,
-0xF3DA=>0xE2CD,
-0xF3DB=>0xE2CE,
-0xF3DC=>0xE2CF,
-0xF3DD=>0xE2D0,
-0xF3DE=>0xE2D1,
-0xF3DF=>0xE2D2,
-0xF3E0=>0xE2D3,
-0xF3E1=>0xE2D4,
-0xF3E2=>0xE2D5,
-0xF3E3=>0xE2D6,
-0xF3E4=>0xE2D7,
-0xF3E5=>0xE2D8,
-0xF3E6=>0xE2D9,
-0xF3E7=>0xE2DA,
-0xF3E8=>0xE2DB,
-0xF3E9=>0xE2DC,
-0xF3EA=>0xE2DD,
-0xF3EB=>0xE2DE,
-0xF3EC=>0xE2DF,
-0xF3ED=>0xE2E0,
-0xF3EE=>0xE2E1,
-0xF3EF=>0xE2E2,
-0xF3F0=>0xE2E3,
-0xF3F1=>0xE2E4,
-0xF3F2=>0xE2E5,
-0xF3F3=>0xE2E6,
-0xF3F4=>0xE2E7,
-0xF3F5=>0xE2E8,
-0xF3F6=>0xE2E9,
-0xF3F7=>0xE2EA,
-0xF3F8=>0xE2EB,
-0xF3F9=>0xE2EC,
-0xF3FA=>0xE2ED,
-0xF3FB=>0xE2EE,
-0xF3FC=>0xE2EF,
-0xF440=>0xE2F0,
-0xF441=>0xE2F1,
-0xF442=>0xE2F2,
-0xF443=>0xE2F3,
-0xF444=>0xE2F4,
-0xF445=>0xE2F5,
-0xF446=>0xE2F6,
-0xF447=>0xE2F7,
-0xF448=>0xE2F8,
-0xF449=>0xE2F9,
-0xF44A=>0xE2FA,
-0xF44B=>0xE2FB,
-0xF44C=>0xE2FC,
-0xF44D=>0xE2FD,
-0xF44E=>0xE2FE,
-0xF44F=>0xE2FF,
-0xF450=>0xE300,
-0xF451=>0xE301,
-0xF452=>0xE302,
-0xF453=>0xE303,
-0xF454=>0xE304,
-0xF455=>0xE305,
-0xF456=>0xE306,
-0xF457=>0xE307,
-0xF458=>0xE308,
-0xF459=>0xE309,
-0xF45A=>0xE30A,
-0xF45B=>0xE30B,
-0xF45C=>0xE30C,
-0xF45D=>0xE30D,
-0xF45E=>0xE30E,
-0xF45F=>0xE30F,
-0xF460=>0xE310,
-0xF461=>0xE311,
-0xF462=>0xE312,
-0xF463=>0xE313,
-0xF464=>0xE314,
-0xF465=>0xE315,
-0xF466=>0xE316,
-0xF467=>0xE317,
-0xF468=>0xE318,
-0xF469=>0xE319,
-0xF46A=>0xE31A,
-0xF46B=>0xE31B,
-0xF46C=>0xE31C,
-0xF46D=>0xE31D,
-0xF46E=>0xE31E,
-0xF46F=>0xE31F,
-0xF470=>0xE320,
-0xF471=>0xE321,
-0xF472=>0xE322,
-0xF473=>0xE323,
-0xF474=>0xE324,
-0xF475=>0xE325,
-0xF476=>0xE326,
-0xF477=>0xE327,
-0xF478=>0xE328,
-0xF479=>0xE329,
-0xF47A=>0xE32A,
-0xF47B=>0xE32B,
-0xF47C=>0xE32C,
-0xF47D=>0xE32D,
-0xF47E=>0xE32E,
-0xF480=>0xE32F,
-0xF481=>0xE330,
-0xF482=>0xE331,
-0xF483=>0xE332,
-0xF484=>0xE333,
-0xF485=>0xE334,
-0xF486=>0xE335,
-0xF487=>0xE336,
-0xF488=>0xE337,
-0xF489=>0xE338,
-0xF48A=>0xE339,
-0xF48B=>0xE33A,
-0xF48C=>0xE33B,
-0xF48D=>0xE33C,
-0xF48E=>0xE33D,
-0xF48F=>0xE33E,
-0xF490=>0xE33F,
-0xF491=>0xE340,
-0xF492=>0xE341,
-0xF493=>0xE342,
-0xF494=>0xE343,
-0xF495=>0xE344,
-0xF496=>0xE345,
-0xF497=>0xE346,
-0xF498=>0xE347,
-0xF499=>0xE348,
-0xF49A=>0xE349,
-0xF49B=>0xE34A,
-0xF49C=>0xE34B,
-0xF49D=>0xE34C,
-0xF49E=>0xE34D,
-0xF49F=>0xE34E,
-0xF4A0=>0xE34F,
-0xF4A1=>0xE350,
-0xF4A2=>0xE351,
-0xF4A3=>0xE352,
-0xF4A4=>0xE353,
-0xF4A5=>0xE354,
-0xF4A6=>0xE355,
-0xF4A7=>0xE356,
-0xF4A8=>0xE357,
-0xF4A9=>0xE358,
-0xF4AA=>0xE359,
-0xF4AB=>0xE35A,
-0xF4AC=>0xE35B,
-0xF4AD=>0xE35C,
-0xF4AE=>0xE35D,
-0xF4AF=>0xE35E,
-0xF4B0=>0xE35F,
-0xF4B1=>0xE360,
-0xF4B2=>0xE361,
-0xF4B3=>0xE362,
-0xF4B4=>0xE363,
-0xF4B5=>0xE364,
-0xF4B6=>0xE365,
-0xF4B7=>0xE366,
-0xF4B8=>0xE367,
-0xF4B9=>0xE368,
-0xF4BA=>0xE369,
-0xF4BB=>0xE36A,
-0xF4BC=>0xE36B,
-0xF4BD=>0xE36C,
-0xF4BE=>0xE36D,
-0xF4BF=>0xE36E,
-0xF4C0=>0xE36F,
-0xF4C1=>0xE370,
-0xF4C2=>0xE371,
-0xF4C3=>0xE372,
-0xF4C4=>0xE373,
-0xF4C5=>0xE374,
-0xF4C6=>0xE375,
-0xF4C7=>0xE376,
-0xF4C8=>0xE377,
-0xF4C9=>0xE378,
-0xF4CA=>0xE379,
-0xF4CB=>0xE37A,
-0xF4CC=>0xE37B,
-0xF4CD=>0xE37C,
-0xF4CE=>0xE37D,
-0xF4CF=>0xE37E,
-0xF4D0=>0xE37F,
-0xF4D1=>0xE380,
-0xF4D2=>0xE381,
-0xF4D3=>0xE382,
-0xF4D4=>0xE383,
-0xF4D5=>0xE384,
-0xF4D6=>0xE385,
-0xF4D7=>0xE386,
-0xF4D8=>0xE387,
-0xF4D9=>0xE388,
-0xF4DA=>0xE389,
-0xF4DB=>0xE38A,
-0xF4DC=>0xE38B,
-0xF4DD=>0xE38C,
-0xF4DE=>0xE38D,
-0xF4DF=>0xE38E,
-0xF4E0=>0xE38F,
-0xF4E1=>0xE390,
-0xF4E2=>0xE391,
-0xF4E3=>0xE392,
-0xF4E4=>0xE393,
-0xF4E5=>0xE394,
-0xF4E6=>0xE395,
-0xF4E7=>0xE396,
-0xF4E8=>0xE397,
-0xF4E9=>0xE398,
-0xF4EA=>0xE399,
-0xF4EB=>0xE39A,
-0xF4EC=>0xE39B,
-0xF4ED=>0xE39C,
-0xF4EE=>0xE39D,
-0xF4EF=>0xE39E,
-0xF4F0=>0xE39F,
-0xF4F1=>0xE3A0,
-0xF4F2=>0xE3A1,
-0xF4F3=>0xE3A2,
-0xF4F4=>0xE3A3,
-0xF4F5=>0xE3A4,
-0xF4F6=>0xE3A5,
-0xF4F7=>0xE3A6,
-0xF4F8=>0xE3A7,
-0xF4F9=>0xE3A8,
-0xF4FA=>0xE3A9,
-0xF4FB=>0xE3AA,
-0xF4FC=>0xE3AB,
-0xF540=>0xE3AC,
-0xF541=>0xE3AD,
-0xF542=>0xE3AE,
-0xF543=>0xE3AF,
-0xF544=>0xE3B0,
-0xF545=>0xE3B1,
-0xF546=>0xE3B2,
-0xF547=>0xE3B3,
-0xF548=>0xE3B4,
-0xF549=>0xE3B5,
-0xF54A=>0xE3B6,
-0xF54B=>0xE3B7,
-0xF54C=>0xE3B8,
-0xF54D=>0xE3B9,
-0xF54E=>0xE3BA,
-0xF54F=>0xE3BB,
-0xF550=>0xE3BC,
-0xF551=>0xE3BD,
-0xF552=>0xE3BE,
-0xF553=>0xE3BF,
-0xF554=>0xE3C0,
-0xF555=>0xE3C1,
-0xF556=>0xE3C2,
-0xF557=>0xE3C3,
-0xF558=>0xE3C4,
-0xF559=>0xE3C5,
-0xF55A=>0xE3C6,
-0xF55B=>0xE3C7,
-0xF55C=>0xE3C8,
-0xF55D=>0xE3C9,
-0xF55E=>0xE3CA,
-0xF55F=>0xE3CB,
-0xF560=>0xE3CC,
-0xF561=>0xE3CD,
-0xF562=>0xE3CE,
-0xF563=>0xE3CF,
-0xF564=>0xE3D0,
-0xF565=>0xE3D1,
-0xF566=>0xE3D2,
-0xF567=>0xE3D3,
-0xF568=>0xE3D4,
-0xF569=>0xE3D5,
-0xF56A=>0xE3D6,
-0xF56B=>0xE3D7,
-0xF56C=>0xE3D8,
-0xF56D=>0xE3D9,
-0xF56E=>0xE3DA,
-0xF56F=>0xE3DB,
-0xF570=>0xE3DC,
-0xF571=>0xE3DD,
-0xF572=>0xE3DE,
-0xF573=>0xE3DF,
-0xF574=>0xE3E0,
-0xF575=>0xE3E1,
-0xF576=>0xE3E2,
-0xF577=>0xE3E3,
-0xF578=>0xE3E4,
-0xF579=>0xE3E5,
-0xF57A=>0xE3E6,
-0xF57B=>0xE3E7,
-0xF57C=>0xE3E8,
-0xF57D=>0xE3E9,
-0xF57E=>0xE3EA,
-0xF580=>0xE3EB,
-0xF581=>0xE3EC,
-0xF582=>0xE3ED,
-0xF583=>0xE3EE,
-0xF584=>0xE3EF,
-0xF585=>0xE3F0,
-0xF586=>0xE3F1,
-0xF587=>0xE3F2,
-0xF588=>0xE3F3,
-0xF589=>0xE3F4,
-0xF58A=>0xE3F5,
-0xF58B=>0xE3F6,
-0xF58C=>0xE3F7,
-0xF58D=>0xE3F8,
-0xF58E=>0xE3F9,
-0xF58F=>0xE3FA,
-0xF590=>0xE3FB,
-0xF591=>0xE3FC,
-0xF592=>0xE3FD,
-0xF593=>0xE3FE,
-0xF594=>0xE3FF,
-0xF595=>0xE400,
-0xF596=>0xE401,
-0xF597=>0xE402,
-0xF598=>0xE403,
-0xF599=>0xE404,
-0xF59A=>0xE405,
-0xF59B=>0xE406,
-0xF59C=>0xE407,
-0xF59D=>0xE408,
-0xF59E=>0xE409,
-0xF59F=>0xE40A,
-0xF5A0=>0xE40B,
-0xF5A1=>0xE40C,
-0xF5A2=>0xE40D,
-0xF5A3=>0xE40E,
-0xF5A4=>0xE40F,
-0xF5A5=>0xE410,
-0xF5A6=>0xE411,
-0xF5A7=>0xE412,
-0xF5A8=>0xE413,
-0xF5A9=>0xE414,
-0xF5AA=>0xE415,
-0xF5AB=>0xE416,
-0xF5AC=>0xE417,
-0xF5AD=>0xE418,
-0xF5AE=>0xE419,
-0xF5AF=>0xE41A,
-0xF5B0=>0xE41B,
-0xF5B1=>0xE41C,
-0xF5B2=>0xE41D,
-0xF5B3=>0xE41E,
-0xF5B4=>0xE41F,
-0xF5B5=>0xE420,
-0xF5B6=>0xE421,
-0xF5B7=>0xE422,
-0xF5B8=>0xE423,
-0xF5B9=>0xE424,
-0xF5BA=>0xE425,
-0xF5BB=>0xE426,
-0xF5BC=>0xE427,
-0xF5BD=>0xE428,
-0xF5BE=>0xE429,
-0xF5BF=>0xE42A,
-0xF5C0=>0xE42B,
-0xF5C1=>0xE42C,
-0xF5C2=>0xE42D,
-0xF5C3=>0xE42E,
-0xF5C4=>0xE42F,
-0xF5C5=>0xE430,
-0xF5C6=>0xE431,
-0xF5C7=>0xE432,
-0xF5C8=>0xE433,
-0xF5C9=>0xE434,
-0xF5CA=>0xE435,
-0xF5CB=>0xE436,
-0xF5CC=>0xE437,
-0xF5CD=>0xE438,
-0xF5CE=>0xE439,
-0xF5CF=>0xE43A,
-0xF5D0=>0xE43B,
-0xF5D1=>0xE43C,
-0xF5D2=>0xE43D,
-0xF5D3=>0xE43E,
-0xF5D4=>0xE43F,
-0xF5D5=>0xE440,
-0xF5D6=>0xE441,
-0xF5D7=>0xE442,
-0xF5D8=>0xE443,
-0xF5D9=>0xE444,
-0xF5DA=>0xE445,
-0xF5DB=>0xE446,
-0xF5DC=>0xE447,
-0xF5DD=>0xE448,
-0xF5DE=>0xE449,
-0xF5DF=>0xE44A,
-0xF5E0=>0xE44B,
-0xF5E1=>0xE44C,
-0xF5E2=>0xE44D,
-0xF5E3=>0xE44E,
-0xF5E4=>0xE44F,
-0xF5E5=>0xE450,
-0xF5E6=>0xE451,
-0xF5E7=>0xE452,
-0xF5E8=>0xE453,
-0xF5E9=>0xE454,
-0xF5EA=>0xE455,
-0xF5EB=>0xE456,
-0xF5EC=>0xE457,
-0xF5ED=>0xE458,
-0xF5EE=>0xE459,
-0xF5EF=>0xE45A,
-0xF5F0=>0xE45B,
-0xF5F1=>0xE45C,
-0xF5F2=>0xE45D,
-0xF5F3=>0xE45E,
-0xF5F4=>0xE45F,
-0xF5F5=>0xE460,
-0xF5F6=>0xE461,
-0xF5F7=>0xE462,
-0xF5F8=>0xE463,
-0xF5F9=>0xE464,
-0xF5FA=>0xE465,
-0xF5FB=>0xE466,
-0xF5FC=>0xE467,
-0xF640=>0xE468,
-0xF641=>0xE469,
-0xF642=>0xE46A,
-0xF643=>0xE46B,
-0xF644=>0xE46C,
-0xF645=>0xE46D,
-0xF646=>0xE46E,
-0xF647=>0xE46F,
-0xF648=>0xE470,
-0xF649=>0xE471,
-0xF64A=>0xE472,
-0xF64B=>0xE473,
-0xF64C=>0xE474,
-0xF64D=>0xE475,
-0xF64E=>0xE476,
-0xF64F=>0xE477,
-0xF650=>0xE478,
-0xF651=>0xE479,
-0xF652=>0xE47A,
-0xF653=>0xE47B,
-0xF654=>0xE47C,
-0xF655=>0xE47D,
-0xF656=>0xE47E,
-0xF657=>0xE47F,
-0xF658=>0xE480,
-0xF659=>0xE481,
-0xF65A=>0xE482,
-0xF65B=>0xE483,
-0xF65C=>0xE484,
-0xF65D=>0xE485,
-0xF65E=>0xE486,
-0xF65F=>0xE487,
-0xF660=>0xE488,
-0xF661=>0xE489,
-0xF662=>0xE48A,
-0xF663=>0xE48B,
-0xF664=>0xE48C,
-0xF665=>0xE48D,
-0xF666=>0xE48E,
-0xF667=>0xE48F,
-0xF668=>0xE490,
-0xF669=>0xE491,
-0xF66A=>0xE492,
-0xF66B=>0xE493,
-0xF66C=>0xE494,
-0xF66D=>0xE495,
-0xF66E=>0xE496,
-0xF66F=>0xE497,
-0xF670=>0xE498,
-0xF671=>0xE499,
-0xF672=>0xE49A,
-0xF673=>0xE49B,
-0xF674=>0xE49C,
-0xF675=>0xE49D,
-0xF676=>0xE49E,
-0xF677=>0xE49F,
-0xF678=>0xE4A0,
-0xF679=>0xE4A1,
-0xF67A=>0xE4A2,
-0xF67B=>0xE4A3,
-0xF67C=>0xE4A4,
-0xF67D=>0xE4A5,
-0xF67E=>0xE4A6,
-0xF680=>0xE4A7,
-0xF681=>0xE4A8,
-0xF682=>0xE4A9,
-0xF683=>0xE4AA,
-0xF684=>0xE4AB,
-0xF685=>0xE4AC,
-0xF686=>0xE4AD,
-0xF687=>0xE4AE,
-0xF688=>0xE4AF,
-0xF689=>0xE4B0,
-0xF68A=>0xE4B1,
-0xF68B=>0xE4B2,
-0xF68C=>0xE4B3,
-0xF68D=>0xE4B4,
-0xF68E=>0xE4B5,
-0xF68F=>0xE4B6,
-0xF690=>0xE4B7,
-0xF691=>0xE4B8,
-0xF692=>0xE4B9,
-0xF693=>0xE4BA,
-0xF694=>0xE4BB,
-0xF695=>0xE4BC,
-0xF696=>0xE4BD,
-0xF697=>0xE4BE,
-0xF698=>0xE4BF,
-0xF699=>0xE4C0,
-0xF69A=>0xE4C1,
-0xF69B=>0xE4C2,
-0xF69C=>0xE4C3,
-0xF69D=>0xE4C4,
-0xF69E=>0xE4C5,
-0xF69F=>0xE4C6,
-0xF6A0=>0xE4C7,
-0xF6A1=>0xE4C8,
-0xF6A2=>0xE4C9,
-0xF6A3=>0xE4CA,
-0xF6A4=>0xE4CB,
-0xF6A5=>0xE4CC,
-0xF6A6=>0xE4CD,
-0xF6A7=>0xE4CE,
-0xF6A8=>0xE4CF,
-0xF6A9=>0xE4D0,
-0xF6AA=>0xE4D1,
-0xF6AB=>0xE4D2,
-0xF6AC=>0xE4D3,
-0xF6AD=>0xE4D4,
-0xF6AE=>0xE4D5,
-0xF6AF=>0xE4D6,
-0xF6B0=>0xE4D7,
-0xF6B1=>0xE4D8,
-0xF6B2=>0xE4D9,
-0xF6B3=>0xE4DA,
-0xF6B4=>0xE4DB,
-0xF6B5=>0xE4DC,
-0xF6B6=>0xE4DD,
-0xF6B7=>0xE4DE,
-0xF6B8=>0xE4DF,
-0xF6B9=>0xE4E0,
-0xF6BA=>0xE4E1,
-0xF6BB=>0xE4E2,
-0xF6BC=>0xE4E3,
-0xF6BD=>0xE4E4,
-0xF6BE=>0xE4E5,
-0xF6BF=>0xE4E6,
-0xF6C0=>0xE4E7,
-0xF6C1=>0xE4E8,
-0xF6C2=>0xE4E9,
-0xF6C3=>0xE4EA,
-0xF6C4=>0xE4EB,
-0xF6C5=>0xE4EC,
-0xF6C6=>0xE4ED,
-0xF6C7=>0xE4EE,
-0xF6C8=>0xE4EF,
-0xF6C9=>0xE4F0,
-0xF6CA=>0xE4F1,
-0xF6CB=>0xE4F2,
-0xF6CC=>0xE4F3,
-0xF6CD=>0xE4F4,
-0xF6CE=>0xE4F5,
-0xF6CF=>0xE4F6,
-0xF6D0=>0xE4F7,
-0xF6D1=>0xE4F8,
-0xF6D2=>0xE4F9,
-0xF6D3=>0xE4FA,
-0xF6D4=>0xE4FB,
-0xF6D5=>0xE4FC,
-0xF6D6=>0xE4FD,
-0xF6D7=>0xE4FE,
-0xF6D8=>0xE4FF,
-0xF6D9=>0xE500,
-0xF6DA=>0xE501,
-0xF6DB=>0xE502,
-0xF6DC=>0xE503,
-0xF6DD=>0xE504,
-0xF6DE=>0xE505,
-0xF6DF=>0xE506,
-0xF6E0=>0xE507,
-0xF6E1=>0xE508,
-0xF6E2=>0xE509,
-0xF6E3=>0xE50A,
-0xF6E4=>0xE50B,
-0xF6E5=>0xE50C,
-0xF6E6=>0xE50D,
-0xF6E7=>0xE50E,
-0xF6E8=>0xE50F,
-0xF6E9=>0xE510,
-0xF6EA=>0xE511,
-0xF6EB=>0xE512,
-0xF6EC=>0xE513,
-0xF6ED=>0xE514,
-0xF6EE=>0xE515,
-0xF6EF=>0xE516,
-0xF6F0=>0xE517,
-0xF6F1=>0xE518,
-0xF6F2=>0xE519,
-0xF6F3=>0xE51A,
-0xF6F4=>0xE51B,
-0xF6F5=>0xE51C,
-0xF6F6=>0xE51D,
-0xF6F7=>0xE51E,
-0xF6F8=>0xE51F,
-0xF6F9=>0xE520,
-0xF6FA=>0xE521,
-0xF6FB=>0xE522,
-0xF6FC=>0xE523,
-0xF740=>0xE524,
-0xF741=>0xE525,
-0xF742=>0xE526,
-0xF743=>0xE527,
-0xF744=>0xE528,
-0xF745=>0xE529,
-0xF746=>0xE52A,
-0xF747=>0xE52B,
-0xF748=>0xE52C,
-0xF749=>0xE52D,
-0xF74A=>0xE52E,
-0xF74B=>0xE52F,
-0xF74C=>0xE530,
-0xF74D=>0xE531,
-0xF74E=>0xE532,
-0xF74F=>0xE533,
-0xF750=>0xE534,
-0xF751=>0xE535,
-0xF752=>0xE536,
-0xF753=>0xE537,
-0xF754=>0xE538,
-0xF755=>0xE539,
-0xF756=>0xE53A,
-0xF757=>0xE53B,
-0xF758=>0xE53C,
-0xF759=>0xE53D,
-0xF75A=>0xE53E,
-0xF75B=>0xE53F,
-0xF75C=>0xE540,
-0xF75D=>0xE541,
-0xF75E=>0xE542,
-0xF75F=>0xE543,
-0xF760=>0xE544,
-0xF761=>0xE545,
-0xF762=>0xE546,
-0xF763=>0xE547,
-0xF764=>0xE548,
-0xF765=>0xE549,
-0xF766=>0xE54A,
-0xF767=>0xE54B,
-0xF768=>0xE54C,
-0xF769=>0xE54D,
-0xF76A=>0xE54E,
-0xF76B=>0xE54F,
-0xF76C=>0xE550,
-0xF76D=>0xE551,
-0xF76E=>0xE552,
-0xF76F=>0xE553,
-0xF770=>0xE554,
-0xF771=>0xE555,
-0xF772=>0xE556,
-0xF773=>0xE557,
-0xF774=>0xE558,
-0xF775=>0xE559,
-0xF776=>0xE55A,
-0xF777=>0xE55B,
-0xF778=>0xE55C,
-0xF779=>0xE55D,
-0xF77A=>0xE55E,
-0xF77B=>0xE55F,
-0xF77C=>0xE560,
-0xF77D=>0xE561,
-0xF77E=>0xE562,
-0xF780=>0xE563,
-0xF781=>0xE564,
-0xF782=>0xE565,
-0xF783=>0xE566,
-0xF784=>0xE567,
-0xF785=>0xE568,
-0xF786=>0xE569,
-0xF787=>0xE56A,
-0xF788=>0xE56B,
-0xF789=>0xE56C,
-0xF78A=>0xE56D,
-0xF78B=>0xE56E,
-0xF78C=>0xE56F,
-0xF78D=>0xE570,
-0xF78E=>0xE571,
-0xF78F=>0xE572,
-0xF790=>0xE573,
-0xF791=>0xE574,
-0xF792=>0xE575,
-0xF793=>0xE576,
-0xF794=>0xE577,
-0xF795=>0xE578,
-0xF796=>0xE579,
-0xF797=>0xE57A,
-0xF798=>0xE57B,
-0xF799=>0xE57C,
-0xF79A=>0xE57D,
-0xF79B=>0xE57E,
-0xF79C=>0xE57F,
-0xF79D=>0xE580,
-0xF79E=>0xE581,
-0xF79F=>0xE582,
-0xF7A0=>0xE583,
-0xF7A1=>0xE584,
-0xF7A2=>0xE585,
-0xF7A3=>0xE586,
-0xF7A4=>0xE587,
-0xF7A5=>0xE588,
-0xF7A6=>0xE589,
-0xF7A7=>0xE58A,
-0xF7A8=>0xE58B,
-0xF7A9=>0xE58C,
-0xF7AA=>0xE58D,
-0xF7AB=>0xE58E,
-0xF7AC=>0xE58F,
-0xF7AD=>0xE590,
-0xF7AE=>0xE591,
-0xF7AF=>0xE592,
-0xF7B0=>0xE593,
-0xF7B1=>0xE594,
-0xF7B2=>0xE595,
-0xF7B3=>0xE596,
-0xF7B4=>0xE597,
-0xF7B5=>0xE598,
-0xF7B6=>0xE599,
-0xF7B7=>0xE59A,
-0xF7B8=>0xE59B,
-0xF7B9=>0xE59C,
-0xF7BA=>0xE59D,
-0xF7BB=>0xE59E,
-0xF7BC=>0xE59F,
-0xF7BD=>0xE5A0,
-0xF7BE=>0xE5A1,
-0xF7BF=>0xE5A2,
-0xF7C0=>0xE5A3,
-0xF7C1=>0xE5A4,
-0xF7C2=>0xE5A5,
-0xF7C3=>0xE5A6,
-0xF7C4=>0xE5A7,
-0xF7C5=>0xE5A8,
-0xF7C6=>0xE5A9,
-0xF7C7=>0xE5AA,
-0xF7C8=>0xE5AB,
-0xF7C9=>0xE5AC,
-0xF7CA=>0xE5AD,
-0xF7CB=>0xE5AE,
-0xF7CC=>0xE5AF,
-0xF7CD=>0xE5B0,
-0xF7CE=>0xE5B1,
-0xF7CF=>0xE5B2,
-0xF7D0=>0xE5B3,
-0xF7D1=>0xE5B4,
-0xF7D2=>0xE5B5,
-0xF7D3=>0xE5B6,
-0xF7D4=>0xE5B7,
-0xF7D5=>0xE5B8,
-0xF7D6=>0xE5B9,
-0xF7D7=>0xE5BA,
-0xF7D8=>0xE5BB,
-0xF7D9=>0xE5BC,
-0xF7DA=>0xE5BD,
-0xF7DB=>0xE5BE,
-0xF7DC=>0xE5BF,
-0xF7DD=>0xE5C0,
-0xF7DE=>0xE5C1,
-0xF7DF=>0xE5C2,
-0xF7E0=>0xE5C3,
-0xF7E1=>0xE5C4,
-0xF7E2=>0xE5C5,
-0xF7E3=>0xE5C6,
-0xF7E4=>0xE5C7,
-0xF7E5=>0xE5C8,
-0xF7E6=>0xE5C9,
-0xF7E7=>0xE5CA,
-0xF7E8=>0xE5CB,
-0xF7E9=>0xE5CC,
-0xF7EA=>0xE5CD,
-0xF7EB=>0xE5CE,
-0xF7EC=>0xE5CF,
-0xF7ED=>0xE5D0,
-0xF7EE=>0xE5D1,
-0xF7EF=>0xE5D2,
-0xF7F0=>0xE5D3,
-0xF7F1=>0xE5D4,
-0xF7F2=>0xE5D5,
-0xF7F3=>0xE5D6,
-0xF7F4=>0xE5D7,
-0xF7F5=>0xE5D8,
-0xF7F6=>0xE5D9,
-0xF7F7=>0xE5DA,
-0xF7F8=>0xE5DB,
-0xF7F9=>0xE5DC,
-0xF7FA=>0xE5DD,
-0xF7FB=>0xE5DE,
-0xF7FC=>0xE5DF,
-0xF840=>0xE5E0,
-0xF841=>0xE5E1,
-0xF842=>0xE5E2,
-0xF843=>0xE5E3,
-0xF844=>0xE5E4,
-0xF845=>0xE5E5,
-0xF846=>0xE5E6,
-0xF847=>0xE5E7,
-0xF848=>0xE5E8,
-0xF849=>0xE5E9,
-0xF84A=>0xE5EA,
-0xF84B=>0xE5EB,
-0xF84C=>0xE5EC,
-0xF84D=>0xE5ED,
-0xF84E=>0xE5EE,
-0xF84F=>0xE5EF,
-0xF850=>0xE5F0,
-0xF851=>0xE5F1,
-0xF852=>0xE5F2,
-0xF853=>0xE5F3,
-0xF854=>0xE5F4,
-0xF855=>0xE5F5,
-0xF856=>0xE5F6,
-0xF857=>0xE5F7,
-0xF858=>0xE5F8,
-0xF859=>0xE5F9,
-0xF85A=>0xE5FA,
-0xF85B=>0xE5FB,
-0xF85C=>0xE5FC,
-0xF85D=>0xE5FD,
-0xF85E=>0xE5FE,
-0xF85F=>0xE5FF,
-0xF860=>0xE600,
-0xF861=>0xE601,
-0xF862=>0xE602,
-0xF863=>0xE603,
-0xF864=>0xE604,
-0xF865=>0xE605,
-0xF866=>0xE606,
-0xF867=>0xE607,
-0xF868=>0xE608,
-0xF869=>0xE609,
-0xF86A=>0xE60A,
-0xF86B=>0xE60B,
-0xF86C=>0xE60C,
-0xF86D=>0xE60D,
-0xF86E=>0xE60E,
-0xF86F=>0xE60F,
-0xF870=>0xE610,
-0xF871=>0xE611,
-0xF872=>0xE612,
-0xF873=>0xE613,
-0xF874=>0xE614,
-0xF875=>0xE615,
-0xF876=>0xE616,
-0xF877=>0xE617,
-0xF878=>0xE618,
-0xF879=>0xE619,
-0xF87A=>0xE61A,
-0xF87B=>0xE61B,
-0xF87C=>0xE61C,
-0xF87D=>0xE61D,
-0xF87E=>0xE61E,
-0xF880=>0xE61F,
-0xF881=>0xE620,
-0xF882=>0xE621,
-0xF883=>0xE622,
-0xF884=>0xE623,
-0xF885=>0xE624,
-0xF886=>0xE625,
-0xF887=>0xE626,
-0xF888=>0xE627,
-0xF889=>0xE628,
-0xF88A=>0xE629,
-0xF88B=>0xE62A,
-0xF88C=>0xE62B,
-0xF88D=>0xE62C,
-0xF88E=>0xE62D,
-0xF88F=>0xE62E,
-0xF890=>0xE62F,
-0xF891=>0xE630,
-0xF892=>0xE631,
-0xF893=>0xE632,
-0xF894=>0xE633,
-0xF895=>0xE634,
-0xF896=>0xE635,
-0xF897=>0xE636,
-0xF898=>0xE637,
-0xF899=>0xE638,
-0xF89A=>0xE639,
-0xF89B=>0xE63A,
-0xF89C=>0xE63B,
-0xF89D=>0xE63C,
-0xF89E=>0xE63D,
-0xF89F=>0xE63E,
-0xF8A0=>0xE63F,
-0xF8A1=>0xE640,
-0xF8A2=>0xE641,
-0xF8A3=>0xE642,
-0xF8A4=>0xE643,
-0xF8A5=>0xE644,
-0xF8A6=>0xE645,
-0xF8A7=>0xE646,
-0xF8A8=>0xE647,
-0xF8A9=>0xE648,
-0xF8AA=>0xE649,
-0xF8AB=>0xE64A,
-0xF8AC=>0xE64B,
-0xF8AD=>0xE64C,
-0xF8AE=>0xE64D,
-0xF8AF=>0xE64E,
-0xF8B0=>0xE64F,
-0xF8B1=>0xE650,
-0xF8B2=>0xE651,
-0xF8B3=>0xE652,
-0xF8B4=>0xE653,
-0xF8B5=>0xE654,
-0xF8B6=>0xE655,
-0xF8B7=>0xE656,
-0xF8B8=>0xE657,
-0xF8B9=>0xE658,
-0xF8BA=>0xE659,
-0xF8BB=>0xE65A,
-0xF8BC=>0xE65B,
-0xF8BD=>0xE65C,
-0xF8BE=>0xE65D,
-0xF8BF=>0xE65E,
-0xF8C0=>0xE65F,
-0xF8C1=>0xE660,
-0xF8C2=>0xE661,
-0xF8C3=>0xE662,
-0xF8C4=>0xE663,
-0xF8C5=>0xE664,
-0xF8C6=>0xE665,
-0xF8C7=>0xE666,
-0xF8C8=>0xE667,
-0xF8C9=>0xE668,
-0xF8CA=>0xE669,
-0xF8CB=>0xE66A,
-0xF8CC=>0xE66B,
-0xF8CD=>0xE66C,
-0xF8CE=>0xE66D,
-0xF8CF=>0xE66E,
-0xF8D0=>0xE66F,
-0xF8D1=>0xE670,
-0xF8D2=>0xE671,
-0xF8D3=>0xE672,
-0xF8D4=>0xE673,
-0xF8D5=>0xE674,
-0xF8D6=>0xE675,
-0xF8D7=>0xE676,
-0xF8D8=>0xE677,
-0xF8D9=>0xE678,
-0xF8DA=>0xE679,
-0xF8DB=>0xE67A,
-0xF8DC=>0xE67B,
-0xF8DD=>0xE67C,
-0xF8DE=>0xE67D,
-0xF8DF=>0xE67E,
-0xF8E0=>0xE67F,
-0xF8E1=>0xE680,
-0xF8E2=>0xE681,
-0xF8E3=>0xE682,
-0xF8E4=>0xE683,
-0xF8E5=>0xE684,
-0xF8E6=>0xE685,
-0xF8E7=>0xE686,
-0xF8E8=>0xE687,
-0xF8E9=>0xE688,
-0xF8EA=>0xE689,
-0xF8EB=>0xE68A,
-0xF8EC=>0xE68B,
-0xF8ED=>0xE68C,
-0xF8EE=>0xE68D,
-0xF8EF=>0xE68E,
-0xF8F0=>0xE68F,
-0xF8F1=>0xE690,
-0xF8F2=>0xE691,
-0xF8F3=>0xE692,
-0xF8F4=>0xE693,
-0xF8F5=>0xE694,
-0xF8F6=>0xE695,
-0xF8F7=>0xE696,
-0xF8F8=>0xE697,
-0xF8F9=>0xE698,
-0xF8FA=>0xE699,
-0xF8FB=>0xE69A,
-0xF8FC=>0xE69B,
-0xF940=>0xE69C,
-0xF941=>0xE69D,
-0xF942=>0xE69E,
-0xF943=>0xE69F,
-0xF944=>0xE6A0,
-0xF945=>0xE6A1,
-0xF946=>0xE6A2,
-0xF947=>0xE6A3,
-0xF948=>0xE6A4,
-0xF949=>0xE6A5,
-0xF94A=>0xE6A6,
-0xF94B=>0xE6A7,
-0xF94C=>0xE6A8,
-0xF94D=>0xE6A9,
-0xF94E=>0xE6AA,
-0xF94F=>0xE6AB,
-0xF950=>0xE6AC,
-0xF951=>0xE6AD,
-0xF952=>0xE6AE,
-0xF953=>0xE6AF,
-0xF954=>0xE6B0,
-0xF955=>0xE6B1,
-0xF956=>0xE6B2,
-0xF957=>0xE6B3,
-0xF958=>0xE6B4,
-0xF959=>0xE6B5,
-0xF95A=>0xE6B6,
-0xF95B=>0xE6B7,
-0xF95C=>0xE6B8,
-0xF95D=>0xE6B9,
-0xF95E=>0xE6BA,
-0xF95F=>0xE6BB,
-0xF960=>0xE6BC,
-0xF961=>0xE6BD,
-0xF962=>0xE6BE,
-0xF963=>0xE6BF,
-0xF964=>0xE6C0,
-0xF965=>0xE6C1,
-0xF966=>0xE6C2,
-0xF967=>0xE6C3,
-0xF968=>0xE6C4,
-0xF969=>0xE6C5,
-0xF96A=>0xE6C6,
-0xF96B=>0xE6C7,
-0xF96C=>0xE6C8,
-0xF96D=>0xE6C9,
-0xF96E=>0xE6CA,
-0xF96F=>0xE6CB,
-0xF970=>0xE6CC,
-0xF971=>0xE6CD,
-0xF972=>0xE6CE,
-0xF973=>0xE6CF,
-0xF974=>0xE6D0,
-0xF975=>0xE6D1,
-0xF976=>0xE6D2,
-0xF977=>0xE6D3,
-0xF978=>0xE6D4,
-0xF979=>0xE6D5,
-0xF97A=>0xE6D6,
-0xF97B=>0xE6D7,
-0xF97C=>0xE6D8,
-0xF97D=>0xE6D9,
-0xF97E=>0xE6DA,
-0xF980=>0xE6DB,
-0xF981=>0xE6DC,
-0xF982=>0xE6DD,
-0xF983=>0xE6DE,
-0xF984=>0xE6DF,
-0xF985=>0xE6E0,
-0xF986=>0xE6E1,
-0xF987=>0xE6E2,
-0xF988=>0xE6E3,
-0xF989=>0xE6E4,
-0xF98A=>0xE6E5,
-0xF98B=>0xE6E6,
-0xF98C=>0xE6E7,
-0xF98D=>0xE6E8,
-0xF98E=>0xE6E9,
-0xF98F=>0xE6EA,
-0xF990=>0xE6EB,
-0xF991=>0xE6EC,
-0xF992=>0xE6ED,
-0xF993=>0xE6EE,
-0xF994=>0xE6EF,
-0xF995=>0xE6F0,
-0xF996=>0xE6F1,
-0xF997=>0xE6F2,
-0xF998=>0xE6F3,
-0xF999=>0xE6F4,
-0xF99A=>0xE6F5,
-0xF99B=>0xE6F6,
-0xF99C=>0xE6F7,
-0xF99D=>0xE6F8,
-0xF99E=>0xE6F9,
-0xF99F=>0xE6FA,
-0xF9A0=>0xE6FB,
-0xF9A1=>0xE6FC,
-0xF9A2=>0xE6FD,
-0xF9A3=>0xE6FE,
-0xF9A4=>0xE6FF,
-0xF9A5=>0xE700,
-0xF9A6=>0xE701,
-0xF9A7=>0xE702,
-0xF9A8=>0xE703,
-0xF9A9=>0xE704,
-0xF9AA=>0xE705,
-0xF9AB=>0xE706,
-0xF9AC=>0xE707,
-0xF9AD=>0xE708,
-0xF9AE=>0xE709,
-0xF9AF=>0xE70A,
-0xF9B0=>0xE70B,
-0xF9B1=>0xE70C,
-0xF9B2=>0xE70D,
-0xF9B3=>0xE70E,
-0xF9B4=>0xE70F,
-0xF9B5=>0xE710,
-0xF9B6=>0xE711,
-0xF9B7=>0xE712,
-0xF9B8=>0xE713,
-0xF9B9=>0xE714,
-0xF9BA=>0xE715,
-0xF9BB=>0xE716,
-0xF9BC=>0xE717,
-0xF9BD=>0xE718,
-0xF9BE=>0xE719,
-0xF9BF=>0xE71A,
-0xF9C0=>0xE71B,
-0xF9C1=>0xE71C,
-0xF9C2=>0xE71D,
-0xF9C3=>0xE71E,
-0xF9C4=>0xE71F,
-0xF9C5=>0xE720,
-0xF9C6=>0xE721,
-0xF9C7=>0xE722,
-0xF9C8=>0xE723,
-0xF9C9=>0xE724,
-0xF9CA=>0xE725,
-0xF9CB=>0xE726,
-0xF9CC=>0xE727,
-0xF9CD=>0xE728,
-0xF9CE=>0xE729,
-0xF9CF=>0xE72A,
-0xF9D0=>0xE72B,
-0xF9D1=>0xE72C,
-0xF9D2=>0xE72D,
-0xF9D3=>0xE72E,
-0xF9D4=>0xE72F,
-0xF9D5=>0xE730,
-0xF9D6=>0xE731,
-0xF9D7=>0xE732,
-0xF9D8=>0xE733,
-0xF9D9=>0xE734,
-0xF9DA=>0xE735,
-0xF9DB=>0xE736,
-0xF9DC=>0xE737,
-0xF9DD=>0xE738,
-0xF9DE=>0xE739,
-0xF9DF=>0xE73A,
-0xF9E0=>0xE73B,
-0xF9E1=>0xE73C,
-0xF9E2=>0xE73D,
-0xF9E3=>0xE73E,
-0xF9E4=>0xE73F,
-0xF9E5=>0xE740,
-0xF9E6=>0xE741,
-0xF9E7=>0xE742,
-0xF9E8=>0xE743,
-0xF9E9=>0xE744,
-0xF9EA=>0xE745,
-0xF9EB=>0xE746,
-0xF9EC=>0xE747,
-0xF9ED=>0xE748,
-0xF9EE=>0xE749,
-0xF9EF=>0xE74A,
-0xF9F0=>0xE74B,
-0xF9F1=>0xE74C,
-0xF9F2=>0xE74D,
-0xF9F3=>0xE74E,
-0xF9F4=>0xE74F,
-0xF9F5=>0xE750,
-0xF9F6=>0xE751,
-0xF9F7=>0xE752,
-0xF9F8=>0xE753,
-0xF9F9=>0xE754,
-0xF9FA=>0xE755,
-0xF9FB=>0xE756,
-0xF9FC=>0xE757,
-0xFA40=>0x2170,
-0xFA41=>0x2171,
-0xFA42=>0x2172,
-0xFA43=>0x2173,
-0xFA44=>0x2174,
-0xFA45=>0x2175,
-0xFA46=>0x2176,
-0xFA47=>0x2177,
-0xFA48=>0x2178,
-0xFA49=>0x2179,
-0xFA4A=>0x2160,
-0xFA4B=>0x2161,
-0xFA4C=>0x2162,
-0xFA4D=>0x2163,
-0xFA4E=>0x2164,
-0xFA4F=>0x2165,
-0xFA50=>0x2166,
-0xFA51=>0x2167,
-0xFA52=>0x2168,
-0xFA53=>0x2169,
-0xFA54=>0xFFE2,
-0xFA55=>0xFFE4,
-0xFA56=>0xFF07,
-0xFA57=>0xFF02,
-0xFA58=>0x3231,
-0xFA59=>0x2116,
-0xFA5A=>0x2121,
-0xFA5B=>0x2235,
-0xFA5C=>0x7E8A,
-0xFA5D=>0x891C,
-0xFA5E=>0x9348,
-0xFA5F=>0x9288,
-0xFA60=>0x84DC,
-0xFA61=>0x4FC9,
-0xFA62=>0x70BB,
-0xFA63=>0x6631,
-0xFA64=>0x68C8,
-0xFA65=>0x92F9,
-0xFA66=>0x66FB,
-0xFA67=>0x5F45,
-0xFA68=>0x4E28,
-0xFA69=>0x4EE1,
-0xFA6A=>0x4EFC,
-0xFA6B=>0x4F00,
-0xFA6C=>0x4F03,
-0xFA6D=>0x4F39,
-0xFA6E=>0x4F56,
-0xFA6F=>0x4F92,
-0xFA70=>0x4F8A,
-0xFA71=>0x4F9A,
-0xFA72=>0x4F94,
-0xFA73=>0x4FCD,
-0xFA74=>0x5040,
-0xFA75=>0x5022,
-0xFA76=>0x4FFF,
-0xFA77=>0x501E,
-0xFA78=>0x5046,
-0xFA79=>0x5070,
-0xFA7A=>0x5042,
-0xFA7B=>0x5094,
-0xFA7C=>0x50F4,
-0xFA7D=>0x50D8,
-0xFA7E=>0x514A,
-0xFA80=>0x5164,
-0xFA81=>0x519D,
-0xFA82=>0x51BE,
-0xFA83=>0x51EC,
-0xFA84=>0x5215,
-0xFA85=>0x529C,
-0xFA86=>0x52A6,
-0xFA87=>0x52C0,
-0xFA88=>0x52DB,
-0xFA89=>0x5300,
-0xFA8A=>0x5307,
-0xFA8B=>0x5324,
-0xFA8C=>0x5372,
-0xFA8D=>0x5393,
-0xFA8E=>0x53B2,
-0xFA8F=>0x53DD,
-0xFA90=>0xFA0E,
-0xFA91=>0x549C,
-0xFA92=>0x548A,
-0xFA93=>0x54A9,
-0xFA94=>0x54FF,
-0xFA95=>0x5586,
-0xFA96=>0x5759,
-0xFA97=>0x5765,
-0xFA98=>0x57AC,
-0xFA99=>0x57C8,
-0xFA9A=>0x57C7,
-0xFA9B=>0xFA0F,
-0xFA9C=>0xFA10,
-0xFA9D=>0x589E,
-0xFA9E=>0x58B2,
-0xFA9F=>0x590B,
-0xFAA0=>0x5953,
-0xFAA1=>0x595B,
-0xFAA2=>0x595D,
-0xFAA3=>0x5963,
-0xFAA4=>0x59A4,
-0xFAA5=>0x59BA,
-0xFAA6=>0x5B56,
-0xFAA7=>0x5BC0,
-0xFAA8=>0x752F,
-0xFAA9=>0x5BD8,
-0xFAAA=>0x5BEC,
-0xFAAB=>0x5C1E,
-0xFAAC=>0x5CA6,
-0xFAAD=>0x5CBA,
-0xFAAE=>0x5CF5,
-0xFAAF=>0x5D27,
-0xFAB0=>0x5D53,
-0xFAB1=>0xFA11,
-0xFAB2=>0x5D42,
-0xFAB3=>0x5D6D,
-0xFAB4=>0x5DB8,
-0xFAB5=>0x5DB9,
-0xFAB6=>0x5DD0,
-0xFAB7=>0x5F21,
-0xFAB8=>0x5F34,
-0xFAB9=>0x5F67,
-0xFABA=>0x5FB7,
-0xFABB=>0x5FDE,
-0xFABC=>0x605D,
-0xFABD=>0x6085,
-0xFABE=>0x608A,
-0xFABF=>0x60DE,
-0xFAC0=>0x60D5,
-0xFAC1=>0x6120,
-0xFAC2=>0x60F2,
-0xFAC3=>0x6111,
-0xFAC4=>0x6137,
-0xFAC5=>0x6130,
-0xFAC6=>0x6198,
-0xFAC7=>0x6213,
-0xFAC8=>0x62A6,
-0xFAC9=>0x63F5,
-0xFACA=>0x6460,
-0xFACB=>0x649D,
-0xFACC=>0x64CE,
-0xFACD=>0x654E,
-0xFACE=>0x6600,
-0xFACF=>0x6615,
-0xFAD0=>0x663B,
-0xFAD1=>0x6609,
-0xFAD2=>0x662E,
-0xFAD3=>0x661E,
-0xFAD4=>0x6624,
-0xFAD5=>0x6665,
-0xFAD6=>0x6657,
-0xFAD7=>0x6659,
-0xFAD8=>0xFA12,
-0xFAD9=>0x6673,
-0xFADA=>0x6699,
-0xFADB=>0x66A0,
-0xFADC=>0x66B2,
-0xFADD=>0x66BF,
-0xFADE=>0x66FA,
-0xFADF=>0x670E,
-0xFAE0=>0xF929,
-0xFAE1=>0x6766,
-0xFAE2=>0x67BB,
-0xFAE3=>0x6852,
-0xFAE4=>0x67C0,
-0xFAE5=>0x6801,
-0xFAE6=>0x6844,
-0xFAE7=>0x68CF,
-0xFAE8=>0xFA13,
-0xFAE9=>0x6968,
-0xFAEA=>0xFA14,
-0xFAEB=>0x6998,
-0xFAEC=>0x69E2,
-0xFAED=>0x6A30,
-0xFAEE=>0x6A6B,
-0xFAEF=>0x6A46,
-0xFAF0=>0x6A73,
-0xFAF1=>0x6A7E,
-0xFAF2=>0x6AE2,
-0xFAF3=>0x6AE4,
-0xFAF4=>0x6BD6,
-0xFAF5=>0x6C3F,
-0xFAF6=>0x6C5C,
-0xFAF7=>0x6C86,
-0xFAF8=>0x6C6F,
-0xFAF9=>0x6CDA,
-0xFAFA=>0x6D04,
-0xFAFB=>0x6D87,
-0xFAFC=>0x6D6F,
-0xFB40=>0x6D96,
-0xFB41=>0x6DAC,
-0xFB42=>0x6DCF,
-0xFB43=>0x6DF8,
-0xFB44=>0x6DF2,
-0xFB45=>0x6DFC,
-0xFB46=>0x6E39,
-0xFB47=>0x6E5C,
-0xFB48=>0x6E27,
-0xFB49=>0x6E3C,
-0xFB4A=>0x6EBF,
-0xFB4B=>0x6F88,
-0xFB4C=>0x6FB5,
-0xFB4D=>0x6FF5,
-0xFB4E=>0x7005,
-0xFB4F=>0x7007,
-0xFB50=>0x7028,
-0xFB51=>0x7085,
-0xFB52=>0x70AB,
-0xFB53=>0x710F,
-0xFB54=>0x7104,
-0xFB55=>0x715C,
-0xFB56=>0x7146,
-0xFB57=>0x7147,
-0xFB58=>0xFA15,
-0xFB59=>0x71C1,
-0xFB5A=>0x71FE,
-0xFB5B=>0x72B1,
-0xFB5C=>0x72BE,
-0xFB5D=>0x7324,
-0xFB5E=>0xFA16,
-0xFB5F=>0x7377,
-0xFB60=>0x73BD,
-0xFB61=>0x73C9,
-0xFB62=>0x73D6,
-0xFB63=>0x73E3,
-0xFB64=>0x73D2,
-0xFB65=>0x7407,
-0xFB66=>0x73F5,
-0xFB67=>0x7426,
-0xFB68=>0x742A,
-0xFB69=>0x7429,
-0xFB6A=>0x742E,
-0xFB6B=>0x7462,
-0xFB6C=>0x7489,
-0xFB6D=>0x749F,
-0xFB6E=>0x7501,
-0xFB6F=>0x756F,
-0xFB70=>0x7682,
-0xFB71=>0x769C,
-0xFB72=>0x769E,
-0xFB73=>0x769B,
-0xFB74=>0x76A6,
-0xFB75=>0xFA17,
-0xFB76=>0x7746,
-0xFB77=>0x52AF,
-0xFB78=>0x7821,
-0xFB79=>0x784E,
-0xFB7A=>0x7864,
-0xFB7B=>0x787A,
-0xFB7C=>0x7930,
-0xFB7D=>0xFA18,
-0xFB7E=>0xFA19,
-0xFB80=>0xFA1A,
-0xFB81=>0x7994,
-0xFB82=>0xFA1B,
-0xFB83=>0x799B,
-0xFB84=>0x7AD1,
-0xFB85=>0x7AE7,
-0xFB86=>0xFA1C,
-0xFB87=>0x7AEB,
-0xFB88=>0x7B9E,
-0xFB89=>0xFA1D,
-0xFB8A=>0x7D48,
-0xFB8B=>0x7D5C,
-0xFB8C=>0x7DB7,
-0xFB8D=>0x7DA0,
-0xFB8E=>0x7DD6,
-0xFB8F=>0x7E52,
-0xFB90=>0x7F47,
-0xFB91=>0x7FA1,
-0xFB92=>0xFA1E,
-0xFB93=>0x8301,
-0xFB94=>0x8362,
-0xFB95=>0x837F,
-0xFB96=>0x83C7,
-0xFB97=>0x83F6,
-0xFB98=>0x8448,
-0xFB99=>0x84B4,
-0xFB9A=>0x8553,
-0xFB9B=>0x8559,
-0xFB9C=>0x856B,
-0xFB9D=>0xFA1F,
-0xFB9E=>0x85B0,
-0xFB9F=>0xFA20,
-0xFBA0=>0xFA21,
-0xFBA1=>0x8807,
-0xFBA2=>0x88F5,
-0xFBA3=>0x8A12,
-0xFBA4=>0x8A37,
-0xFBA5=>0x8A79,
-0xFBA6=>0x8AA7,
-0xFBA7=>0x8ABE,
-0xFBA8=>0x8ADF,
-0xFBA9=>0xFA22,
-0xFBAA=>0x8AF6,
-0xFBAB=>0x8B53,
-0xFBAC=>0x8B7F,
-0xFBAD=>0x8CF0,
-0xFBAE=>0x8CF4,
-0xFBAF=>0x8D12,
-0xFBB0=>0x8D76,
-0xFBB1=>0xFA23,
-0xFBB2=>0x8ECF,
-0xFBB3=>0xFA24,
-0xFBB4=>0xFA25,
-0xFBB5=>0x9067,
-0xFBB6=>0x90DE,
-0xFBB7=>0xFA26,
-0xFBB8=>0x9115,
-0xFBB9=>0x9127,
-0xFBBA=>0x91DA,
-0xFBBB=>0x91D7,
-0xFBBC=>0x91DE,
-0xFBBD=>0x91ED,
-0xFBBE=>0x91EE,
-0xFBBF=>0x91E4,
-0xFBC0=>0x91E5,
-0xFBC1=>0x9206,
-0xFBC2=>0x9210,
-0xFBC3=>0x920A,
-0xFBC4=>0x923A,
-0xFBC5=>0x9240,
-0xFBC6=>0x923C,
-0xFBC7=>0x924E,
-0xFBC8=>0x9259,
-0xFBC9=>0x9251,
-0xFBCA=>0x9239,
-0xFBCB=>0x9267,
-0xFBCC=>0x92A7,
-0xFBCD=>0x9277,
-0xFBCE=>0x9278,
-0xFBCF=>0x92E7,
-0xFBD0=>0x92D7,
-0xFBD1=>0x92D9,
-0xFBD2=>0x92D0,
-0xFBD3=>0xFA27,
-0xFBD4=>0x92D5,
-0xFBD5=>0x92E0,
-0xFBD6=>0x92D3,
-0xFBD7=>0x9325,
-0xFBD8=>0x9321,
-0xFBD9=>0x92FB,
-0xFBDA=>0xFA28,
-0xFBDB=>0x931E,
-0xFBDC=>0x92FF,
-0xFBDD=>0x931D,
-0xFBDE=>0x9302,
-0xFBDF=>0x9370,
-0xFBE0=>0x9357,
-0xFBE1=>0x93A4,
-0xFBE2=>0x93C6,
-0xFBE3=>0x93DE,
-0xFBE4=>0x93F8,
-0xFBE5=>0x9431,
-0xFBE6=>0x9445,
-0xFBE7=>0x9448,
-0xFBE8=>0x9592,
-0xFBE9=>0xF9DC,
-0xFBEA=>0xFA29,
-0xFBEB=>0x969D,
-0xFBEC=>0x96AF,
-0xFBED=>0x9733,
-0xFBEE=>0x973B,
-0xFBEF=>0x9743,
-0xFBF0=>0x974D,
-0xFBF1=>0x974F,
-0xFBF2=>0x9751,
-0xFBF3=>0x9755,
-0xFBF4=>0x9857,
-0xFBF5=>0x9865,
-0xFBF6=>0xFA2A,
-0xFBF7=>0xFA2B,
-0xFBF8=>0x9927,
-0xFBF9=>0xFA2C,
-0xFBFA=>0x999E,
-0xFBFB=>0x9A4E,
-0xFBFC=>0x9AD9,
-0xFC40=>0x9ADC,
-0xFC41=>0x9B75,
-0xFC42=>0x9B72,
-0xFC43=>0x9B8F,
-0xFC44=>0x9BB1,
-0xFC45=>0x9BBB,
-0xFC46=>0x9C00,
-0xFC47=>0x9D70,
-0xFC48=>0x9D6B,
-0xFC49=>0xFA2D,
-0xFC4A=>0x9E19,
-0xFC4B=>0x9ED1
-);
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/mb_emulator/unitosjis.table b/euc/nucleus/libs/mb_emulator/unitosjis.table
deleted file mode 100755 (executable)
index 43b765b..0000000
+++ /dev/null
@@ -1,9607 +0,0 @@
-<?php
-$mbemu_internals['ucs2tosjis'] = array(
-0x3000=>0x8140,
-0x3001=>0x8141,
-0x3002=>0x8142,
-0xFF0C=>0x8143,
-0xFF0E=>0x8144,
-0x30FB=>0x8145,
-0xFF1A=>0x8146,
-0xFF1B=>0x8147,
-0xFF1F=>0x8148,
-0xFF01=>0x8149,
-0x309B=>0x814A,
-0x309C=>0x814B,
-0x00B4=>0x814C,
-0xFF40=>0x814D,
-0x00A8=>0x814E,
-0xFF3E=>0x814F,
-0xFFE3=>0x8150,
-0xFF3F=>0x8151,
-0x30FD=>0x8152,
-0x30FE=>0x8153,
-0x309D=>0x8154,
-0x309E=>0x8155,
-0x3003=>0x8156,
-0x4EDD=>0x8157,
-0x3005=>0x8158,
-0x3006=>0x8159,
-0x3007=>0x815A,
-0x30FC=>0x815B,
-0x2015=>0x815C,
-0x2010=>0x815D,
-0xFF0F=>0x815E,
-0xFF3C=>0x815F,
-0xFF5E=>0x8160,
-0x2225=>0x8161,
-0xFF5C=>0x8162,
-0x2026=>0x8163,
-0x2025=>0x8164,
-0x2018=>0x8165,
-0x2019=>0x8166,
-0x201C=>0x8167,
-0x201D=>0x8168,
-0xFF08=>0x8169,
-0xFF09=>0x816A,
-0x3014=>0x816B,
-0x3015=>0x816C,
-0xFF3B=>0x816D,
-0xFF3D=>0x816E,
-0xFF5B=>0x816F,
-0xFF5D=>0x8170,
-0x3008=>0x8171,
-0x3009=>0x8172,
-0x300A=>0x8173,
-0x300B=>0x8174,
-0x300C=>0x8175,
-0x300D=>0x8176,
-0x300E=>0x8177,
-0x300F=>0x8178,
-0x3010=>0x8179,
-0x3011=>0x817A,
-0xFF0B=>0x817B,
-0xFF0D=>0x817C,
-0x00B1=>0x817D,
-0x00D7=>0x817E,
-0x00F7=>0x8180,
-0xFF1D=>0x8181,
-0x2260=>0x8182,
-0xFF1C=>0x8183,
-0xFF1E=>0x8184,
-0x2266=>0x8185,
-0x2267=>0x8186,
-0x221E=>0x8187,
-0x2234=>0x8188,
-0x2642=>0x8189,
-0x2640=>0x818A,
-0x00B0=>0x818B,
-0x2032=>0x818C,
-0x2033=>0x818D,
-0x2103=>0x818E,
-0xFFE5=>0x818F,
-0xFF04=>0x8190,
-0xFFE0=>0x8191,
-0xFFE1=>0x8192,
-0xFF05=>0x8193,
-0xFF03=>0x8194,
-0xFF06=>0x8195,
-0xFF0A=>0x8196,
-0xFF20=>0x8197,
-0x00A7=>0x8198,
-0x2606=>0x8199,
-0x2605=>0x819A,
-0x25CB=>0x819B,
-0x25CF=>0x819C,
-0x25CE=>0x819D,
-0x25C7=>0x819E,
-0x25C6=>0x819F,
-0x25A1=>0x81A0,
-0x25A0=>0x81A1,
-0x25B3=>0x81A2,
-0x25B2=>0x81A3,
-0x25BD=>0x81A4,
-0x25BC=>0x81A5,
-0x203B=>0x81A6,
-0x3012=>0x81A7,
-0x2192=>0x81A8,
-0x2190=>0x81A9,
-0x2191=>0x81AA,
-0x2193=>0x81AB,
-0x3013=>0x81AC,
-0x2208=>0x81B8,
-0x220B=>0x81B9,
-0x2286=>0x81BA,
-0x2287=>0x81BB,
-0x2282=>0x81BC,
-0x2283=>0x81BD,
-0x222A=>0x81BE,
-0x2229=>0x81BF,
-0x2227=>0x81C8,
-0x2228=>0x81C9,
-0xFFE2=>0x81CA,
-0x21D2=>0x81CB,
-0x21D4=>0x81CC,
-0x2200=>0x81CD,
-0x2203=>0x81CE,
-0x2220=>0x81DA,
-0x22A5=>0x81DB,
-0x2312=>0x81DC,
-0x2202=>0x81DD,
-0x2207=>0x81DE,
-0x2261=>0x81DF,
-0x2252=>0x81E0,
-0x226A=>0x81E1,
-0x226B=>0x81E2,
-0x221A=>0x81E3,
-0x223D=>0x81E4,
-0x221D=>0x81E5,
-0x2235=>0x81E6,
-0x222B=>0x81E7,
-0x222C=>0x81E8,
-0x212B=>0x81F0,
-0x2030=>0x81F1,
-0x266F=>0x81F2,
-0x266D=>0x81F3,
-0x266A=>0x81F4,
-0x2020=>0x81F5,
-0x2021=>0x81F6,
-0x00B6=>0x81F7,
-0x25EF=>0x81FC,
-0xFF10=>0x824F,
-0xFF11=>0x8250,
-0xFF12=>0x8251,
-0xFF13=>0x8252,
-0xFF14=>0x8253,
-0xFF15=>0x8254,
-0xFF16=>0x8255,
-0xFF17=>0x8256,
-0xFF18=>0x8257,
-0xFF19=>0x8258,
-0xFF21=>0x8260,
-0xFF22=>0x8261,
-0xFF23=>0x8262,
-0xFF24=>0x8263,
-0xFF25=>0x8264,
-0xFF26=>0x8265,
-0xFF27=>0x8266,
-0xFF28=>0x8267,
-0xFF29=>0x8268,
-0xFF2A=>0x8269,
-0xFF2B=>0x826A,
-0xFF2C=>0x826B,
-0xFF2D=>0x826C,
-0xFF2E=>0x826D,
-0xFF2F=>0x826E,
-0xFF30=>0x826F,
-0xFF31=>0x8270,
-0xFF32=>0x8271,
-0xFF33=>0x8272,
-0xFF34=>0x8273,
-0xFF35=>0x8274,
-0xFF36=>0x8275,
-0xFF37=>0x8276,
-0xFF38=>0x8277,
-0xFF39=>0x8278,
-0xFF3A=>0x8279,
-0xFF41=>0x8281,
-0xFF42=>0x8282,
-0xFF43=>0x8283,
-0xFF44=>0x8284,
-0xFF45=>0x8285,
-0xFF46=>0x8286,
-0xFF47=>0x8287,
-0xFF48=>0x8288,
-0xFF49=>0x8289,
-0xFF4A=>0x828A,
-0xFF4B=>0x828B,
-0xFF4C=>0x828C,
-0xFF4D=>0x828D,
-0xFF4E=>0x828E,
-0xFF4F=>0x828F,
-0xFF50=>0x8290,
-0xFF51=>0x8291,
-0xFF52=>0x8292,
-0xFF53=>0x8293,
-0xFF54=>0x8294,
-0xFF55=>0x8295,
-0xFF56=>0x8296,
-0xFF57=>0x8297,
-0xFF58=>0x8298,
-0xFF59=>0x8299,
-0xFF5A=>0x829A,
-0x3041=>0x829F,
-0x3042=>0x82A0,
-0x3043=>0x82A1,
-0x3044=>0x82A2,
-0x3045=>0x82A3,
-0x3046=>0x82A4,
-0x3047=>0x82A5,
-0x3048=>0x82A6,
-0x3049=>0x82A7,
-0x304A=>0x82A8,
-0x304B=>0x82A9,
-0x304C=>0x82AA,
-0x304D=>0x82AB,
-0x304E=>0x82AC,
-0x304F=>0x82AD,
-0x3050=>0x82AE,
-0x3051=>0x82AF,
-0x3052=>0x82B0,
-0x3053=>0x82B1,
-0x3054=>0x82B2,
-0x3055=>0x82B3,
-0x3056=>0x82B4,
-0x3057=>0x82B5,
-0x3058=>0x82B6,
-0x3059=>0x82B7,
-0x305A=>0x82B8,
-0x305B=>0x82B9,
-0x305C=>0x82BA,
-0x305D=>0x82BB,
-0x305E=>0x82BC,
-0x305F=>0x82BD,
-0x3060=>0x82BE,
-0x3061=>0x82BF,
-0x3062=>0x82C0,
-0x3063=>0x82C1,
-0x3064=>0x82C2,
-0x3065=>0x82C3,
-0x3066=>0x82C4,
-0x3067=>0x82C5,
-0x3068=>0x82C6,
-0x3069=>0x82C7,
-0x306A=>0x82C8,
-0x306B=>0x82C9,
-0x306C=>0x82CA,
-0x306D=>0x82CB,
-0x306E=>0x82CC,
-0x306F=>0x82CD,
-0x3070=>0x82CE,
-0x3071=>0x82CF,
-0x3072=>0x82D0,
-0x3073=>0x82D1,
-0x3074=>0x82D2,
-0x3075=>0x82D3,
-0x3076=>0x82D4,
-0x3077=>0x82D5,
-0x3078=>0x82D6,
-0x3079=>0x82D7,
-0x307A=>0x82D8,
-0x307B=>0x82D9,
-0x307C=>0x82DA,
-0x307D=>0x82DB,
-0x307E=>0x82DC,
-0x307F=>0x82DD,
-0x3080=>0x82DE,
-0x3081=>0x82DF,
-0x3082=>0x82E0,
-0x3083=>0x82E1,
-0x3084=>0x82E2,
-0x3085=>0x82E3,
-0x3086=>0x82E4,
-0x3087=>0x82E5,
-0x3088=>0x82E6,
-0x3089=>0x82E7,
-0x308A=>0x82E8,
-0x308B=>0x82E9,
-0x308C=>0x82EA,
-0x308D=>0x82EB,
-0x308E=>0x82EC,
-0x308F=>0x82ED,
-0x3090=>0x82EE,
-0x3091=>0x82EF,
-0x3092=>0x82F0,
-0x3093=>0x82F1,
-0x30A1=>0x8340,
-0x30A2=>0x8341,
-0x30A3=>0x8342,
-0x30A4=>0x8343,
-0x30A5=>0x8344,
-0x30A6=>0x8345,
-0x30A7=>0x8346,
-0x30A8=>0x8347,
-0x30A9=>0x8348,
-0x30AA=>0x8349,
-0x30AB=>0x834A,
-0x30AC=>0x834B,
-0x30AD=>0x834C,
-0x30AE=>0x834D,
-0x30AF=>0x834E,
-0x30B0=>0x834F,
-0x30B1=>0x8350,
-0x30B2=>0x8351,
-0x30B3=>0x8352,
-0x30B4=>0x8353,
-0x30B5=>0x8354,
-0x30B6=>0x8355,
-0x30B7=>0x8356,
-0x30B8=>0x8357,
-0x30B9=>0x8358,
-0x30BA=>0x8359,
-0x30BB=>0x835A,
-0x30BC=>0x835B,
-0x30BD=>0x835C,
-0x30BE=>0x835D,
-0x30BF=>0x835E,
-0x30C0=>0x835F,
-0x30C1=>0x8360,
-0x30C2=>0x8361,
-0x30C3=>0x8362,
-0x30C4=>0x8363,
-0x30C5=>0x8364,
-0x30C6=>0x8365,
-0x30C7=>0x8366,
-0x30C8=>0x8367,
-0x30C9=>0x8368,
-0x30CA=>0x8369,
-0x30CB=>0x836A,
-0x30CC=>0x836B,
-0x30CD=>0x836C,
-0x30CE=>0x836D,
-0x30CF=>0x836E,
-0x30D0=>0x836F,
-0x30D1=>0x8370,
-0x30D2=>0x8371,
-0x30D3=>0x8372,
-0x30D4=>0x8373,
-0x30D5=>0x8374,
-0x30D6=>0x8375,
-0x30D7=>0x8376,
-0x30D8=>0x8377,
-0x30D9=>0x8378,
-0x30DA=>0x8379,
-0x30DB=>0x837A,
-0x30DC=>0x837B,
-0x30DD=>0x837C,
-0x30DE=>0x837D,
-0x30DF=>0x837E,
-0x30E0=>0x8380,
-0x30E1=>0x8381,
-0x30E2=>0x8382,
-0x30E3=>0x8383,
-0x30E4=>0x8384,
-0x30E5=>0x8385,
-0x30E6=>0x8386,
-0x30E7=>0x8387,
-0x30E8=>0x8388,
-0x30E9=>0x8389,
-0x30EA=>0x838A,
-0x30EB=>0x838B,
-0x30EC=>0x838C,
-0x30ED=>0x838D,
-0x30EE=>0x838E,
-0x30EF=>0x838F,
-0x30F0=>0x8390,
-0x30F1=>0x8391,
-0x30F2=>0x8392,
-0x30F3=>0x8393,
-0x30F4=>0x8394,
-0x30F5=>0x8395,
-0x30F6=>0x8396,
-0x0391=>0x839F,
-0x0392=>0x83A0,
-0x0393=>0x83A1,
-0x0394=>0x83A2,
-0x0395=>0x83A3,
-0x0396=>0x83A4,
-0x0397=>0x83A5,
-0x0398=>0x83A6,
-0x0399=>0x83A7,
-0x039A=>0x83A8,
-0x039B=>0x83A9,
-0x039C=>0x83AA,
-0x039D=>0x83AB,
-0x039E=>0x83AC,
-0x039F=>0x83AD,
-0x03A0=>0x83AE,
-0x03A1=>0x83AF,
-0x03A3=>0x83B0,
-0x03A4=>0x83B1,
-0x03A5=>0x83B2,
-0x03A6=>0x83B3,
-0x03A7=>0x83B4,
-0x03A8=>0x83B5,
-0x03A9=>0x83B6,
-0x03B1=>0x83BF,
-0x03B2=>0x83C0,
-0x03B3=>0x83C1,
-0x03B4=>0x83C2,
-0x03B5=>0x83C3,
-0x03B6=>0x83C4,
-0x03B7=>0x83C5,
-0x03B8=>0x83C6,
-0x03B9=>0x83C7,
-0x03BA=>0x83C8,
-0x03BB=>0x83C9,
-0x03BC=>0x83CA,
-0x03BD=>0x83CB,
-0x03BE=>0x83CC,
-0x03BF=>0x83CD,
-0x03C0=>0x83CE,
-0x03C1=>0x83CF,
-0x03C3=>0x83D0,
-0x03C4=>0x83D1,
-0x03C5=>0x83D2,
-0x03C6=>0x83D3,
-0x03C7=>0x83D4,
-0x03C8=>0x83D5,
-0x03C9=>0x83D6,
-0x0410=>0x8440,
-0x0411=>0x8441,
-0x0412=>0x8442,
-0x0413=>0x8443,
-0x0414=>0x8444,
-0x0415=>0x8445,
-0x0401=>0x8446,
-0x0416=>0x8447,
-0x0417=>0x8448,
-0x0418=>0x8449,
-0x0419=>0x844A,
-0x041A=>0x844B,
-0x041B=>0x844C,
-0x041C=>0x844D,
-0x041D=>0x844E,
-0x041E=>0x844F,
-0x041F=>0x8450,
-0x0420=>0x8451,
-0x0421=>0x8452,
-0x0422=>0x8453,
-0x0423=>0x8454,
-0x0424=>0x8455,
-0x0425=>0x8456,
-0x0426=>0x8457,
-0x0427=>0x8458,
-0x0428=>0x8459,
-0x0429=>0x845A,
-0x042A=>0x845B,
-0x042B=>0x845C,
-0x042C=>0x845D,
-0x042D=>0x845E,
-0x042E=>0x845F,
-0x042F=>0x8460,
-0x0430=>0x8470,
-0x0431=>0x8471,
-0x0432=>0x8472,
-0x0433=>0x8473,
-0x0434=>0x8474,
-0x0435=>0x8475,
-0x0451=>0x8476,
-0x0436=>0x8477,
-0x0437=>0x8478,
-0x0438=>0x8479,
-0x0439=>0x847A,
-0x043A=>0x847B,
-0x043B=>0x847C,
-0x043C=>0x847D,
-0x043D=>0x847E,
-0x043E=>0x8480,
-0x043F=>0x8481,
-0x0440=>0x8482,
-0x0441=>0x8483,
-0x0442=>0x8484,
-0x0443=>0x8485,
-0x0444=>0x8486,
-0x0445=>0x8487,
-0x0446=>0x8488,
-0x0447=>0x8489,
-0x0448=>0x848A,
-0x0449=>0x848B,
-0x044A=>0x848C,
-0x044B=>0x848D,
-0x044C=>0x848E,
-0x044D=>0x848F,
-0x044E=>0x8490,
-0x044F=>0x8491,
-0x2500=>0x849F,
-0x2502=>0x84A0,
-0x250C=>0x84A1,
-0x2510=>0x84A2,
-0x2518=>0x84A3,
-0x2514=>0x84A4,
-0x251C=>0x84A5,
-0x252C=>0x84A6,
-0x2524=>0x84A7,
-0x2534=>0x84A8,
-0x253C=>0x84A9,
-0x2501=>0x84AA,
-0x2503=>0x84AB,
-0x250F=>0x84AC,
-0x2513=>0x84AD,
-0x251B=>0x84AE,
-0x2517=>0x84AF,
-0x2523=>0x84B0,
-0x2533=>0x84B1,
-0x252B=>0x84B2,
-0x253B=>0x84B3,
-0x254B=>0x84B4,
-0x2520=>0x84B5,
-0x252F=>0x84B6,
-0x2528=>0x84B7,
-0x2537=>0x84B8,
-0x253F=>0x84B9,
-0x251D=>0x84BA,
-0x2530=>0x84BB,
-0x2525=>0x84BC,
-0x2538=>0x84BD,
-0x2542=>0x84BE,
-0x2460=>0x8740,
-0x2461=>0x8741,
-0x2462=>0x8742,
-0x2463=>0x8743,
-0x2464=>0x8744,
-0x2465=>0x8745,
-0x2466=>0x8746,
-0x2467=>0x8747,
-0x2468=>0x8748,
-0x2469=>0x8749,
-0x246A=>0x874A,
-0x246B=>0x874B,
-0x246C=>0x874C,
-0x246D=>0x874D,
-0x246E=>0x874E,
-0x246F=>0x874F,
-0x2470=>0x8750,
-0x2471=>0x8751,
-0x2472=>0x8752,
-0x2473=>0x8753,
-0x2160=>0x8754,
-0x2161=>0x8755,
-0x2162=>0x8756,
-0x2163=>0x8757,
-0x2164=>0x8758,
-0x2165=>0x8759,
-0x2166=>0x875A,
-0x2167=>0x875B,
-0x2168=>0x875C,
-0x2169=>0x875D,
-0x3349=>0x875F,
-0x3314=>0x8760,
-0x3322=>0x8761,
-0x334D=>0x8762,
-0x3318=>0x8763,
-0x3327=>0x8764,
-0x3303=>0x8765,
-0x3336=>0x8766,
-0x3351=>0x8767,
-0x3357=>0x8768,
-0x330D=>0x8769,
-0x3326=>0x876A,
-0x3323=>0x876B,
-0x332B=>0x876C,
-0x334A=>0x876D,
-0x333B=>0x876E,
-0x339C=>0x876F,
-0x339D=>0x8770,
-0x339E=>0x8771,
-0x338E=>0x8772,
-0x338F=>0x8773,
-0x33C4=>0x8774,
-0x33A1=>0x8775,
-0x337B=>0x877E,
-0x301D=>0x8780,
-0x301F=>0x8781,
-0x2116=>0x8782,
-0x33CD=>0x8783,
-0x2121=>0x8784,
-0x32A4=>0x8785,
-0x32A5=>0x8786,
-0x32A6=>0x8787,
-0x32A7=>0x8788,
-0x32A8=>0x8789,
-0x3231=>0x878A,
-0x3232=>0x878B,
-0x3239=>0x878C,
-0x337E=>0x878D,
-0x337D=>0x878E,
-0x337C=>0x878F,
-0x2252=>0x8790,
-0x2261=>0x8791,
-0x222B=>0x8792,
-0x222E=>0x8793,
-0x2211=>0x8794,
-0x221A=>0x8795,
-0x22A5=>0x8796,
-0x2220=>0x8797,
-0x221F=>0x8798,
-0x22BF=>0x8799,
-0x2235=>0x879A,
-0x2229=>0x879B,
-0x222A=>0x879C,
-0x4E9C=>0x889F,
-0x5516=>0x88A0,
-0x5A03=>0x88A1,
-0x963F=>0x88A2,
-0x54C0=>0x88A3,
-0x611B=>0x88A4,
-0x6328=>0x88A5,
-0x59F6=>0x88A6,
-0x9022=>0x88A7,
-0x8475=>0x88A8,
-0x831C=>0x88A9,
-0x7A50=>0x88AA,
-0x60AA=>0x88AB,
-0x63E1=>0x88AC,
-0x6E25=>0x88AD,
-0x65ED=>0x88AE,
-0x8466=>0x88AF,
-0x82A6=>0x88B0,
-0x9BF5=>0x88B1,
-0x6893=>0x88B2,
-0x5727=>0x88B3,
-0x65A1=>0x88B4,
-0x6271=>0x88B5,
-0x5B9B=>0x88B6,
-0x59D0=>0x88B7,
-0x867B=>0x88B8,
-0x98F4=>0x88B9,
-0x7D62=>0x88BA,
-0x7DBE=>0x88BB,
-0x9B8E=>0x88BC,
-0x6216=>0x88BD,
-0x7C9F=>0x88BE,
-0x88B7=>0x88BF,
-0x5B89=>0x88C0,
-0x5EB5=>0x88C1,
-0x6309=>0x88C2,
-0x6697=>0x88C3,
-0x6848=>0x88C4,
-0x95C7=>0x88C5,
-0x978D=>0x88C6,
-0x674F=>0x88C7,
-0x4EE5=>0x88C8,
-0x4F0A=>0x88C9,
-0x4F4D=>0x88CA,
-0x4F9D=>0x88CB,
-0x5049=>0x88CC,
-0x56F2=>0x88CD,
-0x5937=>0x88CE,
-0x59D4=>0x88CF,
-0x5A01=>0x88D0,
-0x5C09=>0x88D1,
-0x60DF=>0x88D2,
-0x610F=>0x88D3,
-0x6170=>0x88D4,
-0x6613=>0x88D5,
-0x6905=>0x88D6,
-0x70BA=>0x88D7,
-0x754F=>0x88D8,
-0x7570=>0x88D9,
-0x79FB=>0x88DA,
-0x7DAD=>0x88DB,
-0x7DEF=>0x88DC,
-0x80C3=>0x88DD,
-0x840E=>0x88DE,
-0x8863=>0x88DF,
-0x8B02=>0x88E0,
-0x9055=>0x88E1,
-0x907A=>0x88E2,
-0x533B=>0x88E3,
-0x4E95=>0x88E4,
-0x4EA5=>0x88E5,
-0x57DF=>0x88E6,
-0x80B2=>0x88E7,
-0x90C1=>0x88E8,
-0x78EF=>0x88E9,
-0x4E00=>0x88EA,
-0x58F1=>0x88EB,
-0x6EA2=>0x88EC,
-0x9038=>0x88ED,
-0x7A32=>0x88EE,
-0x8328=>0x88EF,
-0x828B=>0x88F0,
-0x9C2F=>0x88F1,
-0x5141=>0x88F2,
-0x5370=>0x88F3,
-0x54BD=>0x88F4,
-0x54E1=>0x88F5,
-0x56E0=>0x88F6,
-0x59FB=>0x88F7,
-0x5F15=>0x88F8,
-0x98F2=>0x88F9,
-0x6DEB=>0x88FA,
-0x80E4=>0x88FB,
-0x852D=>0x88FC,
-0x9662=>0x8940,
-0x9670=>0x8941,
-0x96A0=>0x8942,
-0x97FB=>0x8943,
-0x540B=>0x8944,
-0x53F3=>0x8945,
-0x5B87=>0x8946,
-0x70CF=>0x8947,
-0x7FBD=>0x8948,
-0x8FC2=>0x8949,
-0x96E8=>0x894A,
-0x536F=>0x894B,
-0x9D5C=>0x894C,
-0x7ABA=>0x894D,
-0x4E11=>0x894E,
-0x7893=>0x894F,
-0x81FC=>0x8950,
-0x6E26=>0x8951,
-0x5618=>0x8952,
-0x5504=>0x8953,
-0x6B1D=>0x8954,
-0x851A=>0x8955,
-0x9C3B=>0x8956,
-0x59E5=>0x8957,
-0x53A9=>0x8958,
-0x6D66=>0x8959,
-0x74DC=>0x895A,
-0x958F=>0x895B,
-0x5642=>0x895C,
-0x4E91=>0x895D,
-0x904B=>0x895E,
-0x96F2=>0x895F,
-0x834F=>0x8960,
-0x990C=>0x8961,
-0x53E1=>0x8962,
-0x55B6=>0x8963,
-0x5B30=>0x8964,
-0x5F71=>0x8965,
-0x6620=>0x8966,
-0x66F3=>0x8967,
-0x6804=>0x8968,
-0x6C38=>0x8969,
-0x6CF3=>0x896A,
-0x6D29=>0x896B,
-0x745B=>0x896C,
-0x76C8=>0x896D,
-0x7A4E=>0x896E,
-0x9834=>0x896F,
-0x82F1=>0x8970,
-0x885B=>0x8971,
-0x8A60=>0x8972,
-0x92ED=>0x8973,
-0x6DB2=>0x8974,
-0x75AB=>0x8975,
-0x76CA=>0x8976,
-0x99C5=>0x8977,
-0x60A6=>0x8978,
-0x8B01=>0x8979,
-0x8D8A=>0x897A,
-0x95B2=>0x897B,
-0x698E=>0x897C,
-0x53AD=>0x897D,
-0x5186=>0x897E,
-0x5712=>0x8980,
-0x5830=>0x8981,
-0x5944=>0x8982,
-0x5BB4=>0x8983,
-0x5EF6=>0x8984,
-0x6028=>0x8985,
-0x63A9=>0x8986,
-0x63F4=>0x8987,
-0x6CBF=>0x8988,
-0x6F14=>0x8989,
-0x708E=>0x898A,
-0x7114=>0x898B,
-0x7159=>0x898C,
-0x71D5=>0x898D,
-0x733F=>0x898E,
-0x7E01=>0x898F,
-0x8276=>0x8990,
-0x82D1=>0x8991,
-0x8597=>0x8992,
-0x9060=>0x8993,
-0x925B=>0x8994,
-0x9D1B=>0x8995,
-0x5869=>0x8996,
-0x65BC=>0x8997,
-0x6C5A=>0x8998,
-0x7525=>0x8999,
-0x51F9=>0x899A,
-0x592E=>0x899B,
-0x5965=>0x899C,
-0x5F80=>0x899D,
-0x5FDC=>0x899E,
-0x62BC=>0x899F,
-0x65FA=>0x89A0,
-0x6A2A=>0x89A1,
-0x6B27=>0x89A2,
-0x6BB4=>0x89A3,
-0x738B=>0x89A4,
-0x7FC1=>0x89A5,
-0x8956=>0x89A6,
-0x9D2C=>0x89A7,
-0x9D0E=>0x89A8,
-0x9EC4=>0x89A9,
-0x5CA1=>0x89AA,
-0x6C96=>0x89AB,
-0x837B=>0x89AC,
-0x5104=>0x89AD,
-0x5C4B=>0x89AE,
-0x61B6=>0x89AF,
-0x81C6=>0x89B0,
-0x6876=>0x89B1,
-0x7261=>0x89B2,
-0x4E59=>0x89B3,
-0x4FFA=>0x89B4,
-0x5378=>0x89B5,
-0x6069=>0x89B6,
-0x6E29=>0x89B7,
-0x7A4F=>0x89B8,
-0x97F3=>0x89B9,
-0x4E0B=>0x89BA,
-0x5316=>0x89BB,
-0x4EEE=>0x89BC,
-0x4F55=>0x89BD,
-0x4F3D=>0x89BE,
-0x4FA1=>0x89BF,
-0x4F73=>0x89C0,
-0x52A0=>0x89C1,
-0x53EF=>0x89C2,
-0x5609=>0x89C3,
-0x590F=>0x89C4,
-0x5AC1=>0x89C5,
-0x5BB6=>0x89C6,
-0x5BE1=>0x89C7,
-0x79D1=>0x89C8,
-0x6687=>0x89C9,
-0x679C=>0x89CA,
-0x67B6=>0x89CB,
-0x6B4C=>0x89CC,
-0x6CB3=>0x89CD,
-0x706B=>0x89CE,
-0x73C2=>0x89CF,
-0x798D=>0x89D0,
-0x79BE=>0x89D1,
-0x7A3C=>0x89D2,
-0x7B87=>0x89D3,
-0x82B1=>0x89D4,
-0x82DB=>0x89D5,
-0x8304=>0x89D6,
-0x8377=>0x89D7,
-0x83EF=>0x89D8,
-0x83D3=>0x89D9,
-0x8766=>0x89DA,
-0x8AB2=>0x89DB,
-0x5629=>0x89DC,
-0x8CA8=>0x89DD,
-0x8FE6=>0x89DE,
-0x904E=>0x89DF,
-0x971E=>0x89E0,
-0x868A=>0x89E1,
-0x4FC4=>0x89E2,
-0x5CE8=>0x89E3,
-0x6211=>0x89E4,
-0x7259=>0x89E5,
-0x753B=>0x89E6,
-0x81E5=>0x89E7,
-0x82BD=>0x89E8,
-0x86FE=>0x89E9,
-0x8CC0=>0x89EA,
-0x96C5=>0x89EB,
-0x9913=>0x89EC,
-0x99D5=>0x89ED,
-0x4ECB=>0x89EE,
-0x4F1A=>0x89EF,
-0x89E3=>0x89F0,
-0x56DE=>0x89F1,
-0x584A=>0x89F2,
-0x58CA=>0x89F3,
-0x5EFB=>0x89F4,
-0x5FEB=>0x89F5,
-0x602A=>0x89F6,
-0x6094=>0x89F7,
-0x6062=>0x89F8,
-0x61D0=>0x89F9,
-0x6212=>0x89FA,
-0x62D0=>0x89FB,
-0x6539=>0x89FC,
-0x9B41=>0x8A40,
-0x6666=>0x8A41,
-0x68B0=>0x8A42,
-0x6D77=>0x8A43,
-0x7070=>0x8A44,
-0x754C=>0x8A45,
-0x7686=>0x8A46,
-0x7D75=>0x8A47,
-0x82A5=>0x8A48,
-0x87F9=>0x8A49,
-0x958B=>0x8A4A,
-0x968E=>0x8A4B,
-0x8C9D=>0x8A4C,
-0x51F1=>0x8A4D,
-0x52BE=>0x8A4E,
-0x5916=>0x8A4F,
-0x54B3=>0x8A50,
-0x5BB3=>0x8A51,
-0x5D16=>0x8A52,
-0x6168=>0x8A53,
-0x6982=>0x8A54,
-0x6DAF=>0x8A55,
-0x788D=>0x8A56,
-0x84CB=>0x8A57,
-0x8857=>0x8A58,
-0x8A72=>0x8A59,
-0x93A7=>0x8A5A,
-0x9AB8=>0x8A5B,
-0x6D6C=>0x8A5C,
-0x99A8=>0x8A5D,
-0x86D9=>0x8A5E,
-0x57A3=>0x8A5F,
-0x67FF=>0x8A60,
-0x86CE=>0x8A61,
-0x920E=>0x8A62,
-0x5283=>0x8A63,
-0x5687=>0x8A64,
-0x5404=>0x8A65,
-0x5ED3=>0x8A66,
-0x62E1=>0x8A67,
-0x64B9=>0x8A68,
-0x683C=>0x8A69,
-0x6838=>0x8A6A,
-0x6BBB=>0x8A6B,
-0x7372=>0x8A6C,
-0x78BA=>0x8A6D,
-0x7A6B=>0x8A6E,
-0x899A=>0x8A6F,
-0x89D2=>0x8A70,
-0x8D6B=>0x8A71,
-0x8F03=>0x8A72,
-0x90ED=>0x8A73,
-0x95A3=>0x8A74,
-0x9694=>0x8A75,
-0x9769=>0x8A76,
-0x5B66=>0x8A77,
-0x5CB3=>0x8A78,
-0x697D=>0x8A79,
-0x984D=>0x8A7A,
-0x984E=>0x8A7B,
-0x639B=>0x8A7C,
-0x7B20=>0x8A7D,
-0x6A2B=>0x8A7E,
-0x6A7F=>0x8A80,
-0x68B6=>0x8A81,
-0x9C0D=>0x8A82,
-0x6F5F=>0x8A83,
-0x5272=>0x8A84,
-0x559D=>0x8A85,
-0x6070=>0x8A86,
-0x62EC=>0x8A87,
-0x6D3B=>0x8A88,
-0x6E07=>0x8A89,
-0x6ED1=>0x8A8A,
-0x845B=>0x8A8B,
-0x8910=>0x8A8C,
-0x8F44=>0x8A8D,
-0x4E14=>0x8A8E,
-0x9C39=>0x8A8F,
-0x53F6=>0x8A90,
-0x691B=>0x8A91,
-0x6A3A=>0x8A92,
-0x9784=>0x8A93,
-0x682A=>0x8A94,
-0x515C=>0x8A95,
-0x7AC3=>0x8A96,
-0x84B2=>0x8A97,
-0x91DC=>0x8A98,
-0x938C=>0x8A99,
-0x565B=>0x8A9A,
-0x9D28=>0x8A9B,
-0x6822=>0x8A9C,
-0x8305=>0x8A9D,
-0x8431=>0x8A9E,
-0x7CA5=>0x8A9F,
-0x5208=>0x8AA0,
-0x82C5=>0x8AA1,
-0x74E6=>0x8AA2,
-0x4E7E=>0x8AA3,
-0x4F83=>0x8AA4,
-0x51A0=>0x8AA5,
-0x5BD2=>0x8AA6,
-0x520A=>0x8AA7,
-0x52D8=>0x8AA8,
-0x52E7=>0x8AA9,
-0x5DFB=>0x8AAA,
-0x559A=>0x8AAB,
-0x582A=>0x8AAC,
-0x59E6=>0x8AAD,
-0x5B8C=>0x8AAE,
-0x5B98=>0x8AAF,
-0x5BDB=>0x8AB0,
-0x5E72=>0x8AB1,
-0x5E79=>0x8AB2,
-0x60A3=>0x8AB3,
-0x611F=>0x8AB4,
-0x6163=>0x8AB5,
-0x61BE=>0x8AB6,
-0x63DB=>0x8AB7,
-0x6562=>0x8AB8,
-0x67D1=>0x8AB9,
-0x6853=>0x8ABA,
-0x68FA=>0x8ABB,
-0x6B3E=>0x8ABC,
-0x6B53=>0x8ABD,
-0x6C57=>0x8ABE,
-0x6F22=>0x8ABF,
-0x6F97=>0x8AC0,
-0x6F45=>0x8AC1,
-0x74B0=>0x8AC2,
-0x7518=>0x8AC3,
-0x76E3=>0x8AC4,
-0x770B=>0x8AC5,
-0x7AFF=>0x8AC6,
-0x7BA1=>0x8AC7,
-0x7C21=>0x8AC8,
-0x7DE9=>0x8AC9,
-0x7F36=>0x8ACA,
-0x7FF0=>0x8ACB,
-0x809D=>0x8ACC,
-0x8266=>0x8ACD,
-0x839E=>0x8ACE,
-0x89B3=>0x8ACF,
-0x8ACC=>0x8AD0,
-0x8CAB=>0x8AD1,
-0x9084=>0x8AD2,
-0x9451=>0x8AD3,
-0x9593=>0x8AD4,
-0x9591=>0x8AD5,
-0x95A2=>0x8AD6,
-0x9665=>0x8AD7,
-0x97D3=>0x8AD8,
-0x9928=>0x8AD9,
-0x8218=>0x8ADA,
-0x4E38=>0x8ADB,
-0x542B=>0x8ADC,
-0x5CB8=>0x8ADD,
-0x5DCC=>0x8ADE,
-0x73A9=>0x8ADF,
-0x764C=>0x8AE0,
-0x773C=>0x8AE1,
-0x5CA9=>0x8AE2,
-0x7FEB=>0x8AE3,
-0x8D0B=>0x8AE4,
-0x96C1=>0x8AE5,
-0x9811=>0x8AE6,
-0x9854=>0x8AE7,
-0x9858=>0x8AE8,
-0x4F01=>0x8AE9,
-0x4F0E=>0x8AEA,
-0x5371=>0x8AEB,
-0x559C=>0x8AEC,
-0x5668=>0x8AED,
-0x57FA=>0x8AEE,
-0x5947=>0x8AEF,
-0x5B09=>0x8AF0,
-0x5BC4=>0x8AF1,
-0x5C90=>0x8AF2,
-0x5E0C=>0x8AF3,
-0x5E7E=>0x8AF4,
-0x5FCC=>0x8AF5,
-0x63EE=>0x8AF6,
-0x673A=>0x8AF7,
-0x65D7=>0x8AF8,
-0x65E2=>0x8AF9,
-0x671F=>0x8AFA,
-0x68CB=>0x8AFB,
-0x68C4=>0x8AFC,
-0x6A5F=>0x8B40,
-0x5E30=>0x8B41,
-0x6BC5=>0x8B42,
-0x6C17=>0x8B43,
-0x6C7D=>0x8B44,
-0x757F=>0x8B45,
-0x7948=>0x8B46,
-0x5B63=>0x8B47,
-0x7A00=>0x8B48,
-0x7D00=>0x8B49,
-0x5FBD=>0x8B4A,
-0x898F=>0x8B4B,
-0x8A18=>0x8B4C,
-0x8CB4=>0x8B4D,
-0x8D77=>0x8B4E,
-0x8ECC=>0x8B4F,
-0x8F1D=>0x8B50,
-0x98E2=>0x8B51,
-0x9A0E=>0x8B52,
-0x9B3C=>0x8B53,
-0x4E80=>0x8B54,
-0x507D=>0x8B55,
-0x5100=>0x8B56,
-0x5993=>0x8B57,
-0x5B9C=>0x8B58,
-0x622F=>0x8B59,
-0x6280=>0x8B5A,
-0x64EC=>0x8B5B,
-0x6B3A=>0x8B5C,
-0x72A0=>0x8B5D,
-0x7591=>0x8B5E,
-0x7947=>0x8B5F,
-0x7FA9=>0x8B60,
-0x87FB=>0x8B61,
-0x8ABC=>0x8B62,
-0x8B70=>0x8B63,
-0x63AC=>0x8B64,
-0x83CA=>0x8B65,
-0x97A0=>0x8B66,
-0x5409=>0x8B67,
-0x5403=>0x8B68,
-0x55AB=>0x8B69,
-0x6854=>0x8B6A,
-0x6A58=>0x8B6B,
-0x8A70=>0x8B6C,
-0x7827=>0x8B6D,
-0x6775=>0x8B6E,
-0x9ECD=>0x8B6F,
-0x5374=>0x8B70,
-0x5BA2=>0x8B71,
-0x811A=>0x8B72,
-0x8650=>0x8B73,
-0x9006=>0x8B74,
-0x4E18=>0x8B75,
-0x4E45=>0x8B76,
-0x4EC7=>0x8B77,
-0x4F11=>0x8B78,
-0x53CA=>0x8B79,
-0x5438=>0x8B7A,
-0x5BAE=>0x8B7B,
-0x5F13=>0x8B7C,
-0x6025=>0x8B7D,
-0x6551=>0x8B7E,
-0x673D=>0x8B80,
-0x6C42=>0x8B81,
-0x6C72=>0x8B82,
-0x6CE3=>0x8B83,
-0x7078=>0x8B84,
-0x7403=>0x8B85,
-0x7A76=>0x8B86,
-0x7AAE=>0x8B87,
-0x7B08=>0x8B88,
-0x7D1A=>0x8B89,
-0x7CFE=>0x8B8A,
-0x7D66=>0x8B8B,
-0x65E7=>0x8B8C,
-0x725B=>0x8B8D,
-0x53BB=>0x8B8E,
-0x5C45=>0x8B8F,
-0x5DE8=>0x8B90,
-0x62D2=>0x8B91,
-0x62E0=>0x8B92,
-0x6319=>0x8B93,
-0x6E20=>0x8B94,
-0x865A=>0x8B95,
-0x8A31=>0x8B96,
-0x8DDD=>0x8B97,
-0x92F8=>0x8B98,
-0x6F01=>0x8B99,
-0x79A6=>0x8B9A,
-0x9B5A=>0x8B9B,
-0x4EA8=>0x8B9C,
-0x4EAB=>0x8B9D,
-0x4EAC=>0x8B9E,
-0x4F9B=>0x8B9F,
-0x4FA0=>0x8BA0,
-0x50D1=>0x8BA1,
-0x5147=>0x8BA2,
-0x7AF6=>0x8BA3,
-0x5171=>0x8BA4,
-0x51F6=>0x8BA5,
-0x5354=>0x8BA6,
-0x5321=>0x8BA7,
-0x537F=>0x8BA8,
-0x53EB=>0x8BA9,
-0x55AC=>0x8BAA,
-0x5883=>0x8BAB,
-0x5CE1=>0x8BAC,
-0x5F37=>0x8BAD,
-0x5F4A=>0x8BAE,
-0x602F=>0x8BAF,
-0x6050=>0x8BB0,
-0x606D=>0x8BB1,
-0x631F=>0x8BB2,
-0x6559=>0x8BB3,
-0x6A4B=>0x8BB4,
-0x6CC1=>0x8BB5,
-0x72C2=>0x8BB6,
-0x72ED=>0x8BB7,
-0x77EF=>0x8BB8,
-0x80F8=>0x8BB9,
-0x8105=>0x8BBA,
-0x8208=>0x8BBB,
-0x854E=>0x8BBC,
-0x90F7=>0x8BBD,
-0x93E1=>0x8BBE,
-0x97FF=>0x8BBF,
-0x9957=>0x8BC0,
-0x9A5A=>0x8BC1,
-0x4EF0=>0x8BC2,
-0x51DD=>0x8BC3,
-0x5C2D=>0x8BC4,
-0x6681=>0x8BC5,
-0x696D=>0x8BC6,
-0x5C40=>0x8BC7,
-0x66F2=>0x8BC8,
-0x6975=>0x8BC9,
-0x7389=>0x8BCA,
-0x6850=>0x8BCB,
-0x7C81=>0x8BCC,
-0x50C5=>0x8BCD,
-0x52E4=>0x8BCE,
-0x5747=>0x8BCF,
-0x5DFE=>0x8BD0,
-0x9326=>0x8BD1,
-0x65A4=>0x8BD2,
-0x6B23=>0x8BD3,
-0x6B3D=>0x8BD4,
-0x7434=>0x8BD5,
-0x7981=>0x8BD6,
-0x79BD=>0x8BD7,
-0x7B4B=>0x8BD8,
-0x7DCA=>0x8BD9,
-0x82B9=>0x8BDA,
-0x83CC=>0x8BDB,
-0x887F=>0x8BDC,
-0x895F=>0x8BDD,
-0x8B39=>0x8BDE,
-0x8FD1=>0x8BDF,
-0x91D1=>0x8BE0,
-0x541F=>0x8BE1,
-0x9280=>0x8BE2,
-0x4E5D=>0x8BE3,
-0x5036=>0x8BE4,
-0x53E5=>0x8BE5,
-0x533A=>0x8BE6,
-0x72D7=>0x8BE7,
-0x7396=>0x8BE8,
-0x77E9=>0x8BE9,
-0x82E6=>0x8BEA,
-0x8EAF=>0x8BEB,
-0x99C6=>0x8BEC,
-0x99C8=>0x8BED,
-0x99D2=>0x8BEE,
-0x5177=>0x8BEF,
-0x611A=>0x8BF0,
-0x865E=>0x8BF1,
-0x55B0=>0x8BF2,
-0x7A7A=>0x8BF3,
-0x5076=>0x8BF4,
-0x5BD3=>0x8BF5,
-0x9047=>0x8BF6,
-0x9685=>0x8BF7,
-0x4E32=>0x8BF8,
-0x6ADB=>0x8BF9,
-0x91E7=>0x8BFA,
-0x5C51=>0x8BFB,
-0x5C48=>0x8BFC,
-0x6398=>0x8C40,
-0x7A9F=>0x8C41,
-0x6C93=>0x8C42,
-0x9774=>0x8C43,
-0x8F61=>0x8C44,
-0x7AAA=>0x8C45,
-0x718A=>0x8C46,
-0x9688=>0x8C47,
-0x7C82=>0x8C48,
-0x6817=>0x8C49,
-0x7E70=>0x8C4A,
-0x6851=>0x8C4B,
-0x936C=>0x8C4C,
-0x52F2=>0x8C4D,
-0x541B=>0x8C4E,
-0x85AB=>0x8C4F,
-0x8A13=>0x8C50,
-0x7FA4=>0x8C51,
-0x8ECD=>0x8C52,
-0x90E1=>0x8C53,
-0x5366=>0x8C54,
-0x8888=>0x8C55,
-0x7941=>0x8C56,
-0x4FC2=>0x8C57,
-0x50BE=>0x8C58,
-0x5211=>0x8C59,
-0x5144=>0x8C5A,
-0x5553=>0x8C5B,
-0x572D=>0x8C5C,
-0x73EA=>0x8C5D,
-0x578B=>0x8C5E,
-0x5951=>0x8C5F,
-0x5F62=>0x8C60,
-0x5F84=>0x8C61,
-0x6075=>0x8C62,
-0x6176=>0x8C63,
-0x6167=>0x8C64,
-0x61A9=>0x8C65,
-0x63B2=>0x8C66,
-0x643A=>0x8C67,
-0x656C=>0x8C68,
-0x666F=>0x8C69,
-0x6842=>0x8C6A,
-0x6E13=>0x8C6B,
-0x7566=>0x8C6C,
-0x7A3D=>0x8C6D,
-0x7CFB=>0x8C6E,
-0x7D4C=>0x8C6F,
-0x7D99=>0x8C70,
-0x7E4B=>0x8C71,
-0x7F6B=>0x8C72,
-0x830E=>0x8C73,
-0x834A=>0x8C74,
-0x86CD=>0x8C75,
-0x8A08=>0x8C76,
-0x8A63=>0x8C77,
-0x8B66=>0x8C78,
-0x8EFD=>0x8C79,
-0x981A=>0x8C7A,
-0x9D8F=>0x8C7B,
-0x82B8=>0x8C7C,
-0x8FCE=>0x8C7D,
-0x9BE8=>0x8C7E,
-0x5287=>0x8C80,
-0x621F=>0x8C81,
-0x6483=>0x8C82,
-0x6FC0=>0x8C83,
-0x9699=>0x8C84,
-0x6841=>0x8C85,
-0x5091=>0x8C86,
-0x6B20=>0x8C87,
-0x6C7A=>0x8C88,
-0x6F54=>0x8C89,
-0x7A74=>0x8C8A,
-0x7D50=>0x8C8B,
-0x8840=>0x8C8C,
-0x8A23=>0x8C8D,
-0x6708=>0x8C8E,
-0x4EF6=>0x8C8F,
-0x5039=>0x8C90,
-0x5026=>0x8C91,
-0x5065=>0x8C92,
-0x517C=>0x8C93,
-0x5238=>0x8C94,
-0x5263=>0x8C95,
-0x55A7=>0x8C96,
-0x570F=>0x8C97,
-0x5805=>0x8C98,
-0x5ACC=>0x8C99,
-0x5EFA=>0x8C9A,
-0x61B2=>0x8C9B,
-0x61F8=>0x8C9C,
-0x62F3=>0x8C9D,
-0x6372=>0x8C9E,
-0x691C=>0x8C9F,
-0x6A29=>0x8CA0,
-0x727D=>0x8CA1,
-0x72AC=>0x8CA2,
-0x732E=>0x8CA3,
-0x7814=>0x8CA4,
-0x786F=>0x8CA5,
-0x7D79=>0x8CA6,
-0x770C=>0x8CA7,
-0x80A9=>0x8CA8,
-0x898B=>0x8CA9,
-0x8B19=>0x8CAA,
-0x8CE2=>0x8CAB,
-0x8ED2=>0x8CAC,
-0x9063=>0x8CAD,
-0x9375=>0x8CAE,
-0x967A=>0x8CAF,
-0x9855=>0x8CB0,
-0x9A13=>0x8CB1,
-0x9E78=>0x8CB2,
-0x5143=>0x8CB3,
-0x539F=>0x8CB4,
-0x53B3=>0x8CB5,
-0x5E7B=>0x8CB6,
-0x5F26=>0x8CB7,
-0x6E1B=>0x8CB8,
-0x6E90=>0x8CB9,
-0x7384=>0x8CBA,
-0x73FE=>0x8CBB,
-0x7D43=>0x8CBC,
-0x8237=>0x8CBD,
-0x8A00=>0x8CBE,
-0x8AFA=>0x8CBF,
-0x9650=>0x8CC0,
-0x4E4E=>0x8CC1,
-0x500B=>0x8CC2,
-0x53E4=>0x8CC3,
-0x547C=>0x8CC4,
-0x56FA=>0x8CC5,
-0x59D1=>0x8CC6,
-0x5B64=>0x8CC7,
-0x5DF1=>0x8CC8,
-0x5EAB=>0x8CC9,
-0x5F27=>0x8CCA,
-0x6238=>0x8CCB,
-0x6545=>0x8CCC,
-0x67AF=>0x8CCD,
-0x6E56=>0x8CCE,
-0x72D0=>0x8CCF,
-0x7CCA=>0x8CD0,
-0x88B4=>0x8CD1,
-0x80A1=>0x8CD2,
-0x80E1=>0x8CD3,
-0x83F0=>0x8CD4,
-0x864E=>0x8CD5,
-0x8A87=>0x8CD6,
-0x8DE8=>0x8CD7,
-0x9237=>0x8CD8,
-0x96C7=>0x8CD9,
-0x9867=>0x8CDA,
-0x9F13=>0x8CDB,
-0x4E94=>0x8CDC,
-0x4E92=>0x8CDD,
-0x4F0D=>0x8CDE,
-0x5348=>0x8CDF,
-0x5449=>0x8CE0,
-0x543E=>0x8CE1,
-0x5A2F=>0x8CE2,
-0x5F8C=>0x8CE3,
-0x5FA1=>0x8CE4,
-0x609F=>0x8CE5,
-0x68A7=>0x8CE6,
-0x6A8E=>0x8CE7,
-0x745A=>0x8CE8,
-0x7881=>0x8CE9,
-0x8A9E=>0x8CEA,
-0x8AA4=>0x8CEB,
-0x8B77=>0x8CEC,
-0x9190=>0x8CED,
-0x4E5E=>0x8CEE,
-0x9BC9=>0x8CEF,
-0x4EA4=>0x8CF0,
-0x4F7C=>0x8CF1,
-0x4FAF=>0x8CF2,
-0x5019=>0x8CF3,
-0x5016=>0x8CF4,
-0x5149=>0x8CF5,
-0x516C=>0x8CF6,
-0x529F=>0x8CF7,
-0x52B9=>0x8CF8,
-0x52FE=>0x8CF9,
-0x539A=>0x8CFA,
-0x53E3=>0x8CFB,
-0x5411=>0x8CFC,
-0x540E=>0x8D40,
-0x5589=>0x8D41,
-0x5751=>0x8D42,
-0x57A2=>0x8D43,
-0x597D=>0x8D44,
-0x5B54=>0x8D45,
-0x5B5D=>0x8D46,
-0x5B8F=>0x8D47,
-0x5DE5=>0x8D48,
-0x5DE7=>0x8D49,
-0x5DF7=>0x8D4A,
-0x5E78=>0x8D4B,
-0x5E83=>0x8D4C,
-0x5E9A=>0x8D4D,
-0x5EB7=>0x8D4E,
-0x5F18=>0x8D4F,
-0x6052=>0x8D50,
-0x614C=>0x8D51,
-0x6297=>0x8D52,
-0x62D8=>0x8D53,
-0x63A7=>0x8D54,
-0x653B=>0x8D55,
-0x6602=>0x8D56,
-0x6643=>0x8D57,
-0x66F4=>0x8D58,
-0x676D=>0x8D59,
-0x6821=>0x8D5A,
-0x6897=>0x8D5B,
-0x69CB=>0x8D5C,
-0x6C5F=>0x8D5D,
-0x6D2A=>0x8D5E,
-0x6D69=>0x8D5F,
-0x6E2F=>0x8D60,
-0x6E9D=>0x8D61,
-0x7532=>0x8D62,
-0x7687=>0x8D63,
-0x786C=>0x8D64,
-0x7A3F=>0x8D65,
-0x7CE0=>0x8D66,
-0x7D05=>0x8D67,
-0x7D18=>0x8D68,
-0x7D5E=>0x8D69,
-0x7DB1=>0x8D6A,
-0x8015=>0x8D6B,
-0x8003=>0x8D6C,
-0x80AF=>0x8D6D,
-0x80B1=>0x8D6E,
-0x8154=>0x8D6F,
-0x818F=>0x8D70,
-0x822A=>0x8D71,
-0x8352=>0x8D72,
-0x884C=>0x8D73,
-0x8861=>0x8D74,
-0x8B1B=>0x8D75,
-0x8CA2=>0x8D76,
-0x8CFC=>0x8D77,
-0x90CA=>0x8D78,
-0x9175=>0x8D79,
-0x9271=>0x8D7A,
-0x783F=>0x8D7B,
-0x92FC=>0x8D7C,
-0x95A4=>0x8D7D,
-0x964D=>0x8D7E,
-0x9805=>0x8D80,
-0x9999=>0x8D81,
-0x9AD8=>0x8D82,
-0x9D3B=>0x8D83,
-0x525B=>0x8D84,
-0x52AB=>0x8D85,
-0x53F7=>0x8D86,
-0x5408=>0x8D87,
-0x58D5=>0x8D88,
-0x62F7=>0x8D89,
-0x6FE0=>0x8D8A,
-0x8C6A=>0x8D8B,
-0x8F5F=>0x8D8C,
-0x9EB9=>0x8D8D,
-0x514B=>0x8D8E,
-0x523B=>0x8D8F,
-0x544A=>0x8D90,
-0x56FD=>0x8D91,
-0x7A40=>0x8D92,
-0x9177=>0x8D93,
-0x9D60=>0x8D94,
-0x9ED2=>0x8D95,
-0x7344=>0x8D96,
-0x6F09=>0x8D97,
-0x8170=>0x8D98,
-0x7511=>0x8D99,
-0x5FFD=>0x8D9A,
-0x60DA=>0x8D9B,
-0x9AA8=>0x8D9C,
-0x72DB=>0x8D9D,
-0x8FBC=>0x8D9E,
-0x6B64=>0x8D9F,
-0x9803=>0x8DA0,
-0x4ECA=>0x8DA1,
-0x56F0=>0x8DA2,
-0x5764=>0x8DA3,
-0x58BE=>0x8DA4,
-0x5A5A=>0x8DA5,
-0x6068=>0x8DA6,
-0x61C7=>0x8DA7,
-0x660F=>0x8DA8,
-0x6606=>0x8DA9,
-0x6839=>0x8DAA,
-0x68B1=>0x8DAB,
-0x6DF7=>0x8DAC,
-0x75D5=>0x8DAD,
-0x7D3A=>0x8DAE,
-0x826E=>0x8DAF,
-0x9B42=>0x8DB0,
-0x4E9B=>0x8DB1,
-0x4F50=>0x8DB2,
-0x53C9=>0x8DB3,
-0x5506=>0x8DB4,
-0x5D6F=>0x8DB5,
-0x5DE6=>0x8DB6,
-0x5DEE=>0x8DB7,
-0x67FB=>0x8DB8,
-0x6C99=>0x8DB9,
-0x7473=>0x8DBA,
-0x7802=>0x8DBB,
-0x8A50=>0x8DBC,
-0x9396=>0x8DBD,
-0x88DF=>0x8DBE,
-0x5750=>0x8DBF,
-0x5EA7=>0x8DC0,
-0x632B=>0x8DC1,
-0x50B5=>0x8DC2,
-0x50AC=>0x8DC3,
-0x518D=>0x8DC4,
-0x6700=>0x8DC5,
-0x54C9=>0x8DC6,
-0x585E=>0x8DC7,
-0x59BB=>0x8DC8,
-0x5BB0=>0x8DC9,
-0x5F69=>0x8DCA,
-0x624D=>0x8DCB,
-0x63A1=>0x8DCC,
-0x683D=>0x8DCD,
-0x6B73=>0x8DCE,
-0x6E08=>0x8DCF,
-0x707D=>0x8DD0,
-0x91C7=>0x8DD1,
-0x7280=>0x8DD2,
-0x7815=>0x8DD3,
-0x7826=>0x8DD4,
-0x796D=>0x8DD5,
-0x658E=>0x8DD6,
-0x7D30=>0x8DD7,
-0x83DC=>0x8DD8,
-0x88C1=>0x8DD9,
-0x8F09=>0x8DDA,
-0x969B=>0x8DDB,
-0x5264=>0x8DDC,
-0x5728=>0x8DDD,
-0x6750=>0x8DDE,
-0x7F6A=>0x8DDF,
-0x8CA1=>0x8DE0,
-0x51B4=>0x8DE1,
-0x5742=>0x8DE2,
-0x962A=>0x8DE3,
-0x583A=>0x8DE4,
-0x698A=>0x8DE5,
-0x80B4=>0x8DE6,
-0x54B2=>0x8DE7,
-0x5D0E=>0x8DE8,
-0x57FC=>0x8DE9,
-0x7895=>0x8DEA,
-0x9DFA=>0x8DEB,
-0x4F5C=>0x8DEC,
-0x524A=>0x8DED,
-0x548B=>0x8DEE,
-0x643E=>0x8DEF,
-0x6628=>0x8DF0,
-0x6714=>0x8DF1,
-0x67F5=>0x8DF2,
-0x7A84=>0x8DF3,
-0x7B56=>0x8DF4,
-0x7D22=>0x8DF5,
-0x932F=>0x8DF6,
-0x685C=>0x8DF7,
-0x9BAD=>0x8DF8,
-0x7B39=>0x8DF9,
-0x5319=>0x8DFA,
-0x518A=>0x8DFB,
-0x5237=>0x8DFC,
-0x5BDF=>0x8E40,
-0x62F6=>0x8E41,
-0x64AE=>0x8E42,
-0x64E6=>0x8E43,
-0x672D=>0x8E44,
-0x6BBA=>0x8E45,
-0x85A9=>0x8E46,
-0x96D1=>0x8E47,
-0x7690=>0x8E48,
-0x9BD6=>0x8E49,
-0x634C=>0x8E4A,
-0x9306=>0x8E4B,
-0x9BAB=>0x8E4C,
-0x76BF=>0x8E4D,
-0x6652=>0x8E4E,
-0x4E09=>0x8E4F,
-0x5098=>0x8E50,
-0x53C2=>0x8E51,
-0x5C71=>0x8E52,
-0x60E8=>0x8E53,
-0x6492=>0x8E54,
-0x6563=>0x8E55,
-0x685F=>0x8E56,
-0x71E6=>0x8E57,
-0x73CA=>0x8E58,
-0x7523=>0x8E59,
-0x7B97=>0x8E5A,
-0x7E82=>0x8E5B,
-0x8695=>0x8E5C,
-0x8B83=>0x8E5D,
-0x8CDB=>0x8E5E,
-0x9178=>0x8E5F,
-0x9910=>0x8E60,
-0x65AC=>0x8E61,
-0x66AB=>0x8E62,
-0x6B8B=>0x8E63,
-0x4ED5=>0x8E64,
-0x4ED4=>0x8E65,
-0x4F3A=>0x8E66,
-0x4F7F=>0x8E67,
-0x523A=>0x8E68,
-0x53F8=>0x8E69,
-0x53F2=>0x8E6A,
-0x55E3=>0x8E6B,
-0x56DB=>0x8E6C,
-0x58EB=>0x8E6D,
-0x59CB=>0x8E6E,
-0x59C9=>0x8E6F,
-0x59FF=>0x8E70,
-0x5B50=>0x8E71,
-0x5C4D=>0x8E72,
-0x5E02=>0x8E73,
-0x5E2B=>0x8E74,
-0x5FD7=>0x8E75,
-0x601D=>0x8E76,
-0x6307=>0x8E77,
-0x652F=>0x8E78,
-0x5B5C=>0x8E79,
-0x65AF=>0x8E7A,
-0x65BD=>0x8E7B,
-0x65E8=>0x8E7C,
-0x679D=>0x8E7D,
-0x6B62=>0x8E7E,
-0x6B7B=>0x8E80,
-0x6C0F=>0x8E81,
-0x7345=>0x8E82,
-0x7949=>0x8E83,
-0x79C1=>0x8E84,
-0x7CF8=>0x8E85,
-0x7D19=>0x8E86,
-0x7D2B=>0x8E87,
-0x80A2=>0x8E88,
-0x8102=>0x8E89,
-0x81F3=>0x8E8A,
-0x8996=>0x8E8B,
-0x8A5E=>0x8E8C,
-0x8A69=>0x8E8D,
-0x8A66=>0x8E8E,
-0x8A8C=>0x8E8F,
-0x8AEE=>0x8E90,
-0x8CC7=>0x8E91,
-0x8CDC=>0x8E92,
-0x96CC=>0x8E93,
-0x98FC=>0x8E94,
-0x6B6F=>0x8E95,
-0x4E8B=>0x8E96,
-0x4F3C=>0x8E97,
-0x4F8D=>0x8E98,
-0x5150=>0x8E99,
-0x5B57=>0x8E9A,
-0x5BFA=>0x8E9B,
-0x6148=>0x8E9C,
-0x6301=>0x8E9D,
-0x6642=>0x8E9E,
-0x6B21=>0x8E9F,
-0x6ECB=>0x8EA0,
-0x6CBB=>0x8EA1,
-0x723E=>0x8EA2,
-0x74BD=>0x8EA3,
-0x75D4=>0x8EA4,
-0x78C1=>0x8EA5,
-0x793A=>0x8EA6,
-0x800C=>0x8EA7,
-0x8033=>0x8EA8,
-0x81EA=>0x8EA9,
-0x8494=>0x8EAA,
-0x8F9E=>0x8EAB,
-0x6C50=>0x8EAC,
-0x9E7F=>0x8EAD,
-0x5F0F=>0x8EAE,
-0x8B58=>0x8EAF,
-0x9D2B=>0x8EB0,
-0x7AFA=>0x8EB1,
-0x8EF8=>0x8EB2,
-0x5B8D=>0x8EB3,
-0x96EB=>0x8EB4,
-0x4E03=>0x8EB5,
-0x53F1=>0x8EB6,
-0x57F7=>0x8EB7,
-0x5931=>0x8EB8,
-0x5AC9=>0x8EB9,
-0x5BA4=>0x8EBA,
-0x6089=>0x8EBB,
-0x6E7F=>0x8EBC,
-0x6F06=>0x8EBD,
-0x75BE=>0x8EBE,
-0x8CEA=>0x8EBF,
-0x5B9F=>0x8EC0,
-0x8500=>0x8EC1,
-0x7BE0=>0x8EC2,
-0x5072=>0x8EC3,
-0x67F4=>0x8EC4,
-0x829D=>0x8EC5,
-0x5C61=>0x8EC6,
-0x854A=>0x8EC7,
-0x7E1E=>0x8EC8,
-0x820E=>0x8EC9,
-0x5199=>0x8ECA,
-0x5C04=>0x8ECB,
-0x6368=>0x8ECC,
-0x8D66=>0x8ECD,
-0x659C=>0x8ECE,
-0x716E=>0x8ECF,
-0x793E=>0x8ED0,
-0x7D17=>0x8ED1,
-0x8005=>0x8ED2,
-0x8B1D=>0x8ED3,
-0x8ECA=>0x8ED4,
-0x906E=>0x8ED5,
-0x86C7=>0x8ED6,
-0x90AA=>0x8ED7,
-0x501F=>0x8ED8,
-0x52FA=>0x8ED9,
-0x5C3A=>0x8EDA,
-0x6753=>0x8EDB,
-0x707C=>0x8EDC,
-0x7235=>0x8EDD,
-0x914C=>0x8EDE,
-0x91C8=>0x8EDF,
-0x932B=>0x8EE0,
-0x82E5=>0x8EE1,
-0x5BC2=>0x8EE2,
-0x5F31=>0x8EE3,
-0x60F9=>0x8EE4,
-0x4E3B=>0x8EE5,
-0x53D6=>0x8EE6,
-0x5B88=>0x8EE7,
-0x624B=>0x8EE8,
-0x6731=>0x8EE9,
-0x6B8A=>0x8EEA,
-0x72E9=>0x8EEB,
-0x73E0=>0x8EEC,
-0x7A2E=>0x8EED,
-0x816B=>0x8EEE,
-0x8DA3=>0x8EEF,
-0x9152=>0x8EF0,
-0x9996=>0x8EF1,
-0x5112=>0x8EF2,
-0x53D7=>0x8EF3,
-0x546A=>0x8EF4,
-0x5BFF=>0x8EF5,
-0x6388=>0x8EF6,
-0x6A39=>0x8EF7,
-0x7DAC=>0x8EF8,
-0x9700=>0x8EF9,
-0x56DA=>0x8EFA,
-0x53CE=>0x8EFB,
-0x5468=>0x8EFC,
-0x5B97=>0x8F40,
-0x5C31=>0x8F41,
-0x5DDE=>0x8F42,
-0x4FEE=>0x8F43,
-0x6101=>0x8F44,
-0x62FE=>0x8F45,
-0x6D32=>0x8F46,
-0x79C0=>0x8F47,
-0x79CB=>0x8F48,
-0x7D42=>0x8F49,
-0x7E4D=>0x8F4A,
-0x7FD2=>0x8F4B,
-0x81ED=>0x8F4C,
-0x821F=>0x8F4D,
-0x8490=>0x8F4E,
-0x8846=>0x8F4F,
-0x8972=>0x8F50,
-0x8B90=>0x8F51,
-0x8E74=>0x8F52,
-0x8F2F=>0x8F53,
-0x9031=>0x8F54,
-0x914B=>0x8F55,
-0x916C=>0x8F56,
-0x96C6=>0x8F57,
-0x919C=>0x8F58,
-0x4EC0=>0x8F59,
-0x4F4F=>0x8F5A,
-0x5145=>0x8F5B,
-0x5341=>0x8F5C,
-0x5F93=>0x8F5D,
-0x620E=>0x8F5E,
-0x67D4=>0x8F5F,
-0x6C41=>0x8F60,
-0x6E0B=>0x8F61,
-0x7363=>0x8F62,
-0x7E26=>0x8F63,
-0x91CD=>0x8F64,
-0x9283=>0x8F65,
-0x53D4=>0x8F66,
-0x5919=>0x8F67,
-0x5BBF=>0x8F68,
-0x6DD1=>0x8F69,
-0x795D=>0x8F6A,
-0x7E2E=>0x8F6B,
-0x7C9B=>0x8F6C,
-0x587E=>0x8F6D,
-0x719F=>0x8F6E,
-0x51FA=>0x8F6F,
-0x8853=>0x8F70,
-0x8FF0=>0x8F71,
-0x4FCA=>0x8F72,
-0x5CFB=>0x8F73,
-0x6625=>0x8F74,
-0x77AC=>0x8F75,
-0x7AE3=>0x8F76,
-0x821C=>0x8F77,
-0x99FF=>0x8F78,
-0x51C6=>0x8F79,
-0x5FAA=>0x8F7A,
-0x65EC=>0x8F7B,
-0x696F=>0x8F7C,
-0x6B89=>0x8F7D,
-0x6DF3=>0x8F7E,
-0x6E96=>0x8F80,
-0x6F64=>0x8F81,
-0x76FE=>0x8F82,
-0x7D14=>0x8F83,
-0x5DE1=>0x8F84,
-0x9075=>0x8F85,
-0x9187=>0x8F86,
-0x9806=>0x8F87,
-0x51E6=>0x8F88,
-0x521D=>0x8F89,
-0x6240=>0x8F8A,
-0x6691=>0x8F8B,
-0x66D9=>0x8F8C,
-0x6E1A=>0x8F8D,
-0x5EB6=>0x8F8E,
-0x7DD2=>0x8F8F,
-0x7F72=>0x8F90,
-0x66F8=>0x8F91,
-0x85AF=>0x8F92,
-0x85F7=>0x8F93,
-0x8AF8=>0x8F94,
-0x52A9=>0x8F95,
-0x53D9=>0x8F96,
-0x5973=>0x8F97,
-0x5E8F=>0x8F98,
-0x5F90=>0x8F99,
-0x6055=>0x8F9A,
-0x92E4=>0x8F9B,
-0x9664=>0x8F9C,
-0x50B7=>0x8F9D,
-0x511F=>0x8F9E,
-0x52DD=>0x8F9F,
-0x5320=>0x8FA0,
-0x5347=>0x8FA1,
-0x53EC=>0x8FA2,
-0x54E8=>0x8FA3,
-0x5546=>0x8FA4,
-0x5531=>0x8FA5,
-0x5617=>0x8FA6,
-0x5968=>0x8FA7,
-0x59BE=>0x8FA8,
-0x5A3C=>0x8FA9,
-0x5BB5=>0x8FAA,
-0x5C06=>0x8FAB,
-0x5C0F=>0x8FAC,
-0x5C11=>0x8FAD,
-0x5C1A=>0x8FAE,
-0x5E84=>0x8FAF,
-0x5E8A=>0x8FB0,
-0x5EE0=>0x8FB1,
-0x5F70=>0x8FB2,
-0x627F=>0x8FB3,
-0x6284=>0x8FB4,
-0x62DB=>0x8FB5,
-0x638C=>0x8FB6,
-0x6377=>0x8FB7,
-0x6607=>0x8FB8,
-0x660C=>0x8FB9,
-0x662D=>0x8FBA,
-0x6676=>0x8FBB,
-0x677E=>0x8FBC,
-0x68A2=>0x8FBD,
-0x6A1F=>0x8FBE,
-0x6A35=>0x8FBF,
-0x6CBC=>0x8FC0,
-0x6D88=>0x8FC1,
-0x6E09=>0x8FC2,
-0x6E58=>0x8FC3,
-0x713C=>0x8FC4,
-0x7126=>0x8FC5,
-0x7167=>0x8FC6,
-0x75C7=>0x8FC7,
-0x7701=>0x8FC8,
-0x785D=>0x8FC9,
-0x7901=>0x8FCA,
-0x7965=>0x8FCB,
-0x79F0=>0x8FCC,
-0x7AE0=>0x8FCD,
-0x7B11=>0x8FCE,
-0x7CA7=>0x8FCF,
-0x7D39=>0x8FD0,
-0x8096=>0x8FD1,
-0x83D6=>0x8FD2,
-0x848B=>0x8FD3,
-0x8549=>0x8FD4,
-0x885D=>0x8FD5,
-0x88F3=>0x8FD6,
-0x8A1F=>0x8FD7,
-0x8A3C=>0x8FD8,
-0x8A54=>0x8FD9,
-0x8A73=>0x8FDA,
-0x8C61=>0x8FDB,
-0x8CDE=>0x8FDC,
-0x91A4=>0x8FDD,
-0x9266=>0x8FDE,
-0x937E=>0x8FDF,
-0x9418=>0x8FE0,
-0x969C=>0x8FE1,
-0x9798=>0x8FE2,
-0x4E0A=>0x8FE3,
-0x4E08=>0x8FE4,
-0x4E1E=>0x8FE5,
-0x4E57=>0x8FE6,
-0x5197=>0x8FE7,
-0x5270=>0x8FE8,
-0x57CE=>0x8FE9,
-0x5834=>0x8FEA,
-0x58CC=>0x8FEB,
-0x5B22=>0x8FEC,
-0x5E38=>0x8FED,
-0x60C5=>0x8FEE,
-0x64FE=>0x8FEF,
-0x6761=>0x8FF0,
-0x6756=>0x8FF1,
-0x6D44=>0x8FF2,
-0x72B6=>0x8FF3,
-0x7573=>0x8FF4,
-0x7A63=>0x8FF5,
-0x84B8=>0x8FF6,
-0x8B72=>0x8FF7,
-0x91B8=>0x8FF8,
-0x9320=>0x8FF9,
-0x5631=>0x8FFA,
-0x57F4=>0x8FFB,
-0x98FE=>0x8FFC,
-0x62ED=>0x9040,
-0x690D=>0x9041,
-0x6B96=>0x9042,
-0x71ED=>0x9043,
-0x7E54=>0x9044,
-0x8077=>0x9045,
-0x8272=>0x9046,
-0x89E6=>0x9047,
-0x98DF=>0x9048,
-0x8755=>0x9049,
-0x8FB1=>0x904A,
-0x5C3B=>0x904B,
-0x4F38=>0x904C,
-0x4FE1=>0x904D,
-0x4FB5=>0x904E,
-0x5507=>0x904F,
-0x5A20=>0x9050,
-0x5BDD=>0x9051,
-0x5BE9=>0x9052,
-0x5FC3=>0x9053,
-0x614E=>0x9054,
-0x632F=>0x9055,
-0x65B0=>0x9056,
-0x664B=>0x9057,
-0x68EE=>0x9058,
-0x699B=>0x9059,
-0x6D78=>0x905A,
-0x6DF1=>0x905B,
-0x7533=>0x905C,
-0x75B9=>0x905D,
-0x771F=>0x905E,
-0x795E=>0x905F,
-0x79E6=>0x9060,
-0x7D33=>0x9061,
-0x81E3=>0x9062,
-0x82AF=>0x9063,
-0x85AA=>0x9064,
-0x89AA=>0x9065,
-0x8A3A=>0x9066,
-0x8EAB=>0x9067,
-0x8F9B=>0x9068,
-0x9032=>0x9069,
-0x91DD=>0x906A,
-0x9707=>0x906B,
-0x4EBA=>0x906C,
-0x4EC1=>0x906D,
-0x5203=>0x906E,
-0x5875=>0x906F,
-0x58EC=>0x9070,
-0x5C0B=>0x9071,
-0x751A=>0x9072,
-0x5C3D=>0x9073,
-0x814E=>0x9074,
-0x8A0A=>0x9075,
-0x8FC5=>0x9076,
-0x9663=>0x9077,
-0x976D=>0x9078,
-0x7B25=>0x9079,
-0x8ACF=>0x907A,
-0x9808=>0x907B,
-0x9162=>0x907C,
-0x56F3=>0x907D,
-0x53A8=>0x907E,
-0x9017=>0x9080,
-0x5439=>0x9081,
-0x5782=>0x9082,
-0x5E25=>0x9083,
-0x63A8=>0x9084,
-0x6C34=>0x9085,
-0x708A=>0x9086,
-0x7761=>0x9087,
-0x7C8B=>0x9088,
-0x7FE0=>0x9089,
-0x8870=>0x908A,
-0x9042=>0x908B,
-0x9154=>0x908C,
-0x9310=>0x908D,
-0x9318=>0x908E,
-0x968F=>0x908F,
-0x745E=>0x9090,
-0x9AC4=>0x9091,
-0x5D07=>0x9092,
-0x5D69=>0x9093,
-0x6570=>0x9094,
-0x67A2=>0x9095,
-0x8DA8=>0x9096,
-0x96DB=>0x9097,
-0x636E=>0x9098,
-0x6749=>0x9099,
-0x6919=>0x909A,
-0x83C5=>0x909B,
-0x9817=>0x909C,
-0x96C0=>0x909D,
-0x88FE=>0x909E,
-0x6F84=>0x909F,
-0x647A=>0x90A0,
-0x5BF8=>0x90A1,
-0x4E16=>0x90A2,
-0x702C=>0x90A3,
-0x755D=>0x90A4,
-0x662F=>0x90A5,
-0x51C4=>0x90A6,
-0x5236=>0x90A7,
-0x52E2=>0x90A8,
-0x59D3=>0x90A9,
-0x5F81=>0x90AA,
-0x6027=>0x90AB,
-0x6210=>0x90AC,
-0x653F=>0x90AD,
-0x6574=>0x90AE,
-0x661F=>0x90AF,
-0x6674=>0x90B0,
-0x68F2=>0x90B1,
-0x6816=>0x90B2,
-0x6B63=>0x90B3,
-0x6E05=>0x90B4,
-0x7272=>0x90B5,
-0x751F=>0x90B6,
-0x76DB=>0x90B7,
-0x7CBE=>0x90B8,
-0x8056=>0x90B9,
-0x58F0=>0x90BA,
-0x88FD=>0x90BB,
-0x897F=>0x90BC,
-0x8AA0=>0x90BD,
-0x8A93=>0x90BE,
-0x8ACB=>0x90BF,
-0x901D=>0x90C0,
-0x9192=>0x90C1,
-0x9752=>0x90C2,
-0x9759=>0x90C3,
-0x6589=>0x90C4,
-0x7A0E=>0x90C5,
-0x8106=>0x90C6,
-0x96BB=>0x90C7,
-0x5E2D=>0x90C8,
-0x60DC=>0x90C9,
-0x621A=>0x90CA,
-0x65A5=>0x90CB,
-0x6614=>0x90CC,
-0x6790=>0x90CD,
-0x77F3=>0x90CE,
-0x7A4D=>0x90CF,
-0x7C4D=>0x90D0,
-0x7E3E=>0x90D1,
-0x810A=>0x90D2,
-0x8CAC=>0x90D3,
-0x8D64=>0x90D4,
-0x8DE1=>0x90D5,
-0x8E5F=>0x90D6,
-0x78A9=>0x90D7,
-0x5207=>0x90D8,
-0x62D9=>0x90D9,
-0x63A5=>0x90DA,
-0x6442=>0x90DB,
-0x6298=>0x90DC,
-0x8A2D=>0x90DD,
-0x7A83=>0x90DE,
-0x7BC0=>0x90DF,
-0x8AAC=>0x90E0,
-0x96EA=>0x90E1,
-0x7D76=>0x90E2,
-0x820C=>0x90E3,
-0x8749=>0x90E4,
-0x4ED9=>0x90E5,
-0x5148=>0x90E6,
-0x5343=>0x90E7,
-0x5360=>0x90E8,
-0x5BA3=>0x90E9,
-0x5C02=>0x90EA,
-0x5C16=>0x90EB,
-0x5DDD=>0x90EC,
-0x6226=>0x90ED,
-0x6247=>0x90EE,
-0x64B0=>0x90EF,
-0x6813=>0x90F0,
-0x6834=>0x90F1,
-0x6CC9=>0x90F2,
-0x6D45=>0x90F3,
-0x6D17=>0x90F4,
-0x67D3=>0x90F5,
-0x6F5C=>0x90F6,
-0x714E=>0x90F7,
-0x717D=>0x90F8,
-0x65CB=>0x90F9,
-0x7A7F=>0x90FA,
-0x7BAD=>0x90FB,
-0x7DDA=>0x90FC,
-0x7E4A=>0x9140,
-0x7FA8=>0x9141,
-0x817A=>0x9142,
-0x821B=>0x9143,
-0x8239=>0x9144,
-0x85A6=>0x9145,
-0x8A6E=>0x9146,
-0x8CCE=>0x9147,
-0x8DF5=>0x9148,
-0x9078=>0x9149,
-0x9077=>0x914A,
-0x92AD=>0x914B,
-0x9291=>0x914C,
-0x9583=>0x914D,
-0x9BAE=>0x914E,
-0x524D=>0x914F,
-0x5584=>0x9150,
-0x6F38=>0x9151,
-0x7136=>0x9152,
-0x5168=>0x9153,
-0x7985=>0x9154,
-0x7E55=>0x9155,
-0x81B3=>0x9156,
-0x7CCE=>0x9157,
-0x564C=>0x9158,
-0x5851=>0x9159,
-0x5CA8=>0x915A,
-0x63AA=>0x915B,
-0x66FE=>0x915C,
-0x66FD=>0x915D,
-0x695A=>0x915E,
-0x72D9=>0x915F,
-0x758F=>0x9160,
-0x758E=>0x9161,
-0x790E=>0x9162,
-0x7956=>0x9163,
-0x79DF=>0x9164,
-0x7C97=>0x9165,
-0x7D20=>0x9166,
-0x7D44=>0x9167,
-0x8607=>0x9168,
-0x8A34=>0x9169,
-0x963B=>0x916A,
-0x9061=>0x916B,
-0x9F20=>0x916C,
-0x50E7=>0x916D,
-0x5275=>0x916E,
-0x53CC=>0x916F,
-0x53E2=>0x9170,
-0x5009=>0x9171,
-0x55AA=>0x9172,
-0x58EE=>0x9173,
-0x594F=>0x9174,
-0x723D=>0x9175,
-0x5B8B=>0x9176,
-0x5C64=>0x9177,
-0x531D=>0x9178,
-0x60E3=>0x9179,
-0x60F3=>0x917A,
-0x635C=>0x917B,
-0x6383=>0x917C,
-0x633F=>0x917D,
-0x63BB=>0x917E,
-0x64CD=>0x9180,
-0x65E9=>0x9181,
-0x66F9=>0x9182,
-0x5DE3=>0x9183,
-0x69CD=>0x9184,
-0x69FD=>0x9185,
-0x6F15=>0x9186,
-0x71E5=>0x9187,
-0x4E89=>0x9188,
-0x75E9=>0x9189,
-0x76F8=>0x918A,
-0x7A93=>0x918B,
-0x7CDF=>0x918C,
-0x7DCF=>0x918D,
-0x7D9C=>0x918E,
-0x8061=>0x918F,
-0x8349=>0x9190,
-0x8358=>0x9191,
-0x846C=>0x9192,
-0x84BC=>0x9193,
-0x85FB=>0x9194,
-0x88C5=>0x9195,
-0x8D70=>0x9196,
-0x9001=>0x9197,
-0x906D=>0x9198,
-0x9397=>0x9199,
-0x971C=>0x919A,
-0x9A12=>0x919B,
-0x50CF=>0x919C,
-0x5897=>0x919D,
-0x618E=>0x919E,
-0x81D3=>0x919F,
-0x8535=>0x91A0,
-0x8D08=>0x91A1,
-0x9020=>0x91A2,
-0x4FC3=>0x91A3,
-0x5074=>0x91A4,
-0x5247=>0x91A5,
-0x5373=>0x91A6,
-0x606F=>0x91A7,
-0x6349=>0x91A8,
-0x675F=>0x91A9,
-0x6E2C=>0x91AA,
-0x8DB3=>0x91AB,
-0x901F=>0x91AC,
-0x4FD7=>0x91AD,
-0x5C5E=>0x91AE,
-0x8CCA=>0x91AF,
-0x65CF=>0x91B0,
-0x7D9A=>0x91B1,
-0x5352=>0x91B2,
-0x8896=>0x91B3,
-0x5176=>0x91B4,
-0x63C3=>0x91B5,
-0x5B58=>0x91B6,
-0x5B6B=>0x91B7,
-0x5C0A=>0x91B8,
-0x640D=>0x91B9,
-0x6751=>0x91BA,
-0x905C=>0x91BB,
-0x4ED6=>0x91BC,
-0x591A=>0x91BD,
-0x592A=>0x91BE,
-0x6C70=>0x91BF,
-0x8A51=>0x91C0,
-0x553E=>0x91C1,
-0x5815=>0x91C2,
-0x59A5=>0x91C3,
-0x60F0=>0x91C4,
-0x6253=>0x91C5,
-0x67C1=>0x91C6,
-0x8235=>0x91C7,
-0x6955=>0x91C8,
-0x9640=>0x91C9,
-0x99C4=>0x91CA,
-0x9A28=>0x91CB,
-0x4F53=>0x91CC,
-0x5806=>0x91CD,
-0x5BFE=>0x91CE,
-0x8010=>0x91CF,
-0x5CB1=>0x91D0,
-0x5E2F=>0x91D1,
-0x5F85=>0x91D2,
-0x6020=>0x91D3,
-0x614B=>0x91D4,
-0x6234=>0x91D5,
-0x66FF=>0x91D6,
-0x6CF0=>0x91D7,
-0x6EDE=>0x91D8,
-0x80CE=>0x91D9,
-0x817F=>0x91DA,
-0x82D4=>0x91DB,
-0x888B=>0x91DC,
-0x8CB8=>0x91DD,
-0x9000=>0x91DE,
-0x902E=>0x91DF,
-0x968A=>0x91E0,
-0x9EDB=>0x91E1,
-0x9BDB=>0x91E2,
-0x4EE3=>0x91E3,
-0x53F0=>0x91E4,
-0x5927=>0x91E5,
-0x7B2C=>0x91E6,
-0x918D=>0x91E7,
-0x984C=>0x91E8,
-0x9DF9=>0x91E9,
-0x6EDD=>0x91EA,
-0x7027=>0x91EB,
-0x5353=>0x91EC,
-0x5544=>0x91ED,
-0x5B85=>0x91EE,
-0x6258=>0x91EF,
-0x629E=>0x91F0,
-0x62D3=>0x91F1,
-0x6CA2=>0x91F2,
-0x6FEF=>0x91F3,
-0x7422=>0x91F4,
-0x8A17=>0x91F5,
-0x9438=>0x91F6,
-0x6FC1=>0x91F7,
-0x8AFE=>0x91F8,
-0x8338=>0x91F9,
-0x51E7=>0x91FA,
-0x86F8=>0x91FB,
-0x53EA=>0x91FC,
-0x53E9=>0x9240,
-0x4F46=>0x9241,
-0x9054=>0x9242,
-0x8FB0=>0x9243,
-0x596A=>0x9244,
-0x8131=>0x9245,
-0x5DFD=>0x9246,
-0x7AEA=>0x9247,
-0x8FBF=>0x9248,
-0x68DA=>0x9249,
-0x8C37=>0x924A,
-0x72F8=>0x924B,
-0x9C48=>0x924C,
-0x6A3D=>0x924D,
-0x8AB0=>0x924E,
-0x4E39=>0x924F,
-0x5358=>0x9250,
-0x5606=>0x9251,
-0x5766=>0x9252,
-0x62C5=>0x9253,
-0x63A2=>0x9254,
-0x65E6=>0x9255,
-0x6B4E=>0x9256,
-0x6DE1=>0x9257,
-0x6E5B=>0x9258,
-0x70AD=>0x9259,
-0x77ED=>0x925A,
-0x7AEF=>0x925B,
-0x7BAA=>0x925C,
-0x7DBB=>0x925D,
-0x803D=>0x925E,
-0x80C6=>0x925F,
-0x86CB=>0x9260,
-0x8A95=>0x9261,
-0x935B=>0x9262,
-0x56E3=>0x9263,
-0x58C7=>0x9264,
-0x5F3E=>0x9265,
-0x65AD=>0x9266,
-0x6696=>0x9267,
-0x6A80=>0x9268,
-0x6BB5=>0x9269,
-0x7537=>0x926A,
-0x8AC7=>0x926B,
-0x5024=>0x926C,
-0x77E5=>0x926D,
-0x5730=>0x926E,
-0x5F1B=>0x926F,
-0x6065=>0x9270,
-0x667A=>0x9271,
-0x6C60=>0x9272,
-0x75F4=>0x9273,
-0x7A1A=>0x9274,
-0x7F6E=>0x9275,
-0x81F4=>0x9276,
-0x8718=>0x9277,
-0x9045=>0x9278,
-0x99B3=>0x9279,
-0x7BC9=>0x927A,
-0x755C=>0x927B,
-0x7AF9=>0x927C,
-0x7B51=>0x927D,
-0x84C4=>0x927E,
-0x9010=>0x9280,
-0x79E9=>0x9281,
-0x7A92=>0x9282,
-0x8336=>0x9283,
-0x5AE1=>0x9284,
-0x7740=>0x9285,
-0x4E2D=>0x9286,
-0x4EF2=>0x9287,
-0x5B99=>0x9288,
-0x5FE0=>0x9289,
-0x62BD=>0x928A,
-0x663C=>0x928B,
-0x67F1=>0x928C,
-0x6CE8=>0x928D,
-0x866B=>0x928E,
-0x8877=>0x928F,
-0x8A3B=>0x9290,
-0x914E=>0x9291,
-0x92F3=>0x9292,
-0x99D0=>0x9293,
-0x6A17=>0x9294,
-0x7026=>0x9295,
-0x732A=>0x9296,
-0x82E7=>0x9297,
-0x8457=>0x9298,
-0x8CAF=>0x9299,
-0x4E01=>0x929A,
-0x5146=>0x929B,
-0x51CB=>0x929C,
-0x558B=>0x929D,
-0x5BF5=>0x929E,
-0x5E16=>0x929F,
-0x5E33=>0x92A0,
-0x5E81=>0x92A1,
-0x5F14=>0x92A2,
-0x5F35=>0x92A3,
-0x5F6B=>0x92A4,
-0x5FB4=>0x92A5,
-0x61F2=>0x92A6,
-0x6311=>0x92A7,
-0x66A2=>0x92A8,
-0x671D=>0x92A9,
-0x6F6E=>0x92AA,
-0x7252=>0x92AB,
-0x753A=>0x92AC,
-0x773A=>0x92AD,
-0x8074=>0x92AE,
-0x8139=>0x92AF,
-0x8178=>0x92B0,
-0x8776=>0x92B1,
-0x8ABF=>0x92B2,
-0x8ADC=>0x92B3,
-0x8D85=>0x92B4,
-0x8DF3=>0x92B5,
-0x929A=>0x92B6,
-0x9577=>0x92B7,
-0x9802=>0x92B8,
-0x9CE5=>0x92B9,
-0x52C5=>0x92BA,
-0x6357=>0x92BB,
-0x76F4=>0x92BC,
-0x6715=>0x92BD,
-0x6C88=>0x92BE,
-0x73CD=>0x92BF,
-0x8CC3=>0x92C0,
-0x93AE=>0x92C1,
-0x9673=>0x92C2,
-0x6D25=>0x92C3,
-0x589C=>0x92C4,
-0x690E=>0x92C5,
-0x69CC=>0x92C6,
-0x8FFD=>0x92C7,
-0x939A=>0x92C8,
-0x75DB=>0x92C9,
-0x901A=>0x92CA,
-0x585A=>0x92CB,
-0x6802=>0x92CC,
-0x63B4=>0x92CD,
-0x69FB=>0x92CE,
-0x4F43=>0x92CF,
-0x6F2C=>0x92D0,
-0x67D8=>0x92D1,
-0x8FBB=>0x92D2,
-0x8526=>0x92D3,
-0x7DB4=>0x92D4,
-0x9354=>0x92D5,
-0x693F=>0x92D6,
-0x6F70=>0x92D7,
-0x576A=>0x92D8,
-0x58F7=>0x92D9,
-0x5B2C=>0x92DA,
-0x7D2C=>0x92DB,
-0x722A=>0x92DC,
-0x540A=>0x92DD,
-0x91E3=>0x92DE,
-0x9DB4=>0x92DF,
-0x4EAD=>0x92E0,
-0x4F4E=>0x92E1,
-0x505C=>0x92E2,
-0x5075=>0x92E3,
-0x5243=>0x92E4,
-0x8C9E=>0x92E5,
-0x5448=>0x92E6,
-0x5824=>0x92E7,
-0x5B9A=>0x92E8,
-0x5E1D=>0x92E9,
-0x5E95=>0x92EA,
-0x5EAD=>0x92EB,
-0x5EF7=>0x92EC,
-0x5F1F=>0x92ED,
-0x608C=>0x92EE,
-0x62B5=>0x92EF,
-0x633A=>0x92F0,
-0x63D0=>0x92F1,
-0x68AF=>0x92F2,
-0x6C40=>0x92F3,
-0x7887=>0x92F4,
-0x798E=>0x92F5,
-0x7A0B=>0x92F6,
-0x7DE0=>0x92F7,
-0x8247=>0x92F8,
-0x8A02=>0x92F9,
-0x8AE6=>0x92FA,
-0x8E44=>0x92FB,
-0x9013=>0x92FC,
-0x90B8=>0x9340,
-0x912D=>0x9341,
-0x91D8=>0x9342,
-0x9F0E=>0x9343,
-0x6CE5=>0x9344,
-0x6458=>0x9345,
-0x64E2=>0x9346,
-0x6575=>0x9347,
-0x6EF4=>0x9348,
-0x7684=>0x9349,
-0x7B1B=>0x934A,
-0x9069=>0x934B,
-0x93D1=>0x934C,
-0x6EBA=>0x934D,
-0x54F2=>0x934E,
-0x5FB9=>0x934F,
-0x64A4=>0x9350,
-0x8F4D=>0x9351,
-0x8FED=>0x9352,
-0x9244=>0x9353,
-0x5178=>0x9354,
-0x586B=>0x9355,
-0x5929=>0x9356,
-0x5C55=>0x9357,
-0x5E97=>0x9358,
-0x6DFB=>0x9359,
-0x7E8F=>0x935A,
-0x751C=>0x935B,
-0x8CBC=>0x935C,
-0x8EE2=>0x935D,
-0x985B=>0x935E,
-0x70B9=>0x935F,
-0x4F1D=>0x9360,
-0x6BBF=>0x9361,
-0x6FB1=>0x9362,
-0x7530=>0x9363,
-0x96FB=>0x9364,
-0x514E=>0x9365,
-0x5410=>0x9366,
-0x5835=>0x9367,
-0x5857=>0x9368,
-0x59AC=>0x9369,
-0x5C60=>0x936A,
-0x5F92=>0x936B,
-0x6597=>0x936C,
-0x675C=>0x936D,
-0x6E21=>0x936E,
-0x767B=>0x936F,
-0x83DF=>0x9370,
-0x8CED=>0x9371,
-0x9014=>0x9372,
-0x90FD=>0x9373,
-0x934D=>0x9374,
-0x7825=>0x9375,
-0x783A=>0x9376,
-0x52AA=>0x9377,
-0x5EA6=>0x9378,
-0x571F=>0x9379,
-0x5974=>0x937A,
-0x6012=>0x937B,
-0x5012=>0x937C,
-0x515A=>0x937D,
-0x51AC=>0x937E,
-0x51CD=>0x9380,
-0x5200=>0x9381,
-0x5510=>0x9382,
-0x5854=>0x9383,
-0x5858=>0x9384,
-0x5957=>0x9385,
-0x5B95=>0x9386,
-0x5CF6=>0x9387,
-0x5D8B=>0x9388,
-0x60BC=>0x9389,
-0x6295=>0x938A,
-0x642D=>0x938B,
-0x6771=>0x938C,
-0x6843=>0x938D,
-0x68BC=>0x938E,
-0x68DF=>0x938F,
-0x76D7=>0x9390,
-0x6DD8=>0x9391,
-0x6E6F=>0x9392,
-0x6D9B=>0x9393,
-0x706F=>0x9394,
-0x71C8=>0x9395,
-0x5F53=>0x9396,
-0x75D8=>0x9397,
-0x7977=>0x9398,
-0x7B49=>0x9399,
-0x7B54=>0x939A,
-0x7B52=>0x939B,
-0x7CD6=>0x939C,
-0x7D71=>0x939D,
-0x5230=>0x939E,
-0x8463=>0x939F,
-0x8569=>0x93A0,
-0x85E4=>0x93A1,
-0x8A0E=>0x93A2,
-0x8B04=>0x93A3,
-0x8C46=>0x93A4,
-0x8E0F=>0x93A5,
-0x9003=>0x93A6,
-0x900F=>0x93A7,
-0x9419=>0x93A8,
-0x9676=>0x93A9,
-0x982D=>0x93AA,
-0x9A30=>0x93AB,
-0x95D8=>0x93AC,
-0x50CD=>0x93AD,
-0x52D5=>0x93AE,
-0x540C=>0x93AF,
-0x5802=>0x93B0,
-0x5C0E=>0x93B1,
-0x61A7=>0x93B2,
-0x649E=>0x93B3,
-0x6D1E=>0x93B4,
-0x77B3=>0x93B5,
-0x7AE5=>0x93B6,
-0x80F4=>0x93B7,
-0x8404=>0x93B8,
-0x9053=>0x93B9,
-0x9285=>0x93BA,
-0x5CE0=>0x93BB,
-0x9D07=>0x93BC,
-0x533F=>0x93BD,
-0x5F97=>0x93BE,
-0x5FB3=>0x93BF,
-0x6D9C=>0x93C0,
-0x7279=>0x93C1,
-0x7763=>0x93C2,
-0x79BF=>0x93C3,
-0x7BE4=>0x93C4,
-0x6BD2=>0x93C5,
-0x72EC=>0x93C6,
-0x8AAD=>0x93C7,
-0x6803=>0x93C8,
-0x6A61=>0x93C9,
-0x51F8=>0x93CA,
-0x7A81=>0x93CB,
-0x6934=>0x93CC,
-0x5C4A=>0x93CD,
-0x9CF6=>0x93CE,
-0x82EB=>0x93CF,
-0x5BC5=>0x93D0,
-0x9149=>0x93D1,
-0x701E=>0x93D2,
-0x5678=>0x93D3,
-0x5C6F=>0x93D4,
-0x60C7=>0x93D5,
-0x6566=>0x93D6,
-0x6C8C=>0x93D7,
-0x8C5A=>0x93D8,
-0x9041=>0x93D9,
-0x9813=>0x93DA,
-0x5451=>0x93DB,
-0x66C7=>0x93DC,
-0x920D=>0x93DD,
-0x5948=>0x93DE,
-0x90A3=>0x93DF,
-0x5185=>0x93E0,
-0x4E4D=>0x93E1,
-0x51EA=>0x93E2,
-0x8599=>0x93E3,
-0x8B0E=>0x93E4,
-0x7058=>0x93E5,
-0x637A=>0x93E6,
-0x934B=>0x93E7,
-0x6962=>0x93E8,
-0x99B4=>0x93E9,
-0x7E04=>0x93EA,
-0x7577=>0x93EB,
-0x5357=>0x93EC,
-0x6960=>0x93ED,
-0x8EDF=>0x93EE,
-0x96E3=>0x93EF,
-0x6C5D=>0x93F0,
-0x4E8C=>0x93F1,
-0x5C3C=>0x93F2,
-0x5F10=>0x93F3,
-0x8FE9=>0x93F4,
-0x5302=>0x93F5,
-0x8CD1=>0x93F6,
-0x8089=>0x93F7,
-0x8679=>0x93F8,
-0x5EFF=>0x93F9,
-0x65E5=>0x93FA,
-0x4E73=>0x93FB,
-0x5165=>0x93FC,
-0x5982=>0x9440,
-0x5C3F=>0x9441,
-0x97EE=>0x9442,
-0x4EFB=>0x9443,
-0x598A=>0x9444,
-0x5FCD=>0x9445,
-0x8A8D=>0x9446,
-0x6FE1=>0x9447,
-0x79B0=>0x9448,
-0x7962=>0x9449,
-0x5BE7=>0x944A,
-0x8471=>0x944B,
-0x732B=>0x944C,
-0x71B1=>0x944D,
-0x5E74=>0x944E,
-0x5FF5=>0x944F,
-0x637B=>0x9450,
-0x649A=>0x9451,
-0x71C3=>0x9452,
-0x7C98=>0x9453,
-0x4E43=>0x9454,
-0x5EFC=>0x9455,
-0x4E4B=>0x9456,
-0x57DC=>0x9457,
-0x56A2=>0x9458,
-0x60A9=>0x9459,
-0x6FC3=>0x945A,
-0x7D0D=>0x945B,
-0x80FD=>0x945C,
-0x8133=>0x945D,
-0x81BF=>0x945E,
-0x8FB2=>0x945F,
-0x8997=>0x9460,
-0x86A4=>0x9461,
-0x5DF4=>0x9462,
-0x628A=>0x9463,
-0x64AD=>0x9464,
-0x8987=>0x9465,
-0x6777=>0x9466,
-0x6CE2=>0x9467,
-0x6D3E=>0x9468,
-0x7436=>0x9469,
-0x7834=>0x946A,
-0x5A46=>0x946B,
-0x7F75=>0x946C,
-0x82AD=>0x946D,
-0x99AC=>0x946E,
-0x4FF3=>0x946F,
-0x5EC3=>0x9470,
-0x62DD=>0x9471,
-0x6392=>0x9472,
-0x6557=>0x9473,
-0x676F=>0x9474,
-0x76C3=>0x9475,
-0x724C=>0x9476,
-0x80CC=>0x9477,
-0x80BA=>0x9478,
-0x8F29=>0x9479,
-0x914D=>0x947A,
-0x500D=>0x947B,
-0x57F9=>0x947C,
-0x5A92=>0x947D,
-0x6885=>0x947E,
-0x6973=>0x9480,
-0x7164=>0x9481,
-0x72FD=>0x9482,
-0x8CB7=>0x9483,
-0x58F2=>0x9484,
-0x8CE0=>0x9485,
-0x966A=>0x9486,
-0x9019=>0x9487,
-0x877F=>0x9488,
-0x79E4=>0x9489,
-0x77E7=>0x948A,
-0x8429=>0x948B,
-0x4F2F=>0x948C,
-0x5265=>0x948D,
-0x535A=>0x948E,
-0x62CD=>0x948F,
-0x67CF=>0x9490,
-0x6CCA=>0x9491,
-0x767D=>0x9492,
-0x7B94=>0x9493,
-0x7C95=>0x9494,
-0x8236=>0x9495,
-0x8584=>0x9496,
-0x8FEB=>0x9497,
-0x66DD=>0x9498,
-0x6F20=>0x9499,
-0x7206=>0x949A,
-0x7E1B=>0x949B,
-0x83AB=>0x949C,
-0x99C1=>0x949D,
-0x9EA6=>0x949E,
-0x51FD=>0x949F,
-0x7BB1=>0x94A0,
-0x7872=>0x94A1,
-0x7BB8=>0x94A2,
-0x8087=>0x94A3,
-0x7B48=>0x94A4,
-0x6AE8=>0x94A5,
-0x5E61=>0x94A6,
-0x808C=>0x94A7,
-0x7551=>0x94A8,
-0x7560=>0x94A9,
-0x516B=>0x94AA,
-0x9262=>0x94AB,
-0x6E8C=>0x94AC,
-0x767A=>0x94AD,
-0x9197=>0x94AE,
-0x9AEA=>0x94AF,
-0x4F10=>0x94B0,
-0x7F70=>0x94B1,
-0x629C=>0x94B2,
-0x7B4F=>0x94B3,
-0x95A5=>0x94B4,
-0x9CE9=>0x94B5,
-0x567A=>0x94B6,
-0x5859=>0x94B7,
-0x86E4=>0x94B8,
-0x96BC=>0x94B9,
-0x4F34=>0x94BA,
-0x5224=>0x94BB,
-0x534A=>0x94BC,
-0x53CD=>0x94BD,
-0x53DB=>0x94BE,
-0x5E06=>0x94BF,
-0x642C=>0x94C0,
-0x6591=>0x94C1,
-0x677F=>0x94C2,
-0x6C3E=>0x94C3,
-0x6C4E=>0x94C4,
-0x7248=>0x94C5,
-0x72AF=>0x94C6,
-0x73ED=>0x94C7,
-0x7554=>0x94C8,
-0x7E41=>0x94C9,
-0x822C=>0x94CA,
-0x85E9=>0x94CB,
-0x8CA9=>0x94CC,
-0x7BC4=>0x94CD,
-0x91C6=>0x94CE,
-0x7169=>0x94CF,
-0x9812=>0x94D0,
-0x98EF=>0x94D1,
-0x633D=>0x94D2,
-0x6669=>0x94D3,
-0x756A=>0x94D4,
-0x76E4=>0x94D5,
-0x78D0=>0x94D6,
-0x8543=>0x94D7,
-0x86EE=>0x94D8,
-0x532A=>0x94D9,
-0x5351=>0x94DA,
-0x5426=>0x94DB,
-0x5983=>0x94DC,
-0x5E87=>0x94DD,
-0x5F7C=>0x94DE,
-0x60B2=>0x94DF,
-0x6249=>0x94E0,
-0x6279=>0x94E1,
-0x62AB=>0x94E2,
-0x6590=>0x94E3,
-0x6BD4=>0x94E4,
-0x6CCC=>0x94E5,
-0x75B2=>0x94E6,
-0x76AE=>0x94E7,
-0x7891=>0x94E8,
-0x79D8=>0x94E9,
-0x7DCB=>0x94EA,
-0x7F77=>0x94EB,
-0x80A5=>0x94EC,
-0x88AB=>0x94ED,
-0x8AB9=>0x94EE,
-0x8CBB=>0x94EF,
-0x907F=>0x94F0,
-0x975E=>0x94F1,
-0x98DB=>0x94F2,
-0x6A0B=>0x94F3,
-0x7C38=>0x94F4,
-0x5099=>0x94F5,
-0x5C3E=>0x94F6,
-0x5FAE=>0x94F7,
-0x6787=>0x94F8,
-0x6BD8=>0x94F9,
-0x7435=>0x94FA,
-0x7709=>0x94FB,
-0x7F8E=>0x94FC,
-0x9F3B=>0x9540,
-0x67CA=>0x9541,
-0x7A17=>0x9542,
-0x5339=>0x9543,
-0x758B=>0x9544,
-0x9AED=>0x9545,
-0x5F66=>0x9546,
-0x819D=>0x9547,
-0x83F1=>0x9548,
-0x8098=>0x9549,
-0x5F3C=>0x954A,
-0x5FC5=>0x954B,
-0x7562=>0x954C,
-0x7B46=>0x954D,
-0x903C=>0x954E,
-0x6867=>0x954F,
-0x59EB=>0x9550,
-0x5A9B=>0x9551,
-0x7D10=>0x9552,
-0x767E=>0x9553,
-0x8B2C=>0x9554,
-0x4FF5=>0x9555,
-0x5F6A=>0x9556,
-0x6A19=>0x9557,
-0x6C37=>0x9558,
-0x6F02=>0x9559,
-0x74E2=>0x955A,
-0x7968=>0x955B,
-0x8868=>0x955C,
-0x8A55=>0x955D,
-0x8C79=>0x955E,
-0x5EDF=>0x955F,
-0x63CF=>0x9560,
-0x75C5=>0x9561,
-0x79D2=>0x9562,
-0x82D7=>0x9563,
-0x9328=>0x9564,
-0x92F2=>0x9565,
-0x849C=>0x9566,
-0x86ED=>0x9567,
-0x9C2D=>0x9568,
-0x54C1=>0x9569,
-0x5F6C=>0x956A,
-0x658C=>0x956B,
-0x6D5C=>0x956C,
-0x7015=>0x956D,
-0x8CA7=>0x956E,
-0x8CD3=>0x956F,
-0x983B=>0x9570,
-0x654F=>0x9571,
-0x74F6=>0x9572,
-0x4E0D=>0x9573,
-0x4ED8=>0x9574,
-0x57E0=>0x9575,
-0x592B=>0x9576,
-0x5A66=>0x9577,
-0x5BCC=>0x9578,
-0x51A8=>0x9579,
-0x5E03=>0x957A,
-0x5E9C=>0x957B,
-0x6016=>0x957C,
-0x6276=>0x957D,
-0x6577=>0x957E,
-0x65A7=>0x9580,
-0x666E=>0x9581,
-0x6D6E=>0x9582,
-0x7236=>0x9583,
-0x7B26=>0x9584,
-0x8150=>0x9585,
-0x819A=>0x9586,
-0x8299=>0x9587,
-0x8B5C=>0x9588,
-0x8CA0=>0x9589,
-0x8CE6=>0x958A,
-0x8D74=>0x958B,
-0x961C=>0x958C,
-0x9644=>0x958D,
-0x4FAE=>0x958E,
-0x64AB=>0x958F,
-0x6B66=>0x9590,
-0x821E=>0x9591,
-0x8461=>0x9592,
-0x856A=>0x9593,
-0x90E8=>0x9594,
-0x5C01=>0x9595,
-0x6953=>0x9596,
-0x98A8=>0x9597,
-0x847A=>0x9598,
-0x8557=>0x9599,
-0x4F0F=>0x959A,
-0x526F=>0x959B,
-0x5FA9=>0x959C,
-0x5E45=>0x959D,
-0x670D=>0x959E,
-0x798F=>0x959F,
-0x8179=>0x95A0,
-0x8907=>0x95A1,
-0x8986=>0x95A2,
-0x6DF5=>0x95A3,
-0x5F17=>0x95A4,
-0x6255=>0x95A5,
-0x6CB8=>0x95A6,
-0x4ECF=>0x95A7,
-0x7269=>0x95A8,
-0x9B92=>0x95A9,
-0x5206=>0x95AA,
-0x543B=>0x95AB,
-0x5674=>0x95AC,
-0x58B3=>0x95AD,
-0x61A4=>0x95AE,
-0x626E=>0x95AF,
-0x711A=>0x95B0,
-0x596E=>0x95B1,
-0x7C89=>0x95B2,
-0x7CDE=>0x95B3,
-0x7D1B=>0x95B4,
-0x96F0=>0x95B5,
-0x6587=>0x95B6,
-0x805E=>0x95B7,
-0x4E19=>0x95B8,
-0x4F75=>0x95B9,
-0x5175=>0x95BA,
-0x5840=>0x95BB,
-0x5E63=>0x95BC,
-0x5E73=>0x95BD,
-0x5F0A=>0x95BE,
-0x67C4=>0x95BF,
-0x4E26=>0x95C0,
-0x853D=>0x95C1,
-0x9589=>0x95C2,
-0x965B=>0x95C3,
-0x7C73=>0x95C4,
-0x9801=>0x95C5,
-0x50FB=>0x95C6,
-0x58C1=>0x95C7,
-0x7656=>0x95C8,
-0x78A7=>0x95C9,
-0x5225=>0x95CA,
-0x77A5=>0x95CB,
-0x8511=>0x95CC,
-0x7B86=>0x95CD,
-0x504F=>0x95CE,
-0x5909=>0x95CF,
-0x7247=>0x95D0,
-0x7BC7=>0x95D1,
-0x7DE8=>0x95D2,
-0x8FBA=>0x95D3,
-0x8FD4=>0x95D4,
-0x904D=>0x95D5,
-0x4FBF=>0x95D6,
-0x52C9=>0x95D7,
-0x5A29=>0x95D8,
-0x5F01=>0x95D9,
-0x97AD=>0x95DA,
-0x4FDD=>0x95DB,
-0x8217=>0x95DC,
-0x92EA=>0x95DD,
-0x5703=>0x95DE,
-0x6355=>0x95DF,
-0x6B69=>0x95E0,
-0x752B=>0x95E1,
-0x88DC=>0x95E2,
-0x8F14=>0x95E3,
-0x7A42=>0x95E4,
-0x52DF=>0x95E5,
-0x5893=>0x95E6,
-0x6155=>0x95E7,
-0x620A=>0x95E8,
-0x66AE=>0x95E9,
-0x6BCD=>0x95EA,
-0x7C3F=>0x95EB,
-0x83E9=>0x95EC,
-0x5023=>0x95ED,
-0x4FF8=>0x95EE,
-0x5305=>0x95EF,
-0x5446=>0x95F0,
-0x5831=>0x95F1,
-0x5949=>0x95F2,
-0x5B9D=>0x95F3,
-0x5CF0=>0x95F4,
-0x5CEF=>0x95F5,
-0x5D29=>0x95F6,
-0x5E96=>0x95F7,
-0x62B1=>0x95F8,
-0x6367=>0x95F9,
-0x653E=>0x95FA,
-0x65B9=>0x95FB,
-0x670B=>0x95FC,
-0x6CD5=>0x9640,
-0x6CE1=>0x9641,
-0x70F9=>0x9642,
-0x7832=>0x9643,
-0x7E2B=>0x9644,
-0x80DE=>0x9645,
-0x82B3=>0x9646,
-0x840C=>0x9647,
-0x84EC=>0x9648,
-0x8702=>0x9649,
-0x8912=>0x964A,
-0x8A2A=>0x964B,
-0x8C4A=>0x964C,
-0x90A6=>0x964D,
-0x92D2=>0x964E,
-0x98FD=>0x964F,
-0x9CF3=>0x9650,
-0x9D6C=>0x9651,
-0x4E4F=>0x9652,
-0x4EA1=>0x9653,
-0x508D=>0x9654,
-0x5256=>0x9655,
-0x574A=>0x9656,
-0x59A8=>0x9657,
-0x5E3D=>0x9658,
-0x5FD8=>0x9659,
-0x5FD9=>0x965A,
-0x623F=>0x965B,
-0x66B4=>0x965C,
-0x671B=>0x965D,
-0x67D0=>0x965E,
-0x68D2=>0x965F,
-0x5192=>0x9660,
-0x7D21=>0x9661,
-0x80AA=>0x9662,
-0x81A8=>0x9663,
-0x8B00=>0x9664,
-0x8C8C=>0x9665,
-0x8CBF=>0x9666,
-0x927E=>0x9667,
-0x9632=>0x9668,
-0x5420=>0x9669,
-0x982C=>0x966A,
-0x5317=>0x966B,
-0x50D5=>0x966C,
-0x535C=>0x966D,
-0x58A8=>0x966E,
-0x64B2=>0x966F,
-0x6734=>0x9670,
-0x7267=>0x9671,
-0x7766=>0x9672,
-0x7A46=>0x9673,
-0x91E6=>0x9674,
-0x52C3=>0x9675,
-0x6CA1=>0x9676,
-0x6B86=>0x9677,
-0x5800=>0x9678,
-0x5E4C=>0x9679,
-0x5954=>0x967A,
-0x672C=>0x967B,
-0x7FFB=>0x967C,
-0x51E1=>0x967D,
-0x76C6=>0x967E,
-0x6469=>0x9680,
-0x78E8=>0x9681,
-0x9B54=>0x9682,
-0x9EBB=>0x9683,
-0x57CB=>0x9684,
-0x59B9=>0x9685,
-0x6627=>0x9686,
-0x679A=>0x9687,
-0x6BCE=>0x9688,
-0x54E9=>0x9689,
-0x69D9=>0x968A,
-0x5E55=>0x968B,
-0x819C=>0x968C,
-0x6795=>0x968D,
-0x9BAA=>0x968E,
-0x67FE=>0x968F,
-0x9C52=>0x9690,
-0x685D=>0x9691,
-0x4EA6=>0x9692,
-0x4FE3=>0x9693,
-0x53C8=>0x9694,
-0x62B9=>0x9695,
-0x672B=>0x9696,
-0x6CAB=>0x9697,
-0x8FC4=>0x9698,
-0x4FAD=>0x9699,
-0x7E6D=>0x969A,
-0x9EBF=>0x969B,
-0x4E07=>0x969C,
-0x6162=>0x969D,
-0x6E80=>0x969E,
-0x6F2B=>0x969F,
-0x8513=>0x96A0,
-0x5473=>0x96A1,
-0x672A=>0x96A2,
-0x9B45=>0x96A3,
-0x5DF3=>0x96A4,
-0x7B95=>0x96A5,
-0x5CAC=>0x96A6,
-0x5BC6=>0x96A7,
-0x871C=>0x96A8,
-0x6E4A=>0x96A9,
-0x84D1=>0x96AA,
-0x7A14=>0x96AB,
-0x8108=>0x96AC,
-0x5999=>0x96AD,
-0x7C8D=>0x96AE,
-0x6C11=>0x96AF,
-0x7720=>0x96B0,
-0x52D9=>0x96B1,
-0x5922=>0x96B2,
-0x7121=>0x96B3,
-0x725F=>0x96B4,
-0x77DB=>0x96B5,
-0x9727=>0x96B6,
-0x9D61=>0x96B7,
-0x690B=>0x96B8,
-0x5A7F=>0x96B9,
-0x5A18=>0x96BA,
-0x51A5=>0x96BB,
-0x540D=>0x96BC,
-0x547D=>0x96BD,
-0x660E=>0x96BE,
-0x76DF=>0x96BF,
-0x8FF7=>0x96C0,
-0x9298=>0x96C1,
-0x9CF4=>0x96C2,
-0x59EA=>0x96C3,
-0x725D=>0x96C4,
-0x6EC5=>0x96C5,
-0x514D=>0x96C6,
-0x68C9=>0x96C7,
-0x7DBF=>0x96C8,
-0x7DEC=>0x96C9,
-0x9762=>0x96CA,
-0x9EBA=>0x96CB,
-0x6478=>0x96CC,
-0x6A21=>0x96CD,
-0x8302=>0x96CE,
-0x5984=>0x96CF,
-0x5B5F=>0x96D0,
-0x6BDB=>0x96D1,
-0x731B=>0x96D2,
-0x76F2=>0x96D3,
-0x7DB2=>0x96D4,
-0x8017=>0x96D5,
-0x8499=>0x96D6,
-0x5132=>0x96D7,
-0x6728=>0x96D8,
-0x9ED9=>0x96D9,
-0x76EE=>0x96DA,
-0x6762=>0x96DB,
-0x52FF=>0x96DC,
-0x9905=>0x96DD,
-0x5C24=>0x96DE,
-0x623B=>0x96DF,
-0x7C7E=>0x96E0,
-0x8CB0=>0x96E1,
-0x554F=>0x96E2,
-0x60B6=>0x96E3,
-0x7D0B=>0x96E4,
-0x9580=>0x96E5,
-0x5301=>0x96E6,
-0x4E5F=>0x96E7,
-0x51B6=>0x96E8,
-0x591C=>0x96E9,
-0x723A=>0x96EA,
-0x8036=>0x96EB,
-0x91CE=>0x96EC,
-0x5F25=>0x96ED,
-0x77E2=>0x96EE,
-0x5384=>0x96EF,
-0x5F79=>0x96F0,
-0x7D04=>0x96F1,
-0x85AC=>0x96F2,
-0x8A33=>0x96F3,
-0x8E8D=>0x96F4,
-0x9756=>0x96F5,
-0x67F3=>0x96F6,
-0x85AE=>0x96F7,
-0x9453=>0x96F8,
-0x6109=>0x96F9,
-0x6108=>0x96FA,
-0x6CB9=>0x96FB,
-0x7652=>0x96FC,
-0x8AED=>0x9740,
-0x8F38=>0x9741,
-0x552F=>0x9742,
-0x4F51=>0x9743,
-0x512A=>0x9744,
-0x52C7=>0x9745,
-0x53CB=>0x9746,
-0x5BA5=>0x9747,
-0x5E7D=>0x9748,
-0x60A0=>0x9749,
-0x6182=>0x974A,
-0x63D6=>0x974B,
-0x6709=>0x974C,
-0x67DA=>0x974D,
-0x6E67=>0x974E,
-0x6D8C=>0x974F,
-0x7336=>0x9750,
-0x7337=>0x9751,
-0x7531=>0x9752,
-0x7950=>0x9753,
-0x88D5=>0x9754,
-0x8A98=>0x9755,
-0x904A=>0x9756,
-0x9091=>0x9757,
-0x90F5=>0x9758,
-0x96C4=>0x9759,
-0x878D=>0x975A,
-0x5915=>0x975B,
-0x4E88=>0x975C,
-0x4F59=>0x975D,
-0x4E0E=>0x975E,
-0x8A89=>0x975F,
-0x8F3F=>0x9760,
-0x9810=>0x9761,
-0x50AD=>0x9762,
-0x5E7C=>0x9763,
-0x5996=>0x9764,
-0x5BB9=>0x9765,
-0x5EB8=>0x9766,
-0x63DA=>0x9767,
-0x63FA=>0x9768,
-0x64C1=>0x9769,
-0x66DC=>0x976A,
-0x694A=>0x976B,
-0x69D8=>0x976C,
-0x6D0B=>0x976D,
-0x6EB6=>0x976E,
-0x7194=>0x976F,
-0x7528=>0x9770,
-0x7AAF=>0x9771,
-0x7F8A=>0x9772,
-0x8000=>0x9773,
-0x8449=>0x9774,
-0x84C9=>0x9775,
-0x8981=>0x9776,
-0x8B21=>0x9777,
-0x8E0A=>0x9778,
-0x9065=>0x9779,
-0x967D=>0x977A,
-0x990A=>0x977B,
-0x617E=>0x977C,
-0x6291=>0x977D,
-0x6B32=>0x977E,
-0x6C83=>0x9780,
-0x6D74=>0x9781,
-0x7FCC=>0x9782,
-0x7FFC=>0x9783,
-0x6DC0=>0x9784,
-0x7F85=>0x9785,
-0x87BA=>0x9786,
-0x88F8=>0x9787,
-0x6765=>0x9788,
-0x83B1=>0x9789,
-0x983C=>0x978A,
-0x96F7=>0x978B,
-0x6D1B=>0x978C,
-0x7D61=>0x978D,
-0x843D=>0x978E,
-0x916A=>0x978F,
-0x4E71=>0x9790,
-0x5375=>0x9791,
-0x5D50=>0x9792,
-0x6B04=>0x9793,
-0x6FEB=>0x9794,
-0x85CD=>0x9795,
-0x862D=>0x9796,
-0x89A7=>0x9797,
-0x5229=>0x9798,
-0x540F=>0x9799,
-0x5C65=>0x979A,
-0x674E=>0x979B,
-0x68A8=>0x979C,
-0x7406=>0x979D,
-0x7483=>0x979E,
-0x75E2=>0x979F,
-0x88CF=>0x97A0,
-0x88E1=>0x97A1,
-0x91CC=>0x97A2,
-0x96E2=>0x97A3,
-0x9678=>0x97A4,
-0x5F8B=>0x97A5,
-0x7387=>0x97A6,
-0x7ACB=>0x97A7,
-0x844E=>0x97A8,
-0x63A0=>0x97A9,
-0x7565=>0x97AA,
-0x5289=>0x97AB,
-0x6D41=>0x97AC,
-0x6E9C=>0x97AD,
-0x7409=>0x97AE,
-0x7559=>0x97AF,
-0x786B=>0x97B0,
-0x7C92=>0x97B1,
-0x9686=>0x97B2,
-0x7ADC=>0x97B3,
-0x9F8D=>0x97B4,
-0x4FB6=>0x97B5,
-0x616E=>0x97B6,
-0x65C5=>0x97B7,
-0x865C=>0x97B8,
-0x4E86=>0x97B9,
-0x4EAE=>0x97BA,
-0x50DA=>0x97BB,
-0x4E21=>0x97BC,
-0x51CC=>0x97BD,
-0x5BEE=>0x97BE,
-0x6599=>0x97BF,
-0x6881=>0x97C0,
-0x6DBC=>0x97C1,
-0x731F=>0x97C2,
-0x7642=>0x97C3,
-0x77AD=>0x97C4,
-0x7A1C=>0x97C5,
-0x7CE7=>0x97C6,
-0x826F=>0x97C7,
-0x8AD2=>0x97C8,
-0x907C=>0x97C9,
-0x91CF=>0x97CA,
-0x9675=>0x97CB,
-0x9818=>0x97CC,
-0x529B=>0x97CD,
-0x7DD1=>0x97CE,
-0x502B=>0x97CF,
-0x5398=>0x97D0,
-0x6797=>0x97D1,
-0x6DCB=>0x97D2,
-0x71D0=>0x97D3,
-0x7433=>0x97D4,
-0x81E8=>0x97D5,
-0x8F2A=>0x97D6,
-0x96A3=>0x97D7,
-0x9C57=>0x97D8,
-0x9E9F=>0x97D9,
-0x7460=>0x97DA,
-0x5841=>0x97DB,
-0x6D99=>0x97DC,
-0x7D2F=>0x97DD,
-0x985E=>0x97DE,
-0x4EE4=>0x97DF,
-0x4F36=>0x97E0,
-0x4F8B=>0x97E1,
-0x51B7=>0x97E2,
-0x52B1=>0x97E3,
-0x5DBA=>0x97E4,
-0x601C=>0x97E5,
-0x73B2=>0x97E6,
-0x793C=>0x97E7,
-0x82D3=>0x97E8,
-0x9234=>0x97E9,
-0x96B7=>0x97EA,
-0x96F6=>0x97EB,
-0x970A=>0x97EC,
-0x9E97=>0x97ED,
-0x9F62=>0x97EE,
-0x66A6=>0x97EF,
-0x6B74=>0x97F0,
-0x5217=>0x97F1,
-0x52A3=>0x97F2,
-0x70C8=>0x97F3,
-0x88C2=>0x97F4,
-0x5EC9=>0x97F5,
-0x604B=>0x97F6,
-0x6190=>0x97F7,
-0x6F23=>0x97F8,
-0x7149=>0x97F9,
-0x7C3E=>0x97FA,
-0x7DF4=>0x97FB,
-0x806F=>0x97FC,
-0x84EE=>0x9840,
-0x9023=>0x9841,
-0x932C=>0x9842,
-0x5442=>0x9843,
-0x9B6F=>0x9844,
-0x6AD3=>0x9845,
-0x7089=>0x9846,
-0x8CC2=>0x9847,
-0x8DEF=>0x9848,
-0x9732=>0x9849,
-0x52B4=>0x984A,
-0x5A41=>0x984B,
-0x5ECA=>0x984C,
-0x5F04=>0x984D,
-0x6717=>0x984E,
-0x697C=>0x984F,
-0x6994=>0x9850,
-0x6D6A=>0x9851,
-0x6F0F=>0x9852,
-0x7262=>0x9853,
-0x72FC=>0x9854,
-0x7BED=>0x9855,
-0x8001=>0x9856,
-0x807E=>0x9857,
-0x874B=>0x9858,
-0x90CE=>0x9859,
-0x516D=>0x985A,
-0x9E93=>0x985B,
-0x7984=>0x985C,
-0x808B=>0x985D,
-0x9332=>0x985E,
-0x8AD6=>0x985F,
-0x502D=>0x9860,
-0x548C=>0x9861,
-0x8A71=>0x9862,
-0x6B6A=>0x9863,
-0x8CC4=>0x9864,
-0x8107=>0x9865,
-0x60D1=>0x9866,
-0x67A0=>0x9867,
-0x9DF2=>0x9868,
-0x4E99=>0x9869,
-0x4E98=>0x986A,
-0x9C10=>0x986B,
-0x8A6B=>0x986C,
-0x85C1=>0x986D,
-0x8568=>0x986E,
-0x6900=>0x986F,
-0x6E7E=>0x9870,
-0x7897=>0x9871,
-0x8155=>0x9872,
-0x5F0C=>0x989F,
-0x4E10=>0x98A0,
-0x4E15=>0x98A1,
-0x4E2A=>0x98A2,
-0x4E31=>0x98A3,
-0x4E36=>0x98A4,
-0x4E3C=>0x98A5,
-0x4E3F=>0x98A6,
-0x4E42=>0x98A7,
-0x4E56=>0x98A8,
-0x4E58=>0x98A9,
-0x4E82=>0x98AA,
-0x4E85=>0x98AB,
-0x8C6B=>0x98AC,
-0x4E8A=>0x98AD,
-0x8212=>0x98AE,
-0x5F0D=>0x98AF,
-0x4E8E=>0x98B0,
-0x4E9E=>0x98B1,
-0x4E9F=>0x98B2,
-0x4EA0=>0x98B3,
-0x4EA2=>0x98B4,
-0x4EB0=>0x98B5,
-0x4EB3=>0x98B6,
-0x4EB6=>0x98B7,
-0x4ECE=>0x98B8,
-0x4ECD=>0x98B9,
-0x4EC4=>0x98BA,
-0x4EC6=>0x98BB,
-0x4EC2=>0x98BC,
-0x4ED7=>0x98BD,
-0x4EDE=>0x98BE,
-0x4EED=>0x98BF,
-0x4EDF=>0x98C0,
-0x4EF7=>0x98C1,
-0x4F09=>0x98C2,
-0x4F5A=>0x98C3,
-0x4F30=>0x98C4,
-0x4F5B=>0x98C5,
-0x4F5D=>0x98C6,
-0x4F57=>0x98C7,
-0x4F47=>0x98C8,
-0x4F76=>0x98C9,
-0x4F88=>0x98CA,
-0x4F8F=>0x98CB,
-0x4F98=>0x98CC,
-0x4F7B=>0x98CD,
-0x4F69=>0x98CE,
-0x4F70=>0x98CF,
-0x4F91=>0x98D0,
-0x4F6F=>0x98D1,
-0x4F86=>0x98D2,
-0x4F96=>0x98D3,
-0x5118=>0x98D4,
-0x4FD4=>0x98D5,
-0x4FDF=>0x98D6,
-0x4FCE=>0x98D7,
-0x4FD8=>0x98D8,
-0x4FDB=>0x98D9,
-0x4FD1=>0x98DA,
-0x4FDA=>0x98DB,
-0x4FD0=>0x98DC,
-0x4FE4=>0x98DD,
-0x4FE5=>0x98DE,
-0x501A=>0x98DF,
-0x5028=>0x98E0,
-0x5014=>0x98E1,
-0x502A=>0x98E2,
-0x5025=>0x98E3,
-0x5005=>0x98E4,
-0x4F1C=>0x98E5,
-0x4FF6=>0x98E6,
-0x5021=>0x98E7,
-0x5029=>0x98E8,
-0x502C=>0x98E9,
-0x4FFE=>0x98EA,
-0x4FEF=>0x98EB,
-0x5011=>0x98EC,
-0x5006=>0x98ED,
-0x5043=>0x98EE,
-0x5047=>0x98EF,
-0x6703=>0x98F0,
-0x5055=>0x98F1,
-0x5050=>0x98F2,
-0x5048=>0x98F3,
-0x505A=>0x98F4,
-0x5056=>0x98F5,
-0x506C=>0x98F6,
-0x5078=>0x98F7,
-0x5080=>0x98F8,
-0x509A=>0x98F9,
-0x5085=>0x98FA,
-0x50B4=>0x98FB,
-0x50B2=>0x98FC,
-0x50C9=>0x9940,
-0x50CA=>0x9941,
-0x50B3=>0x9942,
-0x50C2=>0x9943,
-0x50D6=>0x9944,
-0x50DE=>0x9945,
-0x50E5=>0x9946,
-0x50ED=>0x9947,
-0x50E3=>0x9948,
-0x50EE=>0x9949,
-0x50F9=>0x994A,
-0x50F5=>0x994B,
-0x5109=>0x994C,
-0x5101=>0x994D,
-0x5102=>0x994E,
-0x5116=>0x994F,
-0x5115=>0x9950,
-0x5114=>0x9951,
-0x511A=>0x9952,
-0x5121=>0x9953,
-0x513A=>0x9954,
-0x5137=>0x9955,
-0x513C=>0x9956,
-0x513B=>0x9957,
-0x513F=>0x9958,
-0x5140=>0x9959,
-0x5152=>0x995A,
-0x514C=>0x995B,
-0x5154=>0x995C,
-0x5162=>0x995D,
-0x7AF8=>0x995E,
-0x5169=>0x995F,
-0x516A=>0x9960,
-0x516E=>0x9961,
-0x5180=>0x9962,
-0x5182=>0x9963,
-0x56D8=>0x9964,
-0x518C=>0x9965,
-0x5189=>0x9966,
-0x518F=>0x9967,
-0x5191=>0x9968,
-0x5193=>0x9969,
-0x5195=>0x996A,
-0x5196=>0x996B,
-0x51A4=>0x996C,
-0x51A6=>0x996D,
-0x51A2=>0x996E,
-0x51A9=>0x996F,
-0x51AA=>0x9970,
-0x51AB=>0x9971,
-0x51B3=>0x9972,
-0x51B1=>0x9973,
-0x51B2=>0x9974,
-0x51B0=>0x9975,
-0x51B5=>0x9976,
-0x51BD=>0x9977,
-0x51C5=>0x9978,
-0x51C9=>0x9979,
-0x51DB=>0x997A,
-0x51E0=>0x997B,
-0x8655=>0x997C,
-0x51E9=>0x997D,
-0x51ED=>0x997E,
-0x51F0=>0x9980,
-0x51F5=>0x9981,
-0x51FE=>0x9982,
-0x5204=>0x9983,
-0x520B=>0x9984,
-0x5214=>0x9985,
-0x520E=>0x9986,
-0x5227=>0x9987,
-0x522A=>0x9988,
-0x522E=>0x9989,
-0x5233=>0x998A,
-0x5239=>0x998B,
-0x524F=>0x998C,
-0x5244=>0x998D,
-0x524B=>0x998E,
-0x524C=>0x998F,
-0x525E=>0x9990,
-0x5254=>0x9991,
-0x526A=>0x9992,
-0x5274=>0x9993,
-0x5269=>0x9994,
-0x5273=>0x9995,
-0x527F=>0x9996,
-0x527D=>0x9997,
-0x528D=>0x9998,
-0x5294=>0x9999,
-0x5292=>0x999A,
-0x5271=>0x999B,
-0x5288=>0x999C,
-0x5291=>0x999D,
-0x8FA8=>0x999E,
-0x8FA7=>0x999F,
-0x52AC=>0x99A0,
-0x52AD=>0x99A1,
-0x52BC=>0x99A2,
-0x52B5=>0x99A3,
-0x52C1=>0x99A4,
-0x52CD=>0x99A5,
-0x52D7=>0x99A6,
-0x52DE=>0x99A7,
-0x52E3=>0x99A8,
-0x52E6=>0x99A9,
-0x98ED=>0x99AA,
-0x52E0=>0x99AB,
-0x52F3=>0x99AC,
-0x52F5=>0x99AD,
-0x52F8=>0x99AE,
-0x52F9=>0x99AF,
-0x5306=>0x99B0,
-0x5308=>0x99B1,
-0x7538=>0x99B2,
-0x530D=>0x99B3,
-0x5310=>0x99B4,
-0x530F=>0x99B5,
-0x5315=>0x99B6,
-0x531A=>0x99B7,
-0x5323=>0x99B8,
-0x532F=>0x99B9,
-0x5331=>0x99BA,
-0x5333=>0x99BB,
-0x5338=>0x99BC,
-0x5340=>0x99BD,
-0x5346=>0x99BE,
-0x5345=>0x99BF,
-0x4E17=>0x99C0,
-0x5349=>0x99C1,
-0x534D=>0x99C2,
-0x51D6=>0x99C3,
-0x535E=>0x99C4,
-0x5369=>0x99C5,
-0x536E=>0x99C6,
-0x5918=>0x99C7,
-0x537B=>0x99C8,
-0x5377=>0x99C9,
-0x5382=>0x99CA,
-0x5396=>0x99CB,
-0x53A0=>0x99CC,
-0x53A6=>0x99CD,
-0x53A5=>0x99CE,
-0x53AE=>0x99CF,
-0x53B0=>0x99D0,
-0x53B6=>0x99D1,
-0x53C3=>0x99D2,
-0x7C12=>0x99D3,
-0x96D9=>0x99D4,
-0x53DF=>0x99D5,
-0x66FC=>0x99D6,
-0x71EE=>0x99D7,
-0x53EE=>0x99D8,
-0x53E8=>0x99D9,
-0x53ED=>0x99DA,
-0x53FA=>0x99DB,
-0x5401=>0x99DC,
-0x543D=>0x99DD,
-0x5440=>0x99DE,
-0x542C=>0x99DF,
-0x542D=>0x99E0,
-0x543C=>0x99E1,
-0x542E=>0x99E2,
-0x5436=>0x99E3,
-0x5429=>0x99E4,
-0x541D=>0x99E5,
-0x544E=>0x99E6,
-0x548F=>0x99E7,
-0x5475=>0x99E8,
-0x548E=>0x99E9,
-0x545F=>0x99EA,
-0x5471=>0x99EB,
-0x5477=>0x99EC,
-0x5470=>0x99ED,
-0x5492=>0x99EE,
-0x547B=>0x99EF,
-0x5480=>0x99F0,
-0x5476=>0x99F1,
-0x5484=>0x99F2,
-0x5490=>0x99F3,
-0x5486=>0x99F4,
-0x54C7=>0x99F5,
-0x54A2=>0x99F6,
-0x54B8=>0x99F7,
-0x54A5=>0x99F8,
-0x54AC=>0x99F9,
-0x54C4=>0x99FA,
-0x54C8=>0x99FB,
-0x54A8=>0x99FC,
-0x54AB=>0x9A40,
-0x54C2=>0x9A41,
-0x54A4=>0x9A42,
-0x54BE=>0x9A43,
-0x54BC=>0x9A44,
-0x54D8=>0x9A45,
-0x54E5=>0x9A46,
-0x54E6=>0x9A47,
-0x550F=>0x9A48,
-0x5514=>0x9A49,
-0x54FD=>0x9A4A,
-0x54EE=>0x9A4B,
-0x54ED=>0x9A4C,
-0x54FA=>0x9A4D,
-0x54E2=>0x9A4E,
-0x5539=>0x9A4F,
-0x5540=>0x9A50,
-0x5563=>0x9A51,
-0x554C=>0x9A52,
-0x552E=>0x9A53,
-0x555C=>0x9A54,
-0x5545=>0x9A55,
-0x5556=>0x9A56,
-0x5557=>0x9A57,
-0x5538=>0x9A58,
-0x5533=>0x9A59,
-0x555D=>0x9A5A,
-0x5599=>0x9A5B,
-0x5580=>0x9A5C,
-0x54AF=>0x9A5D,
-0x558A=>0x9A5E,
-0x559F=>0x9A5F,
-0x557B=>0x9A60,
-0x557E=>0x9A61,
-0x5598=>0x9A62,
-0x559E=>0x9A63,
-0x55AE=>0x9A64,
-0x557C=>0x9A65,
-0x5583=>0x9A66,
-0x55A9=>0x9A67,
-0x5587=>0x9A68,
-0x55A8=>0x9A69,
-0x55DA=>0x9A6A,
-0x55C5=>0x9A6B,
-0x55DF=>0x9A6C,
-0x55C4=>0x9A6D,
-0x55DC=>0x9A6E,
-0x55E4=>0x9A6F,
-0x55D4=>0x9A70,
-0x5614=>0x9A71,
-0x55F7=>0x9A72,
-0x5616=>0x9A73,
-0x55FE=>0x9A74,
-0x55FD=>0x9A75,
-0x561B=>0x9A76,
-0x55F9=>0x9A77,
-0x564E=>0x9A78,
-0x5650=>0x9A79,
-0x71DF=>0x9A7A,
-0x5634=>0x9A7B,
-0x5636=>0x9A7C,
-0x5632=>0x9A7D,
-0x5638=>0x9A7E,
-0x566B=>0x9A80,
-0x5664=>0x9A81,
-0x562F=>0x9A82,
-0x566C=>0x9A83,
-0x566A=>0x9A84,
-0x5686=>0x9A85,
-0x5680=>0x9A86,
-0x568A=>0x9A87,
-0x56A0=>0x9A88,
-0x5694=>0x9A89,
-0x568F=>0x9A8A,
-0x56A5=>0x9A8B,
-0x56AE=>0x9A8C,
-0x56B6=>0x9A8D,
-0x56B4=>0x9A8E,
-0x56C2=>0x9A8F,
-0x56BC=>0x9A90,
-0x56C1=>0x9A91,
-0x56C3=>0x9A92,
-0x56C0=>0x9A93,
-0x56C8=>0x9A94,
-0x56CE=>0x9A95,
-0x56D1=>0x9A96,
-0x56D3=>0x9A97,
-0x56D7=>0x9A98,
-0x56EE=>0x9A99,
-0x56F9=>0x9A9A,
-0x5700=>0x9A9B,
-0x56FF=>0x9A9C,
-0x5704=>0x9A9D,
-0x5709=>0x9A9E,
-0x5708=>0x9A9F,
-0x570B=>0x9AA0,
-0x570D=>0x9AA1,
-0x5713=>0x9AA2,
-0x5718=>0x9AA3,
-0x5716=>0x9AA4,
-0x55C7=>0x9AA5,
-0x571C=>0x9AA6,
-0x5726=>0x9AA7,
-0x5737=>0x9AA8,
-0x5738=>0x9AA9,
-0x574E=>0x9AAA,
-0x573B=>0x9AAB,
-0x5740=>0x9AAC,
-0x574F=>0x9AAD,
-0x5769=>0x9AAE,
-0x57C0=>0x9AAF,
-0x5788=>0x9AB0,
-0x5761=>0x9AB1,
-0x577F=>0x9AB2,
-0x5789=>0x9AB3,
-0x5793=>0x9AB4,
-0x57A0=>0x9AB5,
-0x57B3=>0x9AB6,
-0x57A4=>0x9AB7,
-0x57AA=>0x9AB8,
-0x57B0=>0x9AB9,
-0x57C3=>0x9ABA,
-0x57C6=>0x9ABB,
-0x57D4=>0x9ABC,
-0x57D2=>0x9ABD,
-0x57D3=>0x9ABE,
-0x580A=>0x9ABF,
-0x57D6=>0x9AC0,
-0x57E3=>0x9AC1,
-0x580B=>0x9AC2,
-0x5819=>0x9AC3,
-0x581D=>0x9AC4,
-0x5872=>0x9AC5,
-0x5821=>0x9AC6,
-0x5862=>0x9AC7,
-0x584B=>0x9AC8,
-0x5870=>0x9AC9,
-0x6BC0=>0x9ACA,
-0x5852=>0x9ACB,
-0x583D=>0x9ACC,
-0x5879=>0x9ACD,
-0x5885=>0x9ACE,
-0x58B9=>0x9ACF,
-0x589F=>0x9AD0,
-0x58AB=>0x9AD1,
-0x58BA=>0x9AD2,
-0x58DE=>0x9AD3,
-0x58BB=>0x9AD4,
-0x58B8=>0x9AD5,
-0x58AE=>0x9AD6,
-0x58C5=>0x9AD7,
-0x58D3=>0x9AD8,
-0x58D1=>0x9AD9,
-0x58D7=>0x9ADA,
-0x58D9=>0x9ADB,
-0x58D8=>0x9ADC,
-0x58E5=>0x9ADD,
-0x58DC=>0x9ADE,
-0x58E4=>0x9ADF,
-0x58DF=>0x9AE0,
-0x58EF=>0x9AE1,
-0x58FA=>0x9AE2,
-0x58F9=>0x9AE3,
-0x58FB=>0x9AE4,
-0x58FC=>0x9AE5,
-0x58FD=>0x9AE6,
-0x5902=>0x9AE7,
-0x590A=>0x9AE8,
-0x5910=>0x9AE9,
-0x591B=>0x9AEA,
-0x68A6=>0x9AEB,
-0x5925=>0x9AEC,
-0x592C=>0x9AED,
-0x592D=>0x9AEE,
-0x5932=>0x9AEF,
-0x5938=>0x9AF0,
-0x593E=>0x9AF1,
-0x7AD2=>0x9AF2,
-0x5955=>0x9AF3,
-0x5950=>0x9AF4,
-0x594E=>0x9AF5,
-0x595A=>0x9AF6,
-0x5958=>0x9AF7,
-0x5962=>0x9AF8,
-0x5960=>0x9AF9,
-0x5967=>0x9AFA,
-0x596C=>0x9AFB,
-0x5969=>0x9AFC,
-0x5978=>0x9B40,
-0x5981=>0x9B41,
-0x599D=>0x9B42,
-0x4F5E=>0x9B43,
-0x4FAB=>0x9B44,
-0x59A3=>0x9B45,
-0x59B2=>0x9B46,
-0x59C6=>0x9B47,
-0x59E8=>0x9B48,
-0x59DC=>0x9B49,
-0x598D=>0x9B4A,
-0x59D9=>0x9B4B,
-0x59DA=>0x9B4C,
-0x5A25=>0x9B4D,
-0x5A1F=>0x9B4E,
-0x5A11=>0x9B4F,
-0x5A1C=>0x9B50,
-0x5A09=>0x9B51,
-0x5A1A=>0x9B52,
-0x5A40=>0x9B53,
-0x5A6C=>0x9B54,
-0x5A49=>0x9B55,
-0x5A35=>0x9B56,
-0x5A36=>0x9B57,
-0x5A62=>0x9B58,
-0x5A6A=>0x9B59,
-0x5A9A=>0x9B5A,
-0x5ABC=>0x9B5B,
-0x5ABE=>0x9B5C,
-0x5ACB=>0x9B5D,
-0x5AC2=>0x9B5E,
-0x5ABD=>0x9B5F,
-0x5AE3=>0x9B60,
-0x5AD7=>0x9B61,
-0x5AE6=>0x9B62,
-0x5AE9=>0x9B63,
-0x5AD6=>0x9B64,
-0x5AFA=>0x9B65,
-0x5AFB=>0x9B66,
-0x5B0C=>0x9B67,
-0x5B0B=>0x9B68,
-0x5B16=>0x9B69,
-0x5B32=>0x9B6A,
-0x5AD0=>0x9B6B,
-0x5B2A=>0x9B6C,
-0x5B36=>0x9B6D,
-0x5B3E=>0x9B6E,
-0x5B43=>0x9B6F,
-0x5B45=>0x9B70,
-0x5B40=>0x9B71,
-0x5B51=>0x9B72,
-0x5B55=>0x9B73,
-0x5B5A=>0x9B74,
-0x5B5B=>0x9B75,
-0x5B65=>0x9B76,
-0x5B69=>0x9B77,
-0x5B70=>0x9B78,
-0x5B73=>0x9B79,
-0x5B75=>0x9B7A,
-0x5B78=>0x9B7B,
-0x6588=>0x9B7C,
-0x5B7A=>0x9B7D,
-0x5B80=>0x9B7E,
-0x5B83=>0x9B80,
-0x5BA6=>0x9B81,
-0x5BB8=>0x9B82,
-0x5BC3=>0x9B83,
-0x5BC7=>0x9B84,
-0x5BC9=>0x9B85,
-0x5BD4=>0x9B86,
-0x5BD0=>0x9B87,
-0x5BE4=>0x9B88,
-0x5BE6=>0x9B89,
-0x5BE2=>0x9B8A,
-0x5BDE=>0x9B8B,
-0x5BE5=>0x9B8C,
-0x5BEB=>0x9B8D,
-0x5BF0=>0x9B8E,
-0x5BF6=>0x9B8F,
-0x5BF3=>0x9B90,
-0x5C05=>0x9B91,
-0x5C07=>0x9B92,
-0x5C08=>0x9B93,
-0x5C0D=>0x9B94,
-0x5C13=>0x9B95,
-0x5C20=>0x9B96,
-0x5C22=>0x9B97,
-0x5C28=>0x9B98,
-0x5C38=>0x9B99,
-0x5C39=>0x9B9A,
-0x5C41=>0x9B9B,
-0x5C46=>0x9B9C,
-0x5C4E=>0x9B9D,
-0x5C53=>0x9B9E,
-0x5C50=>0x9B9F,
-0x5C4F=>0x9BA0,
-0x5B71=>0x9BA1,
-0x5C6C=>0x9BA2,
-0x5C6E=>0x9BA3,
-0x4E62=>0x9BA4,
-0x5C76=>0x9BA5,
-0x5C79=>0x9BA6,
-0x5C8C=>0x9BA7,
-0x5C91=>0x9BA8,
-0x5C94=>0x9BA9,
-0x599B=>0x9BAA,
-0x5CAB=>0x9BAB,
-0x5CBB=>0x9BAC,
-0x5CB6=>0x9BAD,
-0x5CBC=>0x9BAE,
-0x5CB7=>0x9BAF,
-0x5CC5=>0x9BB0,
-0x5CBE=>0x9BB1,
-0x5CC7=>0x9BB2,
-0x5CD9=>0x9BB3,
-0x5CE9=>0x9BB4,
-0x5CFD=>0x9BB5,
-0x5CFA=>0x9BB6,
-0x5CED=>0x9BB7,
-0x5D8C=>0x9BB8,
-0x5CEA=>0x9BB9,
-0x5D0B=>0x9BBA,
-0x5D15=>0x9BBB,
-0x5D17=>0x9BBC,
-0x5D5C=>0x9BBD,
-0x5D1F=>0x9BBE,
-0x5D1B=>0x9BBF,
-0x5D11=>0x9BC0,
-0x5D14=>0x9BC1,
-0x5D22=>0x9BC2,
-0x5D1A=>0x9BC3,
-0x5D19=>0x9BC4,
-0x5D18=>0x9BC5,
-0x5D4C=>0x9BC6,
-0x5D52=>0x9BC7,
-0x5D4E=>0x9BC8,
-0x5D4B=>0x9BC9,
-0x5D6C=>0x9BCA,
-0x5D73=>0x9BCB,
-0x5D76=>0x9BCC,
-0x5D87=>0x9BCD,
-0x5D84=>0x9BCE,
-0x5D82=>0x9BCF,
-0x5DA2=>0x9BD0,
-0x5D9D=>0x9BD1,
-0x5DAC=>0x9BD2,
-0x5DAE=>0x9BD3,
-0x5DBD=>0x9BD4,
-0x5D90=>0x9BD5,
-0x5DB7=>0x9BD6,
-0x5DBC=>0x9BD7,
-0x5DC9=>0x9BD8,
-0x5DCD=>0x9BD9,
-0x5DD3=>0x9BDA,
-0x5DD2=>0x9BDB,
-0x5DD6=>0x9BDC,
-0x5DDB=>0x9BDD,
-0x5DEB=>0x9BDE,
-0x5DF2=>0x9BDF,
-0x5DF5=>0x9BE0,
-0x5E0B=>0x9BE1,
-0x5E1A=>0x9BE2,
-0x5E19=>0x9BE3,
-0x5E11=>0x9BE4,
-0x5E1B=>0x9BE5,
-0x5E36=>0x9BE6,
-0x5E37=>0x9BE7,
-0x5E44=>0x9BE8,
-0x5E43=>0x9BE9,
-0x5E40=>0x9BEA,
-0x5E4E=>0x9BEB,
-0x5E57=>0x9BEC,
-0x5E54=>0x9BED,
-0x5E5F=>0x9BEE,
-0x5E62=>0x9BEF,
-0x5E64=>0x9BF0,
-0x5E47=>0x9BF1,
-0x5E75=>0x9BF2,
-0x5E76=>0x9BF3,
-0x5E7A=>0x9BF4,
-0x9EBC=>0x9BF5,
-0x5E7F=>0x9BF6,
-0x5EA0=>0x9BF7,
-0x5EC1=>0x9BF8,
-0x5EC2=>0x9BF9,
-0x5EC8=>0x9BFA,
-0x5ED0=>0x9BFB,
-0x5ECF=>0x9BFC,
-0x5ED6=>0x9C40,
-0x5EE3=>0x9C41,
-0x5EDD=>0x9C42,
-0x5EDA=>0x9C43,
-0x5EDB=>0x9C44,
-0x5EE2=>0x9C45,
-0x5EE1=>0x9C46,
-0x5EE8=>0x9C47,
-0x5EE9=>0x9C48,
-0x5EEC=>0x9C49,
-0x5EF1=>0x9C4A,
-0x5EF3=>0x9C4B,
-0x5EF0=>0x9C4C,
-0x5EF4=>0x9C4D,
-0x5EF8=>0x9C4E,
-0x5EFE=>0x9C4F,
-0x5F03=>0x9C50,
-0x5F09=>0x9C51,
-0x5F5D=>0x9C52,
-0x5F5C=>0x9C53,
-0x5F0B=>0x9C54,
-0x5F11=>0x9C55,
-0x5F16=>0x9C56,
-0x5F29=>0x9C57,
-0x5F2D=>0x9C58,
-0x5F38=>0x9C59,
-0x5F41=>0x9C5A,
-0x5F48=>0x9C5B,
-0x5F4C=>0x9C5C,
-0x5F4E=>0x9C5D,
-0x5F2F=>0x9C5E,
-0x5F51=>0x9C5F,
-0x5F56=>0x9C60,
-0x5F57=>0x9C61,
-0x5F59=>0x9C62,
-0x5F61=>0x9C63,
-0x5F6D=>0x9C64,
-0x5F73=>0x9C65,
-0x5F77=>0x9C66,
-0x5F83=>0x9C67,
-0x5F82=>0x9C68,
-0x5F7F=>0x9C69,
-0x5F8A=>0x9C6A,
-0x5F88=>0x9C6B,
-0x5F91=>0x9C6C,
-0x5F87=>0x9C6D,
-0x5F9E=>0x9C6E,
-0x5F99=>0x9C6F,
-0x5F98=>0x9C70,
-0x5FA0=>0x9C71,
-0x5FA8=>0x9C72,
-0x5FAD=>0x9C73,
-0x5FBC=>0x9C74,
-0x5FD6=>0x9C75,
-0x5FFB=>0x9C76,
-0x5FE4=>0x9C77,
-0x5FF8=>0x9C78,
-0x5FF1=>0x9C79,
-0x5FDD=>0x9C7A,
-0x60B3=>0x9C7B,
-0x5FFF=>0x9C7C,
-0x6021=>0x9C7D,
-0x6060=>0x9C7E,
-0x6019=>0x9C80,
-0x6010=>0x9C81,
-0x6029=>0x9C82,
-0x600E=>0x9C83,
-0x6031=>0x9C84,
-0x601B=>0x9C85,
-0x6015=>0x9C86,
-0x602B=>0x9C87,
-0x6026=>0x9C88,
-0x600F=>0x9C89,
-0x603A=>0x9C8A,
-0x605A=>0x9C8B,
-0x6041=>0x9C8C,
-0x606A=>0x9C8D,
-0x6077=>0x9C8E,
-0x605F=>0x9C8F,
-0x604A=>0x9C90,
-0x6046=>0x9C91,
-0x604D=>0x9C92,
-0x6063=>0x9C93,
-0x6043=>0x9C94,
-0x6064=>0x9C95,
-0x6042=>0x9C96,
-0x606C=>0x9C97,
-0x606B=>0x9C98,
-0x6059=>0x9C99,
-0x6081=>0x9C9A,
-0x608D=>0x9C9B,
-0x60E7=>0x9C9C,
-0x6083=>0x9C9D,
-0x609A=>0x9C9E,
-0x6084=>0x9C9F,
-0x609B=>0x9CA0,
-0x6096=>0x9CA1,
-0x6097=>0x9CA2,
-0x6092=>0x9CA3,
-0x60A7=>0x9CA4,
-0x608B=>0x9CA5,
-0x60E1=>0x9CA6,
-0x60B8=>0x9CA7,
-0x60E0=>0x9CA8,
-0x60D3=>0x9CA9,
-0x60B4=>0x9CAA,
-0x5FF0=>0x9CAB,
-0x60BD=>0x9CAC,
-0x60C6=>0x9CAD,
-0x60B5=>0x9CAE,
-0x60D8=>0x9CAF,
-0x614D=>0x9CB0,
-0x6115=>0x9CB1,
-0x6106=>0x9CB2,
-0x60F6=>0x9CB3,
-0x60F7=>0x9CB4,
-0x6100=>0x9CB5,
-0x60F4=>0x9CB6,
-0x60FA=>0x9CB7,
-0x6103=>0x9CB8,
-0x6121=>0x9CB9,
-0x60FB=>0x9CBA,
-0x60F1=>0x9CBB,
-0x610D=>0x9CBC,
-0x610E=>0x9CBD,
-0x6147=>0x9CBE,
-0x613E=>0x9CBF,
-0x6128=>0x9CC0,
-0x6127=>0x9CC1,
-0x614A=>0x9CC2,
-0x613F=>0x9CC3,
-0x613C=>0x9CC4,
-0x612C=>0x9CC5,
-0x6134=>0x9CC6,
-0x613D=>0x9CC7,
-0x6142=>0x9CC8,
-0x6144=>0x9CC9,
-0x6173=>0x9CCA,
-0x6177=>0x9CCB,
-0x6158=>0x9CCC,
-0x6159=>0x9CCD,
-0x615A=>0x9CCE,
-0x616B=>0x9CCF,
-0x6174=>0x9CD0,
-0x616F=>0x9CD1,
-0x6165=>0x9CD2,
-0x6171=>0x9CD3,
-0x615F=>0x9CD4,
-0x615D=>0x9CD5,
-0x6153=>0x9CD6,
-0x6175=>0x9CD7,
-0x6199=>0x9CD8,
-0x6196=>0x9CD9,
-0x6187=>0x9CDA,
-0x61AC=>0x9CDB,
-0x6194=>0x9CDC,
-0x619A=>0x9CDD,
-0x618A=>0x9CDE,
-0x6191=>0x9CDF,
-0x61AB=>0x9CE0,
-0x61AE=>0x9CE1,
-0x61CC=>0x9CE2,
-0x61CA=>0x9CE3,
-0x61C9=>0x9CE4,
-0x61F7=>0x9CE5,
-0x61C8=>0x9CE6,
-0x61C3=>0x9CE7,
-0x61C6=>0x9CE8,
-0x61BA=>0x9CE9,
-0x61CB=>0x9CEA,
-0x7F79=>0x9CEB,
-0x61CD=>0x9CEC,
-0x61E6=>0x9CED,
-0x61E3=>0x9CEE,
-0x61F6=>0x9CEF,
-0x61FA=>0x9CF0,
-0x61F4=>0x9CF1,
-0x61FF=>0x9CF2,
-0x61FD=>0x9CF3,
-0x61FC=>0x9CF4,
-0x61FE=>0x9CF5,
-0x6200=>0x9CF6,
-0x6208=>0x9CF7,
-0x6209=>0x9CF8,
-0x620D=>0x9CF9,
-0x620C=>0x9CFA,
-0x6214=>0x9CFB,
-0x621B=>0x9CFC,
-0x621E=>0x9D40,
-0x6221=>0x9D41,
-0x622A=>0x9D42,
-0x622E=>0x9D43,
-0x6230=>0x9D44,
-0x6232=>0x9D45,
-0x6233=>0x9D46,
-0x6241=>0x9D47,
-0x624E=>0x9D48,
-0x625E=>0x9D49,
-0x6263=>0x9D4A,
-0x625B=>0x9D4B,
-0x6260=>0x9D4C,
-0x6268=>0x9D4D,
-0x627C=>0x9D4E,
-0x6282=>0x9D4F,
-0x6289=>0x9D50,
-0x627E=>0x9D51,
-0x6292=>0x9D52,
-0x6293=>0x9D53,
-0x6296=>0x9D54,
-0x62D4=>0x9D55,
-0x6283=>0x9D56,
-0x6294=>0x9D57,
-0x62D7=>0x9D58,
-0x62D1=>0x9D59,
-0x62BB=>0x9D5A,
-0x62CF=>0x9D5B,
-0x62FF=>0x9D5C,
-0x62C6=>0x9D5D,
-0x64D4=>0x9D5E,
-0x62C8=>0x9D5F,
-0x62DC=>0x9D60,
-0x62CC=>0x9D61,
-0x62CA=>0x9D62,
-0x62C2=>0x9D63,
-0x62C7=>0x9D64,
-0x629B=>0x9D65,
-0x62C9=>0x9D66,
-0x630C=>0x9D67,
-0x62EE=>0x9D68,
-0x62F1=>0x9D69,
-0x6327=>0x9D6A,
-0x6302=>0x9D6B,
-0x6308=>0x9D6C,
-0x62EF=>0x9D6D,
-0x62F5=>0x9D6E,
-0x6350=>0x9D6F,
-0x633E=>0x9D70,
-0x634D=>0x9D71,
-0x641C=>0x9D72,
-0x634F=>0x9D73,
-0x6396=>0x9D74,
-0x638E=>0x9D75,
-0x6380=>0x9D76,
-0x63AB=>0x9D77,
-0x6376=>0x9D78,
-0x63A3=>0x9D79,
-0x638F=>0x9D7A,
-0x6389=>0x9D7B,
-0x639F=>0x9D7C,
-0x63B5=>0x9D7D,
-0x636B=>0x9D7E,
-0x6369=>0x9D80,
-0x63BE=>0x9D81,
-0x63E9=>0x9D82,
-0x63C0=>0x9D83,
-0x63C6=>0x9D84,
-0x63E3=>0x9D85,
-0x63C9=>0x9D86,
-0x63D2=>0x9D87,
-0x63F6=>0x9D88,
-0x63C4=>0x9D89,
-0x6416=>0x9D8A,
-0x6434=>0x9D8B,
-0x6406=>0x9D8C,
-0x6413=>0x9D8D,
-0x6426=>0x9D8E,
-0x6436=>0x9D8F,
-0x651D=>0x9D90,
-0x6417=>0x9D91,
-0x6428=>0x9D92,
-0x640F=>0x9D93,
-0x6467=>0x9D94,
-0x646F=>0x9D95,
-0x6476=>0x9D96,
-0x644E=>0x9D97,
-0x652A=>0x9D98,
-0x6495=>0x9D99,
-0x6493=>0x9D9A,
-0x64A5=>0x9D9B,
-0x64A9=>0x9D9C,
-0x6488=>0x9D9D,
-0x64BC=>0x9D9E,
-0x64DA=>0x9D9F,
-0x64D2=>0x9DA0,
-0x64C5=>0x9DA1,
-0x64C7=>0x9DA2,
-0x64BB=>0x9DA3,
-0x64D8=>0x9DA4,
-0x64C2=>0x9DA5,
-0x64F1=>0x9DA6,
-0x64E7=>0x9DA7,
-0x8209=>0x9DA8,
-0x64E0=>0x9DA9,
-0x64E1=>0x9DAA,
-0x62AC=>0x9DAB,
-0x64E3=>0x9DAC,
-0x64EF=>0x9DAD,
-0x652C=>0x9DAE,
-0x64F6=>0x9DAF,
-0x64F4=>0x9DB0,
-0x64F2=>0x9DB1,
-0x64FA=>0x9DB2,
-0x6500=>0x9DB3,
-0x64FD=>0x9DB4,
-0x6518=>0x9DB5,
-0x651C=>0x9DB6,
-0x6505=>0x9DB7,
-0x6524=>0x9DB8,
-0x6523=>0x9DB9,
-0x652B=>0x9DBA,
-0x6534=>0x9DBB,
-0x6535=>0x9DBC,
-0x6537=>0x9DBD,
-0x6536=>0x9DBE,
-0x6538=>0x9DBF,
-0x754B=>0x9DC0,
-0x6548=>0x9DC1,
-0x6556=>0x9DC2,
-0x6555=>0x9DC3,
-0x654D=>0x9DC4,
-0x6558=>0x9DC5,
-0x655E=>0x9DC6,
-0x655D=>0x9DC7,
-0x6572=>0x9DC8,
-0x6578=>0x9DC9,
-0x6582=>0x9DCA,
-0x6583=>0x9DCB,
-0x8B8A=>0x9DCC,
-0x659B=>0x9DCD,
-0x659F=>0x9DCE,
-0x65AB=>0x9DCF,
-0x65B7=>0x9DD0,
-0x65C3=>0x9DD1,
-0x65C6=>0x9DD2,
-0x65C1=>0x9DD3,
-0x65C4=>0x9DD4,
-0x65CC=>0x9DD5,
-0x65D2=>0x9DD6,
-0x65DB=>0x9DD7,
-0x65D9=>0x9DD8,
-0x65E0=>0x9DD9,
-0x65E1=>0x9DDA,
-0x65F1=>0x9DDB,
-0x6772=>0x9DDC,
-0x660A=>0x9DDD,
-0x6603=>0x9DDE,
-0x65FB=>0x9DDF,
-0x6773=>0x9DE0,
-0x6635=>0x9DE1,
-0x6636=>0x9DE2,
-0x6634=>0x9DE3,
-0x661C=>0x9DE4,
-0x664F=>0x9DE5,
-0x6644=>0x9DE6,
-0x6649=>0x9DE7,
-0x6641=>0x9DE8,
-0x665E=>0x9DE9,
-0x665D=>0x9DEA,
-0x6664=>0x9DEB,
-0x6667=>0x9DEC,
-0x6668=>0x9DED,
-0x665F=>0x9DEE,
-0x6662=>0x9DEF,
-0x6670=>0x9DF0,
-0x6683=>0x9DF1,
-0x6688=>0x9DF2,
-0x668E=>0x9DF3,
-0x6689=>0x9DF4,
-0x6684=>0x9DF5,
-0x6698=>0x9DF6,
-0x669D=>0x9DF7,
-0x66C1=>0x9DF8,
-0x66B9=>0x9DF9,
-0x66C9=>0x9DFA,
-0x66BE=>0x9DFB,
-0x66BC=>0x9DFC,
-0x66C4=>0x9E40,
-0x66B8=>0x9E41,
-0x66D6=>0x9E42,
-0x66DA=>0x9E43,
-0x66E0=>0x9E44,
-0x663F=>0x9E45,
-0x66E6=>0x9E46,
-0x66E9=>0x9E47,
-0x66F0=>0x9E48,
-0x66F5=>0x9E49,
-0x66F7=>0x9E4A,
-0x670F=>0x9E4B,
-0x6716=>0x9E4C,
-0x671E=>0x9E4D,
-0x6726=>0x9E4E,
-0x6727=>0x9E4F,
-0x9738=>0x9E50,
-0x672E=>0x9E51,
-0x673F=>0x9E52,
-0x6736=>0x9E53,
-0x6741=>0x9E54,
-0x6738=>0x9E55,
-0x6737=>0x9E56,
-0x6746=>0x9E57,
-0x675E=>0x9E58,
-0x6760=>0x9E59,
-0x6759=>0x9E5A,
-0x6763=>0x9E5B,
-0x6764=>0x9E5C,
-0x6789=>0x9E5D,
-0x6770=>0x9E5E,
-0x67A9=>0x9E5F,
-0x677C=>0x9E60,
-0x676A=>0x9E61,
-0x678C=>0x9E62,
-0x678B=>0x9E63,
-0x67A6=>0x9E64,
-0x67A1=>0x9E65,
-0x6785=>0x9E66,
-0x67B7=>0x9E67,
-0x67EF=>0x9E68,
-0x67B4=>0x9E69,
-0x67EC=>0x9E6A,
-0x67B3=>0x9E6B,
-0x67E9=>0x9E6C,
-0x67B8=>0x9E6D,
-0x67E4=>0x9E6E,
-0x67DE=>0x9E6F,
-0x67DD=>0x9E70,
-0x67E2=>0x9E71,
-0x67EE=>0x9E72,
-0x67B9=>0x9E73,
-0x67CE=>0x9E74,
-0x67C6=>0x9E75,
-0x67E7=>0x9E76,
-0x6A9C=>0x9E77,
-0x681E=>0x9E78,
-0x6846=>0x9E79,
-0x6829=>0x9E7A,
-0x6840=>0x9E7B,
-0x684D=>0x9E7C,
-0x6832=>0x9E7D,
-0x684E=>0x9E7E,
-0x68B3=>0x9E80,
-0x682B=>0x9E81,
-0x6859=>0x9E82,
-0x6863=>0x9E83,
-0x6877=>0x9E84,
-0x687F=>0x9E85,
-0x689F=>0x9E86,
-0x688F=>0x9E87,
-0x68AD=>0x9E88,
-0x6894=>0x9E89,
-0x689D=>0x9E8A,
-0x689B=>0x9E8B,
-0x6883=>0x9E8C,
-0x6AAE=>0x9E8D,
-0x68B9=>0x9E8E,
-0x6874=>0x9E8F,
-0x68B5=>0x9E90,
-0x68A0=>0x9E91,
-0x68BA=>0x9E92,
-0x690F=>0x9E93,
-0x688D=>0x9E94,
-0x687E=>0x9E95,
-0x6901=>0x9E96,
-0x68CA=>0x9E97,
-0x6908=>0x9E98,
-0x68D8=>0x9E99,
-0x6922=>0x9E9A,
-0x6926=>0x9E9B,
-0x68E1=>0x9E9C,
-0x690C=>0x9E9D,
-0x68CD=>0x9E9E,
-0x68D4=>0x9E9F,
-0x68E7=>0x9EA0,
-0x68D5=>0x9EA1,
-0x6936=>0x9EA2,
-0x6912=>0x9EA3,
-0x6904=>0x9EA4,
-0x68D7=>0x9EA5,
-0x68E3=>0x9EA6,
-0x6925=>0x9EA7,
-0x68F9=>0x9EA8,
-0x68E0=>0x9EA9,
-0x68EF=>0x9EAA,
-0x6928=>0x9EAB,
-0x692A=>0x9EAC,
-0x691A=>0x9EAD,
-0x6923=>0x9EAE,
-0x6921=>0x9EAF,
-0x68C6=>0x9EB0,
-0x6979=>0x9EB1,
-0x6977=>0x9EB2,
-0x695C=>0x9EB3,
-0x6978=>0x9EB4,
-0x696B=>0x9EB5,
-0x6954=>0x9EB6,
-0x697E=>0x9EB7,
-0x696E=>0x9EB8,
-0x6939=>0x9EB9,
-0x6974=>0x9EBA,
-0x693D=>0x9EBB,
-0x6959=>0x9EBC,
-0x6930=>0x9EBD,
-0x6961=>0x9EBE,
-0x695E=>0x9EBF,
-0x695D=>0x9EC0,
-0x6981=>0x9EC1,
-0x696A=>0x9EC2,
-0x69B2=>0x9EC3,
-0x69AE=>0x9EC4,
-0x69D0=>0x9EC5,
-0x69BF=>0x9EC6,
-0x69C1=>0x9EC7,
-0x69D3=>0x9EC8,
-0x69BE=>0x9EC9,
-0x69CE=>0x9ECA,
-0x5BE8=>0x9ECB,
-0x69CA=>0x9ECC,
-0x69DD=>0x9ECD,
-0x69BB=>0x9ECE,
-0x69C3=>0x9ECF,
-0x69A7=>0x9ED0,
-0x6A2E=>0x9ED1,
-0x6991=>0x9ED2,
-0x69A0=>0x9ED3,
-0x699C=>0x9ED4,
-0x6995=>0x9ED5,
-0x69B4=>0x9ED6,
-0x69DE=>0x9ED7,
-0x69E8=>0x9ED8,
-0x6A02=>0x9ED9,
-0x6A1B=>0x9EDA,
-0x69FF=>0x9EDB,
-0x6B0A=>0x9EDC,
-0x69F9=>0x9EDD,
-0x69F2=>0x9EDE,
-0x69E7=>0x9EDF,
-0x6A05=>0x9EE0,
-0x69B1=>0x9EE1,
-0x6A1E=>0x9EE2,
-0x69ED=>0x9EE3,
-0x6A14=>0x9EE4,
-0x69EB=>0x9EE5,
-0x6A0A=>0x9EE6,
-0x6A12=>0x9EE7,
-0x6AC1=>0x9EE8,
-0x6A23=>0x9EE9,
-0x6A13=>0x9EEA,
-0x6A44=>0x9EEB,
-0x6A0C=>0x9EEC,
-0x6A72=>0x9EED,
-0x6A36=>0x9EEE,
-0x6A78=>0x9EEF,
-0x6A47=>0x9EF0,
-0x6A62=>0x9EF1,
-0x6A59=>0x9EF2,
-0x6A66=>0x9EF3,
-0x6A48=>0x9EF4,
-0x6A38=>0x9EF5,
-0x6A22=>0x9EF6,
-0x6A90=>0x9EF7,
-0x6A8D=>0x9EF8,
-0x6AA0=>0x9EF9,
-0x6A84=>0x9EFA,
-0x6AA2=>0x9EFB,
-0x6AA3=>0x9EFC,
-0x6A97=>0x9F40,
-0x8617=>0x9F41,
-0x6ABB=>0x9F42,
-0x6AC3=>0x9F43,
-0x6AC2=>0x9F44,
-0x6AB8=>0x9F45,
-0x6AB3=>0x9F46,
-0x6AAC=>0x9F47,
-0x6ADE=>0x9F48,
-0x6AD1=>0x9F49,
-0x6ADF=>0x9F4A,
-0x6AAA=>0x9F4B,
-0x6ADA=>0x9F4C,
-0x6AEA=>0x9F4D,
-0x6AFB=>0x9F4E,
-0x6B05=>0x9F4F,
-0x8616=>0x9F50,
-0x6AFA=>0x9F51,
-0x6B12=>0x9F52,
-0x6B16=>0x9F53,
-0x9B31=>0x9F54,
-0x6B1F=>0x9F55,
-0x6B38=>0x9F56,
-0x6B37=>0x9F57,
-0x76DC=>0x9F58,
-0x6B39=>0x9F59,
-0x98EE=>0x9F5A,
-0x6B47=>0x9F5B,
-0x6B43=>0x9F5C,
-0x6B49=>0x9F5D,
-0x6B50=>0x9F5E,
-0x6B59=>0x9F5F,
-0x6B54=>0x9F60,
-0x6B5B=>0x9F61,
-0x6B5F=>0x9F62,
-0x6B61=>0x9F63,
-0x6B78=>0x9F64,
-0x6B79=>0x9F65,
-0x6B7F=>0x9F66,
-0x6B80=>0x9F67,
-0x6B84=>0x9F68,
-0x6B83=>0x9F69,
-0x6B8D=>0x9F6A,
-0x6B98=>0x9F6B,
-0x6B95=>0x9F6C,
-0x6B9E=>0x9F6D,
-0x6BA4=>0x9F6E,
-0x6BAA=>0x9F6F,
-0x6BAB=>0x9F70,
-0x6BAF=>0x9F71,
-0x6BB2=>0x9F72,
-0x6BB1=>0x9F73,
-0x6BB3=>0x9F74,
-0x6BB7=>0x9F75,
-0x6BBC=>0x9F76,
-0x6BC6=>0x9F77,
-0x6BCB=>0x9F78,
-0x6BD3=>0x9F79,
-0x6BDF=>0x9F7A,
-0x6BEC=>0x9F7B,
-0x6BEB=>0x9F7C,
-0x6BF3=>0x9F7D,
-0x6BEF=>0x9F7E,
-0x9EBE=>0x9F80,
-0x6C08=>0x9F81,
-0x6C13=>0x9F82,
-0x6C14=>0x9F83,
-0x6C1B=>0x9F84,
-0x6C24=>0x9F85,
-0x6C23=>0x9F86,
-0x6C5E=>0x9F87,
-0x6C55=>0x9F88,
-0x6C62=>0x9F89,
-0x6C6A=>0x9F8A,
-0x6C82=>0x9F8B,
-0x6C8D=>0x9F8C,
-0x6C9A=>0x9F8D,
-0x6C81=>0x9F8E,
-0x6C9B=>0x9F8F,
-0x6C7E=>0x9F90,
-0x6C68=>0x9F91,
-0x6C73=>0x9F92,
-0x6C92=>0x9F93,
-0x6C90=>0x9F94,
-0x6CC4=>0x9F95,
-0x6CF1=>0x9F96,
-0x6CD3=>0x9F97,
-0x6CBD=>0x9F98,
-0x6CD7=>0x9F99,
-0x6CC5=>0x9F9A,
-0x6CDD=>0x9F9B,
-0x6CAE=>0x9F9C,
-0x6CB1=>0x9F9D,
-0x6CBE=>0x9F9E,
-0x6CBA=>0x9F9F,
-0x6CDB=>0x9FA0,
-0x6CEF=>0x9FA1,
-0x6CD9=>0x9FA2,
-0x6CEA=>0x9FA3,
-0x6D1F=>0x9FA4,
-0x884D=>0x9FA5,
-0x6D36=>0x9FA6,
-0x6D2B=>0x9FA7,
-0x6D3D=>0x9FA8,
-0x6D38=>0x9FA9,
-0x6D19=>0x9FAA,
-0x6D35=>0x9FAB,
-0x6D33=>0x9FAC,
-0x6D12=>0x9FAD,
-0x6D0C=>0x9FAE,
-0x6D63=>0x9FAF,
-0x6D93=>0x9FB0,
-0x6D64=>0x9FB1,
-0x6D5A=>0x9FB2,
-0x6D79=>0x9FB3,
-0x6D59=>0x9FB4,
-0x6D8E=>0x9FB5,
-0x6D95=>0x9FB6,
-0x6FE4=>0x9FB7,
-0x6D85=>0x9FB8,
-0x6DF9=>0x9FB9,
-0x6E15=>0x9FBA,
-0x6E0A=>0x9FBB,
-0x6DB5=>0x9FBC,
-0x6DC7=>0x9FBD,
-0x6DE6=>0x9FBE,
-0x6DB8=>0x9FBF,
-0x6DC6=>0x9FC0,
-0x6DEC=>0x9FC1,
-0x6DDE=>0x9FC2,
-0x6DCC=>0x9FC3,
-0x6DE8=>0x9FC4,
-0x6DD2=>0x9FC5,
-0x6DC5=>0x9FC6,
-0x6DFA=>0x9FC7,
-0x6DD9=>0x9FC8,
-0x6DE4=>0x9FC9,
-0x6DD5=>0x9FCA,
-0x6DEA=>0x9FCB,
-0x6DEE=>0x9FCC,
-0x6E2D=>0x9FCD,
-0x6E6E=>0x9FCE,
-0x6E2E=>0x9FCF,
-0x6E19=>0x9FD0,
-0x6E72=>0x9FD1,
-0x6E5F=>0x9FD2,
-0x6E3E=>0x9FD3,
-0x6E23=>0x9FD4,
-0x6E6B=>0x9FD5,
-0x6E2B=>0x9FD6,
-0x6E76=>0x9FD7,
-0x6E4D=>0x9FD8,
-0x6E1F=>0x9FD9,
-0x6E43=>0x9FDA,
-0x6E3A=>0x9FDB,
-0x6E4E=>0x9FDC,
-0x6E24=>0x9FDD,
-0x6EFF=>0x9FDE,
-0x6E1D=>0x9FDF,
-0x6E38=>0x9FE0,
-0x6E82=>0x9FE1,
-0x6EAA=>0x9FE2,
-0x6E98=>0x9FE3,
-0x6EC9=>0x9FE4,
-0x6EB7=>0x9FE5,
-0x6ED3=>0x9FE6,
-0x6EBD=>0x9FE7,
-0x6EAF=>0x9FE8,
-0x6EC4=>0x9FE9,
-0x6EB2=>0x9FEA,
-0x6ED4=>0x9FEB,
-0x6ED5=>0x9FEC,
-0x6E8F=>0x9FED,
-0x6EA5=>0x9FEE,
-0x6EC2=>0x9FEF,
-0x6E9F=>0x9FF0,
-0x6F41=>0x9FF1,
-0x6F11=>0x9FF2,
-0x704C=>0x9FF3,
-0x6EEC=>0x9FF4,
-0x6EF8=>0x9FF5,
-0x6EFE=>0x9FF6,
-0x6F3F=>0x9FF7,
-0x6EF2=>0x9FF8,
-0x6F31=>0x9FF9,
-0x6EEF=>0x9FFA,
-0x6F32=>0x9FFB,
-0x6ECC=>0x9FFC,
-0x6F3E=>0xE040,
-0x6F13=>0xE041,
-0x6EF7=>0xE042,
-0x6F86=>0xE043,
-0x6F7A=>0xE044,
-0x6F78=>0xE045,
-0x6F81=>0xE046,
-0x6F80=>0xE047,
-0x6F6F=>0xE048,
-0x6F5B=>0xE049,
-0x6FF3=>0xE04A,
-0x6F6D=>0xE04B,
-0x6F82=>0xE04C,
-0x6F7C=>0xE04D,
-0x6F58=>0xE04E,
-0x6F8E=>0xE04F,
-0x6F91=>0xE050,
-0x6FC2=>0xE051,
-0x6F66=>0xE052,
-0x6FB3=>0xE053,
-0x6FA3=>0xE054,
-0x6FA1=>0xE055,
-0x6FA4=>0xE056,
-0x6FB9=>0xE057,
-0x6FC6=>0xE058,
-0x6FAA=>0xE059,
-0x6FDF=>0xE05A,
-0x6FD5=>0xE05B,
-0x6FEC=>0xE05C,
-0x6FD4=>0xE05D,
-0x6FD8=>0xE05E,
-0x6FF1=>0xE05F,
-0x6FEE=>0xE060,
-0x6FDB=>0xE061,
-0x7009=>0xE062,
-0x700B=>0xE063,
-0x6FFA=>0xE064,
-0x7011=>0xE065,
-0x7001=>0xE066,
-0x700F=>0xE067,
-0x6FFE=>0xE068,
-0x701B=>0xE069,
-0x701A=>0xE06A,
-0x6F74=>0xE06B,
-0x701D=>0xE06C,
-0x7018=>0xE06D,
-0x701F=>0xE06E,
-0x7030=>0xE06F,
-0x703E=>0xE070,
-0x7032=>0xE071,
-0x7051=>0xE072,
-0x7063=>0xE073,
-0x7099=>0xE074,
-0x7092=>0xE075,
-0x70AF=>0xE076,
-0x70F1=>0xE077,
-0x70AC=>0xE078,
-0x70B8=>0xE079,
-0x70B3=>0xE07A,
-0x70AE=>0xE07B,
-0x70DF=>0xE07C,
-0x70CB=>0xE07D,
-0x70DD=>0xE07E,
-0x70D9=>0xE080,
-0x7109=>0xE081,
-0x70FD=>0xE082,
-0x711C=>0xE083,
-0x7119=>0xE084,
-0x7165=>0xE085,
-0x7155=>0xE086,
-0x7188=>0xE087,
-0x7166=>0xE088,
-0x7162=>0xE089,
-0x714C=>0xE08A,
-0x7156=>0xE08B,
-0x716C=>0xE08C,
-0x718F=>0xE08D,
-0x71FB=>0xE08E,
-0x7184=>0xE08F,
-0x7195=>0xE090,
-0x71A8=>0xE091,
-0x71AC=>0xE092,
-0x71D7=>0xE093,
-0x71B9=>0xE094,
-0x71BE=>0xE095,
-0x71D2=>0xE096,
-0x71C9=>0xE097,
-0x71D4=>0xE098,
-0x71CE=>0xE099,
-0x71E0=>0xE09A,
-0x71EC=>0xE09B,
-0x71E7=>0xE09C,
-0x71F5=>0xE09D,
-0x71FC=>0xE09E,
-0x71F9=>0xE09F,
-0x71FF=>0xE0A0,
-0x720D=>0xE0A1,
-0x7210=>0xE0A2,
-0x721B=>0xE0A3,
-0x7228=>0xE0A4,
-0x722D=>0xE0A5,
-0x722C=>0xE0A6,
-0x7230=>0xE0A7,
-0x7232=>0xE0A8,
-0x723B=>0xE0A9,
-0x723C=>0xE0AA,
-0x723F=>0xE0AB,
-0x7240=>0xE0AC,
-0x7246=>0xE0AD,
-0x724B=>0xE0AE,
-0x7258=>0xE0AF,
-0x7274=>0xE0B0,
-0x727E=>0xE0B1,
-0x7282=>0xE0B2,
-0x7281=>0xE0B3,
-0x7287=>0xE0B4,
-0x7292=>0xE0B5,
-0x7296=>0xE0B6,
-0x72A2=>0xE0B7,
-0x72A7=>0xE0B8,
-0x72B9=>0xE0B9,
-0x72B2=>0xE0BA,
-0x72C3=>0xE0BB,
-0x72C6=>0xE0BC,
-0x72C4=>0xE0BD,
-0x72CE=>0xE0BE,
-0x72D2=>0xE0BF,
-0x72E2=>0xE0C0,
-0x72E0=>0xE0C1,
-0x72E1=>0xE0C2,
-0x72F9=>0xE0C3,
-0x72F7=>0xE0C4,
-0x500F=>0xE0C5,
-0x7317=>0xE0C6,
-0x730A=>0xE0C7,
-0x731C=>0xE0C8,
-0x7316=>0xE0C9,
-0x731D=>0xE0CA,
-0x7334=>0xE0CB,
-0x732F=>0xE0CC,
-0x7329=>0xE0CD,
-0x7325=>0xE0CE,
-0x733E=>0xE0CF,
-0x734E=>0xE0D0,
-0x734F=>0xE0D1,
-0x9ED8=>0xE0D2,
-0x7357=>0xE0D3,
-0x736A=>0xE0D4,
-0x7368=>0xE0D5,
-0x7370=>0xE0D6,
-0x7378=>0xE0D7,
-0x7375=>0xE0D8,
-0x737B=>0xE0D9,
-0x737A=>0xE0DA,
-0x73C8=>0xE0DB,
-0x73B3=>0xE0DC,
-0x73CE=>0xE0DD,
-0x73BB=>0xE0DE,
-0x73C0=>0xE0DF,
-0x73E5=>0xE0E0,
-0x73EE=>0xE0E1,
-0x73DE=>0xE0E2,
-0x74A2=>0xE0E3,
-0x7405=>0xE0E4,
-0x746F=>0xE0E5,
-0x7425=>0xE0E6,
-0x73F8=>0xE0E7,
-0x7432=>0xE0E8,
-0x743A=>0xE0E9,
-0x7455=>0xE0EA,
-0x743F=>0xE0EB,
-0x745F=>0xE0EC,
-0x7459=>0xE0ED,
-0x7441=>0xE0EE,
-0x745C=>0xE0EF,
-0x7469=>0xE0F0,
-0x7470=>0xE0F1,
-0x7463=>0xE0F2,
-0x746A=>0xE0F3,
-0x7476=>0xE0F4,
-0x747E=>0xE0F5,
-0x748B=>0xE0F6,
-0x749E=>0xE0F7,
-0x74A7=>0xE0F8,
-0x74CA=>0xE0F9,
-0x74CF=>0xE0FA,
-0x74D4=>0xE0FB,
-0x73F1=>0xE0FC,
-0x74E0=>0xE140,
-0x74E3=>0xE141,
-0x74E7=>0xE142,
-0x74E9=>0xE143,
-0x74EE=>0xE144,
-0x74F2=>0xE145,
-0x74F0=>0xE146,
-0x74F1=>0xE147,
-0x74F8=>0xE148,
-0x74F7=>0xE149,
-0x7504=>0xE14A,
-0x7503=>0xE14B,
-0x7505=>0xE14C,
-0x750C=>0xE14D,
-0x750E=>0xE14E,
-0x750D=>0xE14F,
-0x7515=>0xE150,
-0x7513=>0xE151,
-0x751E=>0xE152,
-0x7526=>0xE153,
-0x752C=>0xE154,
-0x753C=>0xE155,
-0x7544=>0xE156,
-0x754D=>0xE157,
-0x754A=>0xE158,
-0x7549=>0xE159,
-0x755B=>0xE15A,
-0x7546=>0xE15B,
-0x755A=>0xE15C,
-0x7569=>0xE15D,
-0x7564=>0xE15E,
-0x7567=>0xE15F,
-0x756B=>0xE160,
-0x756D=>0xE161,
-0x7578=>0xE162,
-0x7576=>0xE163,
-0x7586=>0xE164,
-0x7587=>0xE165,
-0x7574=>0xE166,
-0x758A=>0xE167,
-0x7589=>0xE168,
-0x7582=>0xE169,
-0x7594=>0xE16A,
-0x759A=>0xE16B,
-0x759D=>0xE16C,
-0x75A5=>0xE16D,
-0x75A3=>0xE16E,
-0x75C2=>0xE16F,
-0x75B3=>0xE170,
-0x75C3=>0xE171,
-0x75B5=>0xE172,
-0x75BD=>0xE173,
-0x75B8=>0xE174,
-0x75BC=>0xE175,
-0x75B1=>0xE176,
-0x75CD=>0xE177,
-0x75CA=>0xE178,
-0x75D2=>0xE179,
-0x75D9=>0xE17A,
-0x75E3=>0xE17B,
-0x75DE=>0xE17C,
-0x75FE=>0xE17D,
-0x75FF=>0xE17E,
-0x75FC=>0xE180,
-0x7601=>0xE181,
-0x75F0=>0xE182,
-0x75FA=>0xE183,
-0x75F2=>0xE184,
-0x75F3=>0xE185,
-0x760B=>0xE186,
-0x760D=>0xE187,
-0x7609=>0xE188,
-0x761F=>0xE189,
-0x7627=>0xE18A,
-0x7620=>0xE18B,
-0x7621=>0xE18C,
-0x7622=>0xE18D,
-0x7624=>0xE18E,
-0x7634=>0xE18F,
-0x7630=>0xE190,
-0x763B=>0xE191,
-0x7647=>0xE192,
-0x7648=>0xE193,
-0x7646=>0xE194,
-0x765C=>0xE195,
-0x7658=>0xE196,
-0x7661=>0xE197,
-0x7662=>0xE198,
-0x7668=>0xE199,
-0x7669=>0xE19A,
-0x766A=>0xE19B,
-0x7667=>0xE19C,
-0x766C=>0xE19D,
-0x7670=>0xE19E,
-0x7672=>0xE19F,
-0x7676=>0xE1A0,
-0x7678=>0xE1A1,
-0x767C=>0xE1A2,
-0x7680=>0xE1A3,
-0x7683=>0xE1A4,
-0x7688=>0xE1A5,
-0x768B=>0xE1A6,
-0x768E=>0xE1A7,
-0x7696=>0xE1A8,
-0x7693=>0xE1A9,
-0x7699=>0xE1AA,
-0x769A=>0xE1AB,
-0x76B0=>0xE1AC,
-0x76B4=>0xE1AD,
-0x76B8=>0xE1AE,
-0x76B9=>0xE1AF,
-0x76BA=>0xE1B0,
-0x76C2=>0xE1B1,
-0x76CD=>0xE1B2,
-0x76D6=>0xE1B3,
-0x76D2=>0xE1B4,
-0x76DE=>0xE1B5,
-0x76E1=>0xE1B6,
-0x76E5=>0xE1B7,
-0x76E7=>0xE1B8,
-0x76EA=>0xE1B9,
-0x862F=>0xE1BA,
-0x76FB=>0xE1BB,
-0x7708=>0xE1BC,
-0x7707=>0xE1BD,
-0x7704=>0xE1BE,
-0x7729=>0xE1BF,
-0x7724=>0xE1C0,
-0x771E=>0xE1C1,
-0x7725=>0xE1C2,
-0x7726=>0xE1C3,
-0x771B=>0xE1C4,
-0x7737=>0xE1C5,
-0x7738=>0xE1C6,
-0x7747=>0xE1C7,
-0x775A=>0xE1C8,
-0x7768=>0xE1C9,
-0x776B=>0xE1CA,
-0x775B=>0xE1CB,
-0x7765=>0xE1CC,
-0x777F=>0xE1CD,
-0x777E=>0xE1CE,
-0x7779=>0xE1CF,
-0x778E=>0xE1D0,
-0x778B=>0xE1D1,
-0x7791=>0xE1D2,
-0x77A0=>0xE1D3,
-0x779E=>0xE1D4,
-0x77B0=>0xE1D5,
-0x77B6=>0xE1D6,
-0x77B9=>0xE1D7,
-0x77BF=>0xE1D8,
-0x77BC=>0xE1D9,
-0x77BD=>0xE1DA,
-0x77BB=>0xE1DB,
-0x77C7=>0xE1DC,
-0x77CD=>0xE1DD,
-0x77D7=>0xE1DE,
-0x77DA=>0xE1DF,
-0x77DC=>0xE1E0,
-0x77E3=>0xE1E1,
-0x77EE=>0xE1E2,
-0x77FC=>0xE1E3,
-0x780C=>0xE1E4,
-0x7812=>0xE1E5,
-0x7926=>0xE1E6,
-0x7820=>0xE1E7,
-0x792A=>0xE1E8,
-0x7845=>0xE1E9,
-0x788E=>0xE1EA,
-0x7874=>0xE1EB,
-0x7886=>0xE1EC,
-0x787C=>0xE1ED,
-0x789A=>0xE1EE,
-0x788C=>0xE1EF,
-0x78A3=>0xE1F0,
-0x78B5=>0xE1F1,
-0x78AA=>0xE1F2,
-0x78AF=>0xE1F3,
-0x78D1=>0xE1F4,
-0x78C6=>0xE1F5,
-0x78CB=>0xE1F6,
-0x78D4=>0xE1F7,
-0x78BE=>0xE1F8,
-0x78BC=>0xE1F9,
-0x78C5=>0xE1FA,
-0x78CA=>0xE1FB,
-0x78EC=>0xE1FC,
-0x78E7=>0xE240,
-0x78DA=>0xE241,
-0x78FD=>0xE242,
-0x78F4=>0xE243,
-0x7907=>0xE244,
-0x7912=>0xE245,
-0x7911=>0xE246,
-0x7919=>0xE247,
-0x792C=>0xE248,
-0x792B=>0xE249,
-0x7940=>0xE24A,
-0x7960=>0xE24B,
-0x7957=>0xE24C,
-0x795F=>0xE24D,
-0x795A=>0xE24E,
-0x7955=>0xE24F,
-0x7953=>0xE250,
-0x797A=>0xE251,
-0x797F=>0xE252,
-0x798A=>0xE253,
-0x799D=>0xE254,
-0x79A7=>0xE255,
-0x9F4B=>0xE256,
-0x79AA=>0xE257,
-0x79AE=>0xE258,
-0x79B3=>0xE259,
-0x79B9=>0xE25A,
-0x79BA=>0xE25B,
-0x79C9=>0xE25C,
-0x79D5=>0xE25D,
-0x79E7=>0xE25E,
-0x79EC=>0xE25F,
-0x79E1=>0xE260,
-0x79E3=>0xE261,
-0x7A08=>0xE262,
-0x7A0D=>0xE263,
-0x7A18=>0xE264,
-0x7A19=>0xE265,
-0x7A20=>0xE266,
-0x7A1F=>0xE267,
-0x7980=>0xE268,
-0x7A31=>0xE269,
-0x7A3B=>0xE26A,
-0x7A3E=>0xE26B,
-0x7A37=>0xE26C,
-0x7A43=>0xE26D,
-0x7A57=>0xE26E,
-0x7A49=>0xE26F,
-0x7A61=>0xE270,
-0x7A62=>0xE271,
-0x7A69=>0xE272,
-0x9F9D=>0xE273,
-0x7A70=>0xE274,
-0x7A79=>0xE275,
-0x7A7D=>0xE276,
-0x7A88=>0xE277,
-0x7A97=>0xE278,
-0x7A95=>0xE279,
-0x7A98=>0xE27A,
-0x7A96=>0xE27B,
-0x7AA9=>0xE27C,
-0x7AC8=>0xE27D,
-0x7AB0=>0xE27E,
-0x7AB6=>0xE280,
-0x7AC5=>0xE281,
-0x7AC4=>0xE282,
-0x7ABF=>0xE283,
-0x9083=>0xE284,
-0x7AC7=>0xE285,
-0x7ACA=>0xE286,
-0x7ACD=>0xE287,
-0x7ACF=>0xE288,
-0x7AD5=>0xE289,
-0x7AD3=>0xE28A,
-0x7AD9=>0xE28B,
-0x7ADA=>0xE28C,
-0x7ADD=>0xE28D,
-0x7AE1=>0xE28E,
-0x7AE2=>0xE28F,
-0x7AE6=>0xE290,
-0x7AED=>0xE291,
-0x7AF0=>0xE292,
-0x7B02=>0xE293,
-0x7B0F=>0xE294,
-0x7B0A=>0xE295,
-0x7B06=>0xE296,
-0x7B33=>0xE297,
-0x7B18=>0xE298,
-0x7B19=>0xE299,
-0x7B1E=>0xE29A,
-0x7B35=>0xE29B,
-0x7B28=>0xE29C,
-0x7B36=>0xE29D,
-0x7B50=>0xE29E,
-0x7B7A=>0xE29F,
-0x7B04=>0xE2A0,
-0x7B4D=>0xE2A1,
-0x7B0B=>0xE2A2,
-0x7B4C=>0xE2A3,
-0x7B45=>0xE2A4,
-0x7B75=>0xE2A5,
-0x7B65=>0xE2A6,
-0x7B74=>0xE2A7,
-0x7B67=>0xE2A8,
-0x7B70=>0xE2A9,
-0x7B71=>0xE2AA,
-0x7B6C=>0xE2AB,
-0x7B6E=>0xE2AC,
-0x7B9D=>0xE2AD,
-0x7B98=>0xE2AE,
-0x7B9F=>0xE2AF,
-0x7B8D=>0xE2B0,
-0x7B9C=>0xE2B1,
-0x7B9A=>0xE2B2,
-0x7B8B=>0xE2B3,
-0x7B92=>0xE2B4,
-0x7B8F=>0xE2B5,
-0x7B5D=>0xE2B6,
-0x7B99=>0xE2B7,
-0x7BCB=>0xE2B8,
-0x7BC1=>0xE2B9,
-0x7BCC=>0xE2BA,
-0x7BCF=>0xE2BB,
-0x7BB4=>0xE2BC,
-0x7BC6=>0xE2BD,
-0x7BDD=>0xE2BE,
-0x7BE9=>0xE2BF,
-0x7C11=>0xE2C0,
-0x7C14=>0xE2C1,
-0x7BE6=>0xE2C2,
-0x7BE5=>0xE2C3,
-0x7C60=>0xE2C4,
-0x7C00=>0xE2C5,
-0x7C07=>0xE2C6,
-0x7C13=>0xE2C7,
-0x7BF3=>0xE2C8,
-0x7BF7=>0xE2C9,
-0x7C17=>0xE2CA,
-0x7C0D=>0xE2CB,
-0x7BF6=>0xE2CC,
-0x7C23=>0xE2CD,
-0x7C27=>0xE2CE,
-0x7C2A=>0xE2CF,
-0x7C1F=>0xE2D0,
-0x7C37=>0xE2D1,
-0x7C2B=>0xE2D2,
-0x7C3D=>0xE2D3,
-0x7C4C=>0xE2D4,
-0x7C43=>0xE2D5,
-0x7C54=>0xE2D6,
-0x7C4F=>0xE2D7,
-0x7C40=>0xE2D8,
-0x7C50=>0xE2D9,
-0x7C58=>0xE2DA,
-0x7C5F=>0xE2DB,
-0x7C64=>0xE2DC,
-0x7C56=>0xE2DD,
-0x7C65=>0xE2DE,
-0x7C6C=>0xE2DF,
-0x7C75=>0xE2E0,
-0x7C83=>0xE2E1,
-0x7C90=>0xE2E2,
-0x7CA4=>0xE2E3,
-0x7CAD=>0xE2E4,
-0x7CA2=>0xE2E5,
-0x7CAB=>0xE2E6,
-0x7CA1=>0xE2E7,
-0x7CA8=>0xE2E8,
-0x7CB3=>0xE2E9,
-0x7CB2=>0xE2EA,
-0x7CB1=>0xE2EB,
-0x7CAE=>0xE2EC,
-0x7CB9=>0xE2ED,
-0x7CBD=>0xE2EE,
-0x7CC0=>0xE2EF,
-0x7CC5=>0xE2F0,
-0x7CC2=>0xE2F1,
-0x7CD8=>0xE2F2,
-0x7CD2=>0xE2F3,
-0x7CDC=>0xE2F4,
-0x7CE2=>0xE2F5,
-0x9B3B=>0xE2F6,
-0x7CEF=>0xE2F7,
-0x7CF2=>0xE2F8,
-0x7CF4=>0xE2F9,
-0x7CF6=>0xE2FA,
-0x7CFA=>0xE2FB,
-0x7D06=>0xE2FC,
-0x7D02=>0xE340,
-0x7D1C=>0xE341,
-0x7D15=>0xE342,
-0x7D0A=>0xE343,
-0x7D45=>0xE344,
-0x7D4B=>0xE345,
-0x7D2E=>0xE346,
-0x7D32=>0xE347,
-0x7D3F=>0xE348,
-0x7D35=>0xE349,
-0x7D46=>0xE34A,
-0x7D73=>0xE34B,
-0x7D56=>0xE34C,
-0x7D4E=>0xE34D,
-0x7D72=>0xE34E,
-0x7D68=>0xE34F,
-0x7D6E=>0xE350,
-0x7D4F=>0xE351,
-0x7D63=>0xE352,
-0x7D93=>0xE353,
-0x7D89=>0xE354,
-0x7D5B=>0xE355,
-0x7D8F=>0xE356,
-0x7D7D=>0xE357,
-0x7D9B=>0xE358,
-0x7DBA=>0xE359,
-0x7DAE=>0xE35A,
-0x7DA3=>0xE35B,
-0x7DB5=>0xE35C,
-0x7DC7=>0xE35D,
-0x7DBD=>0xE35E,
-0x7DAB=>0xE35F,
-0x7E3D=>0xE360,
-0x7DA2=>0xE361,
-0x7DAF=>0xE362,
-0x7DDC=>0xE363,
-0x7DB8=>0xE364,
-0x7D9F=>0xE365,
-0x7DB0=>0xE366,
-0x7DD8=>0xE367,
-0x7DDD=>0xE368,
-0x7DE4=>0xE369,
-0x7DDE=>0xE36A,
-0x7DFB=>0xE36B,
-0x7DF2=>0xE36C,
-0x7DE1=>0xE36D,
-0x7E05=>0xE36E,
-0x7E0A=>0xE36F,
-0x7E23=>0xE370,
-0x7E21=>0xE371,
-0x7E12=>0xE372,
-0x7E31=>0xE373,
-0x7E1F=>0xE374,
-0x7E09=>0xE375,
-0x7E0B=>0xE376,
-0x7E22=>0xE377,
-0x7E46=>0xE378,
-0x7E66=>0xE379,
-0x7E3B=>0xE37A,
-0x7E35=>0xE37B,
-0x7E39=>0xE37C,
-0x7E43=>0xE37D,
-0x7E37=>0xE37E,
-0x7E32=>0xE380,
-0x7E3A=>0xE381,
-0x7E67=>0xE382,
-0x7E5D=>0xE383,
-0x7E56=>0xE384,
-0x7E5E=>0xE385,
-0x7E59=>0xE386,
-0x7E5A=>0xE387,
-0x7E79=>0xE388,
-0x7E6A=>0xE389,
-0x7E69=>0xE38A,
-0x7E7C=>0xE38B,
-0x7E7B=>0xE38C,
-0x7E83=>0xE38D,
-0x7DD5=>0xE38E,
-0x7E7D=>0xE38F,
-0x8FAE=>0xE390,
-0x7E7F=>0xE391,
-0x7E88=>0xE392,
-0x7E89=>0xE393,
-0x7E8C=>0xE394,
-0x7E92=>0xE395,
-0x7E90=>0xE396,
-0x7E93=>0xE397,
-0x7E94=>0xE398,
-0x7E96=>0xE399,
-0x7E8E=>0xE39A,
-0x7E9B=>0xE39B,
-0x7E9C=>0xE39C,
-0x7F38=>0xE39D,
-0x7F3A=>0xE39E,
-0x7F45=>0xE39F,
-0x7F4C=>0xE3A0,
-0x7F4D=>0xE3A1,
-0x7F4E=>0xE3A2,
-0x7F50=>0xE3A3,
-0x7F51=>0xE3A4,
-0x7F55=>0xE3A5,
-0x7F54=>0xE3A6,
-0x7F58=>0xE3A7,
-0x7F5F=>0xE3A8,
-0x7F60=>0xE3A9,
-0x7F68=>0xE3AA,
-0x7F69=>0xE3AB,
-0x7F67=>0xE3AC,
-0x7F78=>0xE3AD,
-0x7F82=>0xE3AE,
-0x7F86=>0xE3AF,
-0x7F83=>0xE3B0,
-0x7F88=>0xE3B1,
-0x7F87=>0xE3B2,
-0x7F8C=>0xE3B3,
-0x7F94=>0xE3B4,
-0x7F9E=>0xE3B5,
-0x7F9D=>0xE3B6,
-0x7F9A=>0xE3B7,
-0x7FA3=>0xE3B8,
-0x7FAF=>0xE3B9,
-0x7FB2=>0xE3BA,
-0x7FB9=>0xE3BB,
-0x7FAE=>0xE3BC,
-0x7FB6=>0xE3BD,
-0x7FB8=>0xE3BE,
-0x8B71=>0xE3BF,
-0x7FC5=>0xE3C0,
-0x7FC6=>0xE3C1,
-0x7FCA=>0xE3C2,
-0x7FD5=>0xE3C3,
-0x7FD4=>0xE3C4,
-0x7FE1=>0xE3C5,
-0x7FE6=>0xE3C6,
-0x7FE9=>0xE3C7,
-0x7FF3=>0xE3C8,
-0x7FF9=>0xE3C9,
-0x98DC=>0xE3CA,
-0x8006=>0xE3CB,
-0x8004=>0xE3CC,
-0x800B=>0xE3CD,
-0x8012=>0xE3CE,
-0x8018=>0xE3CF,
-0x8019=>0xE3D0,
-0x801C=>0xE3D1,
-0x8021=>0xE3D2,
-0x8028=>0xE3D3,
-0x803F=>0xE3D4,
-0x803B=>0xE3D5,
-0x804A=>0xE3D6,
-0x8046=>0xE3D7,
-0x8052=>0xE3D8,
-0x8058=>0xE3D9,
-0x805A=>0xE3DA,
-0x805F=>0xE3DB,
-0x8062=>0xE3DC,
-0x8068=>0xE3DD,
-0x8073=>0xE3DE,
-0x8072=>0xE3DF,
-0x8070=>0xE3E0,
-0x8076=>0xE3E1,
-0x8079=>0xE3E2,
-0x807D=>0xE3E3,
-0x807F=>0xE3E4,
-0x8084=>0xE3E5,
-0x8086=>0xE3E6,
-0x8085=>0xE3E7,
-0x809B=>0xE3E8,
-0x8093=>0xE3E9,
-0x809A=>0xE3EA,
-0x80AD=>0xE3EB,
-0x5190=>0xE3EC,
-0x80AC=>0xE3ED,
-0x80DB=>0xE3EE,
-0x80E5=>0xE3EF,
-0x80D9=>0xE3F0,
-0x80DD=>0xE3F1,
-0x80C4=>0xE3F2,
-0x80DA=>0xE3F3,
-0x80D6=>0xE3F4,
-0x8109=>0xE3F5,
-0x80EF=>0xE3F6,
-0x80F1=>0xE3F7,
-0x811B=>0xE3F8,
-0x8129=>0xE3F9,
-0x8123=>0xE3FA,
-0x812F=>0xE3FB,
-0x814B=>0xE3FC,
-0x968B=>0xE440,
-0x8146=>0xE441,
-0x813E=>0xE442,
-0x8153=>0xE443,
-0x8151=>0xE444,
-0x80FC=>0xE445,
-0x8171=>0xE446,
-0x816E=>0xE447,
-0x8165=>0xE448,
-0x8166=>0xE449,
-0x8174=>0xE44A,
-0x8183=>0xE44B,
-0x8188=>0xE44C,
-0x818A=>0xE44D,
-0x8180=>0xE44E,
-0x8182=>0xE44F,
-0x81A0=>0xE450,
-0x8195=>0xE451,
-0x81A4=>0xE452,
-0x81A3=>0xE453,
-0x815F=>0xE454,
-0x8193=>0xE455,
-0x81A9=>0xE456,
-0x81B0=>0xE457,
-0x81B5=>0xE458,
-0x81BE=>0xE459,
-0x81B8=>0xE45A,
-0x81BD=>0xE45B,
-0x81C0=>0xE45C,
-0x81C2=>0xE45D,
-0x81BA=>0xE45E,
-0x81C9=>0xE45F,
-0x81CD=>0xE460,
-0x81D1=>0xE461,
-0x81D9=>0xE462,
-0x81D8=>0xE463,
-0x81C8=>0xE464,
-0x81DA=>0xE465,
-0x81DF=>0xE466,
-0x81E0=>0xE467,
-0x81E7=>0xE468,
-0x81FA=>0xE469,
-0x81FB=>0xE46A,
-0x81FE=>0xE46B,
-0x8201=>0xE46C,
-0x8202=>0xE46D,
-0x8205=>0xE46E,
-0x8207=>0xE46F,
-0x820A=>0xE470,
-0x820D=>0xE471,
-0x8210=>0xE472,
-0x8216=>0xE473,
-0x8229=>0xE474,
-0x822B=>0xE475,
-0x8238=>0xE476,
-0x8233=>0xE477,
-0x8240=>0xE478,
-0x8259=>0xE479,
-0x8258=>0xE47A,
-0x825D=>0xE47B,
-0x825A=>0xE47C,
-0x825F=>0xE47D,
-0x8264=>0xE47E,
-0x8262=>0xE480,
-0x8268=>0xE481,
-0x826A=>0xE482,
-0x826B=>0xE483,
-0x822E=>0xE484,
-0x8271=>0xE485,
-0x8277=>0xE486,
-0x8278=>0xE487,
-0x827E=>0xE488,
-0x828D=>0xE489,
-0x8292=>0xE48A,
-0x82AB=>0xE48B,
-0x829F=>0xE48C,
-0x82BB=>0xE48D,
-0x82AC=>0xE48E,
-0x82E1=>0xE48F,
-0x82E3=>0xE490,
-0x82DF=>0xE491,
-0x82D2=>0xE492,
-0x82F4=>0xE493,
-0x82F3=>0xE494,
-0x82FA=>0xE495,
-0x8393=>0xE496,
-0x8303=>0xE497,
-0x82FB=>0xE498,
-0x82F9=>0xE499,
-0x82DE=>0xE49A,
-0x8306=>0xE49B,
-0x82DC=>0xE49C,
-0x8309=>0xE49D,
-0x82D9=>0xE49E,
-0x8335=>0xE49F,
-0x8334=>0xE4A0,
-0x8316=>0xE4A1,
-0x8332=>0xE4A2,
-0x8331=>0xE4A3,
-0x8340=>0xE4A4,
-0x8339=>0xE4A5,
-0x8350=>0xE4A6,
-0x8345=>0xE4A7,
-0x832F=>0xE4A8,
-0x832B=>0xE4A9,
-0x8317=>0xE4AA,
-0x8318=>0xE4AB,
-0x8385=>0xE4AC,
-0x839A=>0xE4AD,
-0x83AA=>0xE4AE,
-0x839F=>0xE4AF,
-0x83A2=>0xE4B0,
-0x8396=>0xE4B1,
-0x8323=>0xE4B2,
-0x838E=>0xE4B3,
-0x8387=>0xE4B4,
-0x838A=>0xE4B5,
-0x837C=>0xE4B6,
-0x83B5=>0xE4B7,
-0x8373=>0xE4B8,
-0x8375=>0xE4B9,
-0x83A0=>0xE4BA,
-0x8389=>0xE4BB,
-0x83A8=>0xE4BC,
-0x83F4=>0xE4BD,
-0x8413=>0xE4BE,
-0x83EB=>0xE4BF,
-0x83CE=>0xE4C0,
-0x83FD=>0xE4C1,
-0x8403=>0xE4C2,
-0x83D8=>0xE4C3,
-0x840B=>0xE4C4,
-0x83C1=>0xE4C5,
-0x83F7=>0xE4C6,
-0x8407=>0xE4C7,
-0x83E0=>0xE4C8,
-0x83F2=>0xE4C9,
-0x840D=>0xE4CA,
-0x8422=>0xE4CB,
-0x8420=>0xE4CC,
-0x83BD=>0xE4CD,
-0x8438=>0xE4CE,
-0x8506=>0xE4CF,
-0x83FB=>0xE4D0,
-0x846D=>0xE4D1,
-0x842A=>0xE4D2,
-0x843C=>0xE4D3,
-0x855A=>0xE4D4,
-0x8484=>0xE4D5,
-0x8477=>0xE4D6,
-0x846B=>0xE4D7,
-0x84AD=>0xE4D8,
-0x846E=>0xE4D9,
-0x8482=>0xE4DA,
-0x8469=>0xE4DB,
-0x8446=>0xE4DC,
-0x842C=>0xE4DD,
-0x846F=>0xE4DE,
-0x8479=>0xE4DF,
-0x8435=>0xE4E0,
-0x84CA=>0xE4E1,
-0x8462=>0xE4E2,
-0x84B9=>0xE4E3,
-0x84BF=>0xE4E4,
-0x849F=>0xE4E5,
-0x84D9=>0xE4E6,
-0x84CD=>0xE4E7,
-0x84BB=>0xE4E8,
-0x84DA=>0xE4E9,
-0x84D0=>0xE4EA,
-0x84C1=>0xE4EB,
-0x84C6=>0xE4EC,
-0x84D6=>0xE4ED,
-0x84A1=>0xE4EE,
-0x8521=>0xE4EF,
-0x84FF=>0xE4F0,
-0x84F4=>0xE4F1,
-0x8517=>0xE4F2,
-0x8518=>0xE4F3,
-0x852C=>0xE4F4,
-0x851F=>0xE4F5,
-0x8515=>0xE4F6,
-0x8514=>0xE4F7,
-0x84FC=>0xE4F8,
-0x8540=>0xE4F9,
-0x8563=>0xE4FA,
-0x8558=>0xE4FB,
-0x8548=>0xE4FC,
-0x8541=>0xE540,
-0x8602=>0xE541,
-0x854B=>0xE542,
-0x8555=>0xE543,
-0x8580=>0xE544,
-0x85A4=>0xE545,
-0x8588=>0xE546,
-0x8591=>0xE547,
-0x858A=>0xE548,
-0x85A8=>0xE549,
-0x856D=>0xE54A,
-0x8594=>0xE54B,
-0x859B=>0xE54C,
-0x85EA=>0xE54D,
-0x8587=>0xE54E,
-0x859C=>0xE54F,
-0x8577=>0xE550,
-0x857E=>0xE551,
-0x8590=>0xE552,
-0x85C9=>0xE553,
-0x85BA=>0xE554,
-0x85CF=>0xE555,
-0x85B9=>0xE556,
-0x85D0=>0xE557,
-0x85D5=>0xE558,
-0x85DD=>0xE559,
-0x85E5=>0xE55A,
-0x85DC=>0xE55B,
-0x85F9=>0xE55C,
-0x860A=>0xE55D,
-0x8613=>0xE55E,
-0x860B=>0xE55F,
-0x85FE=>0xE560,
-0x85FA=>0xE561,
-0x8606=>0xE562,
-0x8622=>0xE563,
-0x861A=>0xE564,
-0x8630=>0xE565,
-0x863F=>0xE566,
-0x864D=>0xE567,
-0x4E55=>0xE568,
-0x8654=>0xE569,
-0x865F=>0xE56A,
-0x8667=>0xE56B,
-0x8671=>0xE56C,
-0x8693=>0xE56D,
-0x86A3=>0xE56E,
-0x86A9=>0xE56F,
-0x86AA=>0xE570,
-0x868B=>0xE571,
-0x868C=>0xE572,
-0x86B6=>0xE573,
-0x86AF=>0xE574,
-0x86C4=>0xE575,
-0x86C6=>0xE576,
-0x86B0=>0xE577,
-0x86C9=>0xE578,
-0x8823=>0xE579,
-0x86AB=>0xE57A,
-0x86D4=>0xE57B,
-0x86DE=>0xE57C,
-0x86E9=>0xE57D,
-0x86EC=>0xE57E,
-0x86DF=>0xE580,
-0x86DB=>0xE581,
-0x86EF=>0xE582,
-0x8712=>0xE583,
-0x8706=>0xE584,
-0x8708=>0xE585,
-0x8700=>0xE586,
-0x8703=>0xE587,
-0x86FB=>0xE588,
-0x8711=>0xE589,
-0x8709=>0xE58A,
-0x870D=>0xE58B,
-0x86F9=>0xE58C,
-0x870A=>0xE58D,
-0x8734=>0xE58E,
-0x873F=>0xE58F,
-0x8737=>0xE590,
-0x873B=>0xE591,
-0x8725=>0xE592,
-0x8729=>0xE593,
-0x871A=>0xE594,
-0x8760=>0xE595,
-0x875F=>0xE596,
-0x8778=>0xE597,
-0x874C=>0xE598,
-0x874E=>0xE599,
-0x8774=>0xE59A,
-0x8757=>0xE59B,
-0x8768=>0xE59C,
-0x876E=>0xE59D,
-0x8759=>0xE59E,
-0x8753=>0xE59F,
-0x8763=>0xE5A0,
-0x876A=>0xE5A1,
-0x8805=>0xE5A2,
-0x87A2=>0xE5A3,
-0x879F=>0xE5A4,
-0x8782=>0xE5A5,
-0x87AF=>0xE5A6,
-0x87CB=>0xE5A7,
-0x87BD=>0xE5A8,
-0x87C0=>0xE5A9,
-0x87D0=>0xE5AA,
-0x96D6=>0xE5AB,
-0x87AB=>0xE5AC,
-0x87C4=>0xE5AD,
-0x87B3=>0xE5AE,
-0x87C7=>0xE5AF,
-0x87C6=>0xE5B0,
-0x87BB=>0xE5B1,
-0x87EF=>0xE5B2,
-0x87F2=>0xE5B3,
-0x87E0=>0xE5B4,
-0x880F=>0xE5B5,
-0x880D=>0xE5B6,
-0x87FE=>0xE5B7,
-0x87F6=>0xE5B8,
-0x87F7=>0xE5B9,
-0x880E=>0xE5BA,
-0x87D2=>0xE5BB,
-0x8811=>0xE5BC,
-0x8816=>0xE5BD,
-0x8815=>0xE5BE,
-0x8822=>0xE5BF,
-0x8821=>0xE5C0,
-0x8831=>0xE5C1,
-0x8836=>0xE5C2,
-0x8839=>0xE5C3,
-0x8827=>0xE5C4,
-0x883B=>0xE5C5,
-0x8844=>0xE5C6,
-0x8842=>0xE5C7,
-0x8852=>0xE5C8,
-0x8859=>0xE5C9,
-0x885E=>0xE5CA,
-0x8862=>0xE5CB,
-0x886B=>0xE5CC,
-0x8881=>0xE5CD,
-0x887E=>0xE5CE,
-0x889E=>0xE5CF,
-0x8875=>0xE5D0,
-0x887D=>0xE5D1,
-0x88B5=>0xE5D2,
-0x8872=>0xE5D3,
-0x8882=>0xE5D4,
-0x8897=>0xE5D5,
-0x8892=>0xE5D6,
-0x88AE=>0xE5D7,
-0x8899=>0xE5D8,
-0x88A2=>0xE5D9,
-0x888D=>0xE5DA,
-0x88A4=>0xE5DB,
-0x88B0=>0xE5DC,
-0x88BF=>0xE5DD,
-0x88B1=>0xE5DE,
-0x88C3=>0xE5DF,
-0x88C4=>0xE5E0,
-0x88D4=>0xE5E1,
-0x88D8=>0xE5E2,
-0x88D9=>0xE5E3,
-0x88DD=>0xE5E4,
-0x88F9=>0xE5E5,
-0x8902=>0xE5E6,
-0x88FC=>0xE5E7,
-0x88F4=>0xE5E8,
-0x88E8=>0xE5E9,
-0x88F2=>0xE5EA,
-0x8904=>0xE5EB,
-0x890C=>0xE5EC,
-0x890A=>0xE5ED,
-0x8913=>0xE5EE,
-0x8943=>0xE5EF,
-0x891E=>0xE5F0,
-0x8925=>0xE5F1,
-0x892A=>0xE5F2,
-0x892B=>0xE5F3,
-0x8941=>0xE5F4,
-0x8944=>0xE5F5,
-0x893B=>0xE5F6,
-0x8936=>0xE5F7,
-0x8938=>0xE5F8,
-0x894C=>0xE5F9,
-0x891D=>0xE5FA,
-0x8960=>0xE5FB,
-0x895E=>0xE5FC,
-0x8966=>0xE640,
-0x8964=>0xE641,
-0x896D=>0xE642,
-0x896A=>0xE643,
-0x896F=>0xE644,
-0x8974=>0xE645,
-0x8977=>0xE646,
-0x897E=>0xE647,
-0x8983=>0xE648,
-0x8988=>0xE649,
-0x898A=>0xE64A,
-0x8993=>0xE64B,
-0x8998=>0xE64C,
-0x89A1=>0xE64D,
-0x89A9=>0xE64E,
-0x89A6=>0xE64F,
-0x89AC=>0xE650,
-0x89AF=>0xE651,
-0x89B2=>0xE652,
-0x89BA=>0xE653,
-0x89BD=>0xE654,
-0x89BF=>0xE655,
-0x89C0=>0xE656,
-0x89DA=>0xE657,
-0x89DC=>0xE658,
-0x89DD=>0xE659,
-0x89E7=>0xE65A,
-0x89F4=>0xE65B,
-0x89F8=>0xE65C,
-0x8A03=>0xE65D,
-0x8A16=>0xE65E,
-0x8A10=>0xE65F,
-0x8A0C=>0xE660,
-0x8A1B=>0xE661,
-0x8A1D=>0xE662,
-0x8A25=>0xE663,
-0x8A36=>0xE664,
-0x8A41=>0xE665,
-0x8A5B=>0xE666,
-0x8A52=>0xE667,
-0x8A46=>0xE668,
-0x8A48=>0xE669,
-0x8A7C=>0xE66A,
-0x8A6D=>0xE66B,
-0x8A6C=>0xE66C,
-0x8A62=>0xE66D,
-0x8A85=>0xE66E,
-0x8A82=>0xE66F,
-0x8A84=>0xE670,
-0x8AA8=>0xE671,
-0x8AA1=>0xE672,
-0x8A91=>0xE673,
-0x8AA5=>0xE674,
-0x8AA6=>0xE675,
-0x8A9A=>0xE676,
-0x8AA3=>0xE677,
-0x8AC4=>0xE678,
-0x8ACD=>0xE679,
-0x8AC2=>0xE67A,
-0x8ADA=>0xE67B,
-0x8AEB=>0xE67C,
-0x8AF3=>0xE67D,
-0x8AE7=>0xE67E,
-0x8AE4=>0xE680,
-0x8AF1=>0xE681,
-0x8B14=>0xE682,
-0x8AE0=>0xE683,
-0x8AE2=>0xE684,
-0x8AF7=>0xE685,
-0x8ADE=>0xE686,
-0x8ADB=>0xE687,
-0x8B0C=>0xE688,
-0x8B07=>0xE689,
-0x8B1A=>0xE68A,
-0x8AE1=>0xE68B,
-0x8B16=>0xE68C,
-0x8B10=>0xE68D,
-0x8B17=>0xE68E,
-0x8B20=>0xE68F,
-0x8B33=>0xE690,
-0x97AB=>0xE691,
-0x8B26=>0xE692,
-0x8B2B=>0xE693,
-0x8B3E=>0xE694,
-0x8B28=>0xE695,
-0x8B41=>0xE696,
-0x8B4C=>0xE697,
-0x8B4F=>0xE698,
-0x8B4E=>0xE699,
-0x8B49=>0xE69A,
-0x8B56=>0xE69B,
-0x8B5B=>0xE69C,
-0x8B5A=>0xE69D,
-0x8B6B=>0xE69E,
-0x8B5F=>0xE69F,
-0x8B6C=>0xE6A0,
-0x8B6F=>0xE6A1,
-0x8B74=>0xE6A2,
-0x8B7D=>0xE6A3,
-0x8B80=>0xE6A4,
-0x8B8C=>0xE6A5,
-0x8B8E=>0xE6A6,
-0x8B92=>0xE6A7,
-0x8B93=>0xE6A8,
-0x8B96=>0xE6A9,
-0x8B99=>0xE6AA,
-0x8B9A=>0xE6AB,
-0x8C3A=>0xE6AC,
-0x8C41=>0xE6AD,
-0x8C3F=>0xE6AE,
-0x8C48=>0xE6AF,
-0x8C4C=>0xE6B0,
-0x8C4E=>0xE6B1,
-0x8C50=>0xE6B2,
-0x8C55=>0xE6B3,
-0x8C62=>0xE6B4,
-0x8C6C=>0xE6B5,
-0x8C78=>0xE6B6,
-0x8C7A=>0xE6B7,
-0x8C82=>0xE6B8,
-0x8C89=>0xE6B9,
-0x8C85=>0xE6BA,
-0x8C8A=>0xE6BB,
-0x8C8D=>0xE6BC,
-0x8C8E=>0xE6BD,
-0x8C94=>0xE6BE,
-0x8C7C=>0xE6BF,
-0x8C98=>0xE6C0,
-0x621D=>0xE6C1,
-0x8CAD=>0xE6C2,
-0x8CAA=>0xE6C3,
-0x8CBD=>0xE6C4,
-0x8CB2=>0xE6C5,
-0x8CB3=>0xE6C6,
-0x8CAE=>0xE6C7,
-0x8CB6=>0xE6C8,
-0x8CC8=>0xE6C9,
-0x8CC1=>0xE6CA,
-0x8CE4=>0xE6CB,
-0x8CE3=>0xE6CC,
-0x8CDA=>0xE6CD,
-0x8CFD=>0xE6CE,
-0x8CFA=>0xE6CF,
-0x8CFB=>0xE6D0,
-0x8D04=>0xE6D1,
-0x8D05=>0xE6D2,
-0x8D0A=>0xE6D3,
-0x8D07=>0xE6D4,
-0x8D0F=>0xE6D5,
-0x8D0D=>0xE6D6,
-0x8D10=>0xE6D7,
-0x9F4E=>0xE6D8,
-0x8D13=>0xE6D9,
-0x8CCD=>0xE6DA,
-0x8D14=>0xE6DB,
-0x8D16=>0xE6DC,
-0x8D67=>0xE6DD,
-0x8D6D=>0xE6DE,
-0x8D71=>0xE6DF,
-0x8D73=>0xE6E0,
-0x8D81=>0xE6E1,
-0x8D99=>0xE6E2,
-0x8DC2=>0xE6E3,
-0x8DBE=>0xE6E4,
-0x8DBA=>0xE6E5,
-0x8DCF=>0xE6E6,
-0x8DDA=>0xE6E7,
-0x8DD6=>0xE6E8,
-0x8DCC=>0xE6E9,
-0x8DDB=>0xE6EA,
-0x8DCB=>0xE6EB,
-0x8DEA=>0xE6EC,
-0x8DEB=>0xE6ED,
-0x8DDF=>0xE6EE,
-0x8DE3=>0xE6EF,
-0x8DFC=>0xE6F0,
-0x8E08=>0xE6F1,
-0x8E09=>0xE6F2,
-0x8DFF=>0xE6F3,
-0x8E1D=>0xE6F4,
-0x8E1E=>0xE6F5,
-0x8E10=>0xE6F6,
-0x8E1F=>0xE6F7,
-0x8E42=>0xE6F8,
-0x8E35=>0xE6F9,
-0x8E30=>0xE6FA,
-0x8E34=>0xE6FB,
-0x8E4A=>0xE6FC,
-0x8E47=>0xE740,
-0x8E49=>0xE741,
-0x8E4C=>0xE742,
-0x8E50=>0xE743,
-0x8E48=>0xE744,
-0x8E59=>0xE745,
-0x8E64=>0xE746,
-0x8E60=>0xE747,
-0x8E2A=>0xE748,
-0x8E63=>0xE749,
-0x8E55=>0xE74A,
-0x8E76=>0xE74B,
-0x8E72=>0xE74C,
-0x8E7C=>0xE74D,
-0x8E81=>0xE74E,
-0x8E87=>0xE74F,
-0x8E85=>0xE750,
-0x8E84=>0xE751,
-0x8E8B=>0xE752,
-0x8E8A=>0xE753,
-0x8E93=>0xE754,
-0x8E91=>0xE755,
-0x8E94=>0xE756,
-0x8E99=>0xE757,
-0x8EAA=>0xE758,
-0x8EA1=>0xE759,
-0x8EAC=>0xE75A,
-0x8EB0=>0xE75B,
-0x8EC6=>0xE75C,
-0x8EB1=>0xE75D,
-0x8EBE=>0xE75E,
-0x8EC5=>0xE75F,
-0x8EC8=>0xE760,
-0x8ECB=>0xE761,
-0x8EDB=>0xE762,
-0x8EE3=>0xE763,
-0x8EFC=>0xE764,
-0x8EFB=>0xE765,
-0x8EEB=>0xE766,
-0x8EFE=>0xE767,
-0x8F0A=>0xE768,
-0x8F05=>0xE769,
-0x8F15=>0xE76A,
-0x8F12=>0xE76B,
-0x8F19=>0xE76C,
-0x8F13=>0xE76D,
-0x8F1C=>0xE76E,
-0x8F1F=>0xE76F,
-0x8F1B=>0xE770,
-0x8F0C=>0xE771,
-0x8F26=>0xE772,
-0x8F33=>0xE773,
-0x8F3B=>0xE774,
-0x8F39=>0xE775,
-0x8F45=>0xE776,
-0x8F42=>0xE777,
-0x8F3E=>0xE778,
-0x8F4C=>0xE779,
-0x8F49=>0xE77A,
-0x8F46=>0xE77B,
-0x8F4E=>0xE77C,
-0x8F57=>0xE77D,
-0x8F5C=>0xE77E,
-0x8F62=>0xE780,
-0x8F63=>0xE781,
-0x8F64=>0xE782,
-0x8F9C=>0xE783,
-0x8F9F=>0xE784,
-0x8FA3=>0xE785,
-0x8FAD=>0xE786,
-0x8FAF=>0xE787,
-0x8FB7=>0xE788,
-0x8FDA=>0xE789,
-0x8FE5=>0xE78A,
-0x8FE2=>0xE78B,
-0x8FEA=>0xE78C,
-0x8FEF=>0xE78D,
-0x9087=>0xE78E,
-0x8FF4=>0xE78F,
-0x9005=>0xE790,
-0x8FF9=>0xE791,
-0x8FFA=>0xE792,
-0x9011=>0xE793,
-0x9015=>0xE794,
-0x9021=>0xE795,
-0x900D=>0xE796,
-0x901E=>0xE797,
-0x9016=>0xE798,
-0x900B=>0xE799,
-0x9027=>0xE79A,
-0x9036=>0xE79B,
-0x9035=>0xE79C,
-0x9039=>0xE79D,
-0x8FF8=>0xE79E,
-0x904F=>0xE79F,
-0x9050=>0xE7A0,
-0x9051=>0xE7A1,
-0x9052=>0xE7A2,
-0x900E=>0xE7A3,
-0x9049=>0xE7A4,
-0x903E=>0xE7A5,
-0x9056=>0xE7A6,
-0x9058=>0xE7A7,
-0x905E=>0xE7A8,
-0x9068=>0xE7A9,
-0x906F=>0xE7AA,
-0x9076=>0xE7AB,
-0x96A8=>0xE7AC,
-0x9072=>0xE7AD,
-0x9082=>0xE7AE,
-0x907D=>0xE7AF,
-0x9081=>0xE7B0,
-0x9080=>0xE7B1,
-0x908A=>0xE7B2,
-0x9089=>0xE7B3,
-0x908F=>0xE7B4,
-0x90A8=>0xE7B5,
-0x90AF=>0xE7B6,
-0x90B1=>0xE7B7,
-0x90B5=>0xE7B8,
-0x90E2=>0xE7B9,
-0x90E4=>0xE7BA,
-0x6248=>0xE7BB,
-0x90DB=>0xE7BC,
-0x9102=>0xE7BD,
-0x9112=>0xE7BE,
-0x9119=>0xE7BF,
-0x9132=>0xE7C0,
-0x9130=>0xE7C1,
-0x914A=>0xE7C2,
-0x9156=>0xE7C3,
-0x9158=>0xE7C4,
-0x9163=>0xE7C5,
-0x9165=>0xE7C6,
-0x9169=>0xE7C7,
-0x9173=>0xE7C8,
-0x9172=>0xE7C9,
-0x918B=>0xE7CA,
-0x9189=>0xE7CB,
-0x9182=>0xE7CC,
-0x91A2=>0xE7CD,
-0x91AB=>0xE7CE,
-0x91AF=>0xE7CF,
-0x91AA=>0xE7D0,
-0x91B5=>0xE7D1,
-0x91B4=>0xE7D2,
-0x91BA=>0xE7D3,
-0x91C0=>0xE7D4,
-0x91C1=>0xE7D5,
-0x91C9=>0xE7D6,
-0x91CB=>0xE7D7,
-0x91D0=>0xE7D8,
-0x91D6=>0xE7D9,
-0x91DF=>0xE7DA,
-0x91E1=>0xE7DB,
-0x91DB=>0xE7DC,
-0x91FC=>0xE7DD,
-0x91F5=>0xE7DE,
-0x91F6=>0xE7DF,
-0x921E=>0xE7E0,
-0x91FF=>0xE7E1,
-0x9214=>0xE7E2,
-0x922C=>0xE7E3,
-0x9215=>0xE7E4,
-0x9211=>0xE7E5,
-0x925E=>0xE7E6,
-0x9257=>0xE7E7,
-0x9245=>0xE7E8,
-0x9249=>0xE7E9,
-0x9264=>0xE7EA,
-0x9248=>0xE7EB,
-0x9295=>0xE7EC,
-0x923F=>0xE7ED,
-0x924B=>0xE7EE,
-0x9250=>0xE7EF,
-0x929C=>0xE7F0,
-0x9296=>0xE7F1,
-0x9293=>0xE7F2,
-0x929B=>0xE7F3,
-0x925A=>0xE7F4,
-0x92CF=>0xE7F5,
-0x92B9=>0xE7F6,
-0x92B7=>0xE7F7,
-0x92E9=>0xE7F8,
-0x930F=>0xE7F9,
-0x92FA=>0xE7FA,
-0x9344=>0xE7FB,
-0x932E=>0xE7FC,
-0x9319=>0xE840,
-0x9322=>0xE841,
-0x931A=>0xE842,
-0x9323=>0xE843,
-0x933A=>0xE844,
-0x9335=>0xE845,
-0x933B=>0xE846,
-0x935C=>0xE847,
-0x9360=>0xE848,
-0x937C=>0xE849,
-0x936E=>0xE84A,
-0x9356=>0xE84B,
-0x93B0=>0xE84C,
-0x93AC=>0xE84D,
-0x93AD=>0xE84E,
-0x9394=>0xE84F,
-0x93B9=>0xE850,
-0x93D6=>0xE851,
-0x93D7=>0xE852,
-0x93E8=>0xE853,
-0x93E5=>0xE854,
-0x93D8=>0xE855,
-0x93C3=>0xE856,
-0x93DD=>0xE857,
-0x93D0=>0xE858,
-0x93C8=>0xE859,
-0x93E4=>0xE85A,
-0x941A=>0xE85B,
-0x9414=>0xE85C,
-0x9413=>0xE85D,
-0x9403=>0xE85E,
-0x9407=>0xE85F,
-0x9410=>0xE860,
-0x9436=>0xE861,
-0x942B=>0xE862,
-0x9435=>0xE863,
-0x9421=>0xE864,
-0x943A=>0xE865,
-0x9441=>0xE866,
-0x9452=>0xE867,
-0x9444=>0xE868,
-0x945B=>0xE869,
-0x9460=>0xE86A,
-0x9462=>0xE86B,
-0x945E=>0xE86C,
-0x946A=>0xE86D,
-0x9229=>0xE86E,
-0x9470=>0xE86F,
-0x9475=>0xE870,
-0x9477=>0xE871,
-0x947D=>0xE872,
-0x945A=>0xE873,
-0x947C=>0xE874,
-0x947E=>0xE875,
-0x9481=>0xE876,
-0x947F=>0xE877,
-0x9582=>0xE878,
-0x9587=>0xE879,
-0x958A=>0xE87A,
-0x9594=>0xE87B,
-0x9596=>0xE87C,
-0x9598=>0xE87D,
-0x9599=>0xE87E,
-0x95A0=>0xE880,
-0x95A8=>0xE881,
-0x95A7=>0xE882,
-0x95AD=>0xE883,
-0x95BC=>0xE884,
-0x95BB=>0xE885,
-0x95B9=>0xE886,
-0x95BE=>0xE887,
-0x95CA=>0xE888,
-0x6FF6=>0xE889,
-0x95C3=>0xE88A,
-0x95CD=>0xE88B,
-0x95CC=>0xE88C,
-0x95D5=>0xE88D,
-0x95D4=>0xE88E,
-0x95D6=>0xE88F,
-0x95DC=>0xE890,
-0x95E1=>0xE891,
-0x95E5=>0xE892,
-0x95E2=>0xE893,
-0x9621=>0xE894,
-0x9628=>0xE895,
-0x962E=>0xE896,
-0x962F=>0xE897,
-0x9642=>0xE898,
-0x964C=>0xE899,
-0x964F=>0xE89A,
-0x964B=>0xE89B,
-0x9677=>0xE89C,
-0x965C=>0xE89D,
-0x965E=>0xE89E,
-0x965D=>0xE89F,
-0x965F=>0xE8A0,
-0x9666=>0xE8A1,
-0x9672=>0xE8A2,
-0x966C=>0xE8A3,
-0x968D=>0xE8A4,
-0x9698=>0xE8A5,
-0x9695=>0xE8A6,
-0x9697=>0xE8A7,
-0x96AA=>0xE8A8,
-0x96A7=>0xE8A9,
-0x96B1=>0xE8AA,
-0x96B2=>0xE8AB,
-0x96B0=>0xE8AC,
-0x96B4=>0xE8AD,
-0x96B6=>0xE8AE,
-0x96B8=>0xE8AF,
-0x96B9=>0xE8B0,
-0x96CE=>0xE8B1,
-0x96CB=>0xE8B2,
-0x96C9=>0xE8B3,
-0x96CD=>0xE8B4,
-0x894D=>0xE8B5,
-0x96DC=>0xE8B6,
-0x970D=>0xE8B7,
-0x96D5=>0xE8B8,
-0x96F9=>0xE8B9,
-0x9704=>0xE8BA,
-0x9706=>0xE8BB,
-0x9708=>0xE8BC,
-0x9713=>0xE8BD,
-0x970E=>0xE8BE,
-0x9711=>0xE8BF,
-0x970F=>0xE8C0,
-0x9716=>0xE8C1,
-0x9719=>0xE8C2,
-0x9724=>0xE8C3,
-0x972A=>0xE8C4,
-0x9730=>0xE8C5,
-0x9739=>0xE8C6,
-0x973D=>0xE8C7,
-0x973E=>0xE8C8,
-0x9744=>0xE8C9,
-0x9746=>0xE8CA,
-0x9748=>0xE8CB,
-0x9742=>0xE8CC,
-0x9749=>0xE8CD,
-0x975C=>0xE8CE,
-0x9760=>0xE8CF,
-0x9764=>0xE8D0,
-0x9766=>0xE8D1,
-0x9768=>0xE8D2,
-0x52D2=>0xE8D3,
-0x976B=>0xE8D4,
-0x9771=>0xE8D5,
-0x9779=>0xE8D6,
-0x9785=>0xE8D7,
-0x977C=>0xE8D8,
-0x9781=>0xE8D9,
-0x977A=>0xE8DA,
-0x9786=>0xE8DB,
-0x978B=>0xE8DC,
-0x978F=>0xE8DD,
-0x9790=>0xE8DE,
-0x979C=>0xE8DF,
-0x97A8=>0xE8E0,
-0x97A6=>0xE8E1,
-0x97A3=>0xE8E2,
-0x97B3=>0xE8E3,
-0x97B4=>0xE8E4,
-0x97C3=>0xE8E5,
-0x97C6=>0xE8E6,
-0x97C8=>0xE8E7,
-0x97CB=>0xE8E8,
-0x97DC=>0xE8E9,
-0x97ED=>0xE8EA,
-0x9F4F=>0xE8EB,
-0x97F2=>0xE8EC,
-0x7ADF=>0xE8ED,
-0x97F6=>0xE8EE,
-0x97F5=>0xE8EF,
-0x980F=>0xE8F0,
-0x980C=>0xE8F1,
-0x9838=>0xE8F2,
-0x9824=>0xE8F3,
-0x9821=>0xE8F4,
-0x9837=>0xE8F5,
-0x983D=>0xE8F6,
-0x9846=>0xE8F7,
-0x984F=>0xE8F8,
-0x984B=>0xE8F9,
-0x986B=>0xE8FA,
-0x986F=>0xE8FB,
-0x9870=>0xE8FC,
-0x9871=>0xE940,
-0x9874=>0xE941,
-0x9873=>0xE942,
-0x98AA=>0xE943,
-0x98AF=>0xE944,
-0x98B1=>0xE945,
-0x98B6=>0xE946,
-0x98C4=>0xE947,
-0x98C3=>0xE948,
-0x98C6=>0xE949,
-0x98E9=>0xE94A,
-0x98EB=>0xE94B,
-0x9903=>0xE94C,
-0x9909=>0xE94D,
-0x9912=>0xE94E,
-0x9914=>0xE94F,
-0x9918=>0xE950,
-0x9921=>0xE951,
-0x991D=>0xE952,
-0x991E=>0xE953,
-0x9924=>0xE954,
-0x9920=>0xE955,
-0x992C=>0xE956,
-0x992E=>0xE957,
-0x993D=>0xE958,
-0x993E=>0xE959,
-0x9942=>0xE95A,
-0x9949=>0xE95B,
-0x9945=>0xE95C,
-0x9950=>0xE95D,
-0x994B=>0xE95E,
-0x9951=>0xE95F,
-0x9952=>0xE960,
-0x994C=>0xE961,
-0x9955=>0xE962,
-0x9997=>0xE963,
-0x9998=>0xE964,
-0x99A5=>0xE965,
-0x99AD=>0xE966,
-0x99AE=>0xE967,
-0x99BC=>0xE968,
-0x99DF=>0xE969,
-0x99DB=>0xE96A,
-0x99DD=>0xE96B,
-0x99D8=>0xE96C,
-0x99D1=>0xE96D,
-0x99ED=>0xE96E,
-0x99EE=>0xE96F,
-0x99F1=>0xE970,
-0x99F2=>0xE971,
-0x99FB=>0xE972,
-0x99F8=>0xE973,
-0x9A01=>0xE974,
-0x9A0F=>0xE975,
-0x9A05=>0xE976,
-0x99E2=>0xE977,
-0x9A19=>0xE978,
-0x9A2B=>0xE979,
-0x9A37=>0xE97A,
-0x9A45=>0xE97B,
-0x9A42=>0xE97C,
-0x9A40=>0xE97D,
-0x9A43=>0xE97E,
-0x9A3E=>0xE980,
-0x9A55=>0xE981,
-0x9A4D=>0xE982,
-0x9A5B=>0xE983,
-0x9A57=>0xE984,
-0x9A5F=>0xE985,
-0x9A62=>0xE986,
-0x9A65=>0xE987,
-0x9A64=>0xE988,
-0x9A69=>0xE989,
-0x9A6B=>0xE98A,
-0x9A6A=>0xE98B,
-0x9AAD=>0xE98C,
-0x9AB0=>0xE98D,
-0x9ABC=>0xE98E,
-0x9AC0=>0xE98F,
-0x9ACF=>0xE990,
-0x9AD1=>0xE991,
-0x9AD3=>0xE992,
-0x9AD4=>0xE993,
-0x9ADE=>0xE994,
-0x9ADF=>0xE995,
-0x9AE2=>0xE996,
-0x9AE3=>0xE997,
-0x9AE6=>0xE998,
-0x9AEF=>0xE999,
-0x9AEB=>0xE99A,
-0x9AEE=>0xE99B,
-0x9AF4=>0xE99C,
-0x9AF1=>0xE99D,
-0x9AF7=>0xE99E,
-0x9AFB=>0xE99F,
-0x9B06=>0xE9A0,
-0x9B18=>0xE9A1,
-0x9B1A=>0xE9A2,
-0x9B1F=>0xE9A3,
-0x9B22=>0xE9A4,
-0x9B23=>0xE9A5,
-0x9B25=>0xE9A6,
-0x9B27=>0xE9A7,
-0x9B28=>0xE9A8,
-0x9B29=>0xE9A9,
-0x9B2A=>0xE9AA,
-0x9B2E=>0xE9AB,
-0x9B2F=>0xE9AC,
-0x9B32=>0xE9AD,
-0x9B44=>0xE9AE,
-0x9B43=>0xE9AF,
-0x9B4F=>0xE9B0,
-0x9B4D=>0xE9B1,
-0x9B4E=>0xE9B2,
-0x9B51=>0xE9B3,
-0x9B58=>0xE9B4,
-0x9B74=>0xE9B5,
-0x9B93=>0xE9B6,
-0x9B83=>0xE9B7,
-0x9B91=>0xE9B8,
-0x9B96=>0xE9B9,
-0x9B97=>0xE9BA,
-0x9B9F=>0xE9BB,
-0x9BA0=>0xE9BC,
-0x9BA8=>0xE9BD,
-0x9BB4=>0xE9BE,
-0x9BC0=>0xE9BF,
-0x9BCA=>0xE9C0,
-0x9BB9=>0xE9C1,
-0x9BC6=>0xE9C2,
-0x9BCF=>0xE9C3,
-0x9BD1=>0xE9C4,
-0x9BD2=>0xE9C5,
-0x9BE3=>0xE9C6,
-0x9BE2=>0xE9C7,
-0x9BE4=>0xE9C8,
-0x9BD4=>0xE9C9,
-0x9BE1=>0xE9CA,
-0x9C3A=>0xE9CB,
-0x9BF2=>0xE9CC,
-0x9BF1=>0xE9CD,
-0x9BF0=>0xE9CE,
-0x9C15=>0xE9CF,
-0x9C14=>0xE9D0,
-0x9C09=>0xE9D1,
-0x9C13=>0xE9D2,
-0x9C0C=>0xE9D3,
-0x9C06=>0xE9D4,
-0x9C08=>0xE9D5,
-0x9C12=>0xE9D6,
-0x9C0A=>0xE9D7,
-0x9C04=>0xE9D8,
-0x9C2E=>0xE9D9,
-0x9C1B=>0xE9DA,
-0x9C25=>0xE9DB,
-0x9C24=>0xE9DC,
-0x9C21=>0xE9DD,
-0x9C30=>0xE9DE,
-0x9C47=>0xE9DF,
-0x9C32=>0xE9E0,
-0x9C46=>0xE9E1,
-0x9C3E=>0xE9E2,
-0x9C5A=>0xE9E3,
-0x9C60=>0xE9E4,
-0x9C67=>0xE9E5,
-0x9C76=>0xE9E6,
-0x9C78=>0xE9E7,
-0x9CE7=>0xE9E8,
-0x9CEC=>0xE9E9,
-0x9CF0=>0xE9EA,
-0x9D09=>0xE9EB,
-0x9D08=>0xE9EC,
-0x9CEB=>0xE9ED,
-0x9D03=>0xE9EE,
-0x9D06=>0xE9EF,
-0x9D2A=>0xE9F0,
-0x9D26=>0xE9F1,
-0x9DAF=>0xE9F2,
-0x9D23=>0xE9F3,
-0x9D1F=>0xE9F4,
-0x9D44=>0xE9F5,
-0x9D15=>0xE9F6,
-0x9D12=>0xE9F7,
-0x9D41=>0xE9F8,
-0x9D3F=>0xE9F9,
-0x9D3E=>0xE9FA,
-0x9D46=>0xE9FB,
-0x9D48=>0xE9FC,
-0x9D5D=>0xEA40,
-0x9D5E=>0xEA41,
-0x9D64=>0xEA42,
-0x9D51=>0xEA43,
-0x9D50=>0xEA44,
-0x9D59=>0xEA45,
-0x9D72=>0xEA46,
-0x9D89=>0xEA47,
-0x9D87=>0xEA48,
-0x9DAB=>0xEA49,
-0x9D6F=>0xEA4A,
-0x9D7A=>0xEA4B,
-0x9D9A=>0xEA4C,
-0x9DA4=>0xEA4D,
-0x9DA9=>0xEA4E,
-0x9DB2=>0xEA4F,
-0x9DC4=>0xEA50,
-0x9DC1=>0xEA51,
-0x9DBB=>0xEA52,
-0x9DB8=>0xEA53,
-0x9DBA=>0xEA54,
-0x9DC6=>0xEA55,
-0x9DCF=>0xEA56,
-0x9DC2=>0xEA57,
-0x9DD9=>0xEA58,
-0x9DD3=>0xEA59,
-0x9DF8=>0xEA5A,
-0x9DE6=>0xEA5B,
-0x9DED=>0xEA5C,
-0x9DEF=>0xEA5D,
-0x9DFD=>0xEA5E,
-0x9E1A=>0xEA5F,
-0x9E1B=>0xEA60,
-0x9E1E=>0xEA61,
-0x9E75=>0xEA62,
-0x9E79=>0xEA63,
-0x9E7D=>0xEA64,
-0x9E81=>0xEA65,
-0x9E88=>0xEA66,
-0x9E8B=>0xEA67,
-0x9E8C=>0xEA68,
-0x9E92=>0xEA69,
-0x9E95=>0xEA6A,
-0x9E91=>0xEA6B,
-0x9E9D=>0xEA6C,
-0x9EA5=>0xEA6D,
-0x9EA9=>0xEA6E,
-0x9EB8=>0xEA6F,
-0x9EAA=>0xEA70,
-0x9EAD=>0xEA71,
-0x9761=>0xEA72,
-0x9ECC=>0xEA73,
-0x9ECE=>0xEA74,
-0x9ECF=>0xEA75,
-0x9ED0=>0xEA76,
-0x9ED4=>0xEA77,
-0x9EDC=>0xEA78,
-0x9EDE=>0xEA79,
-0x9EDD=>0xEA7A,
-0x9EE0=>0xEA7B,
-0x9EE5=>0xEA7C,
-0x9EE8=>0xEA7D,
-0x9EEF=>0xEA7E,
-0x9EF4=>0xEA80,
-0x9EF6=>0xEA81,
-0x9EF7=>0xEA82,
-0x9EF9=>0xEA83,
-0x9EFB=>0xEA84,
-0x9EFC=>0xEA85,
-0x9EFD=>0xEA86,
-0x9F07=>0xEA87,
-0x9F08=>0xEA88,
-0x76B7=>0xEA89,
-0x9F15=>0xEA8A,
-0x9F21=>0xEA8B,
-0x9F2C=>0xEA8C,
-0x9F3E=>0xEA8D,
-0x9F4A=>0xEA8E,
-0x9F52=>0xEA8F,
-0x9F54=>0xEA90,
-0x9F63=>0xEA91,
-0x9F5F=>0xEA92,
-0x9F60=>0xEA93,
-0x9F61=>0xEA94,
-0x9F66=>0xEA95,
-0x9F67=>0xEA96,
-0x9F6C=>0xEA97,
-0x9F6A=>0xEA98,
-0x9F77=>0xEA99,
-0x9F72=>0xEA9A,
-0x9F76=>0xEA9B,
-0x9F95=>0xEA9C,
-0x9F9C=>0xEA9D,
-0x9FA0=>0xEA9E,
-0x582F=>0xEA9F,
-0x69C7=>0xEAA0,
-0x9059=>0xEAA1,
-0x7464=>0xEAA2,
-0x51DC=>0xEAA3,
-0x7199=>0xEAA4,
-0x7E8A=>0xED40,
-0x891C=>0xED41,
-0x9348=>0xED42,
-0x9288=>0xED43,
-0x84DC=>0xED44,
-0x4FC9=>0xED45,
-0x70BB=>0xED46,
-0x6631=>0xED47,
-0x68C8=>0xED48,
-0x92F9=>0xED49,
-0x66FB=>0xED4A,
-0x5F45=>0xED4B,
-0x4E28=>0xED4C,
-0x4EE1=>0xED4D,
-0x4EFC=>0xED4E,
-0x4F00=>0xED4F,
-0x4F03=>0xED50,
-0x4F39=>0xED51,
-0x4F56=>0xED52,
-0x4F92=>0xED53,
-0x4F8A=>0xED54,
-0x4F9A=>0xED55,
-0x4F94=>0xED56,
-0x4FCD=>0xED57,
-0x5040=>0xED58,
-0x5022=>0xED59,
-0x4FFF=>0xED5A,
-0x501E=>0xED5B,
-0x5046=>0xED5C,
-0x5070=>0xED5D,
-0x5042=>0xED5E,
-0x5094=>0xED5F,
-0x50F4=>0xED60,
-0x50D8=>0xED61,
-0x514A=>0xED62,
-0x5164=>0xED63,
-0x519D=>0xED64,
-0x51BE=>0xED65,
-0x51EC=>0xED66,
-0x5215=>0xED67,
-0x529C=>0xED68,
-0x52A6=>0xED69,
-0x52C0=>0xED6A,
-0x52DB=>0xED6B,
-0x5300=>0xED6C,
-0x5307=>0xED6D,
-0x5324=>0xED6E,
-0x5372=>0xED6F,
-0x5393=>0xED70,
-0x53B2=>0xED71,
-0x53DD=>0xED72,
-0xFA0E=>0xED73,
-0x549C=>0xED74,
-0x548A=>0xED75,
-0x54A9=>0xED76,
-0x54FF=>0xED77,
-0x5586=>0xED78,
-0x5759=>0xED79,
-0x5765=>0xED7A,
-0x57AC=>0xED7B,
-0x57C8=>0xED7C,
-0x57C7=>0xED7D,
-0xFA0F=>0xED7E,
-0xFA10=>0xED80,
-0x589E=>0xED81,
-0x58B2=>0xED82,
-0x590B=>0xED83,
-0x5953=>0xED84,
-0x595B=>0xED85,
-0x595D=>0xED86,
-0x5963=>0xED87,
-0x59A4=>0xED88,
-0x59BA=>0xED89,
-0x5B56=>0xED8A,
-0x5BC0=>0xED8B,
-0x752F=>0xED8C,
-0x5BD8=>0xED8D,
-0x5BEC=>0xED8E,
-0x5C1E=>0xED8F,
-0x5CA6=>0xED90,
-0x5CBA=>0xED91,
-0x5CF5=>0xED92,
-0x5D27=>0xED93,
-0x5D53=>0xED94,
-0xFA11=>0xED95,
-0x5D42=>0xED96,
-0x5D6D=>0xED97,
-0x5DB8=>0xED98,
-0x5DB9=>0xED99,
-0x5DD0=>0xED9A,
-0x5F21=>0xED9B,
-0x5F34=>0xED9C,
-0x5F67=>0xED9D,
-0x5FB7=>0xED9E,
-0x5FDE=>0xED9F,
-0x605D=>0xEDA0,
-0x6085=>0xEDA1,
-0x608A=>0xEDA2,
-0x60DE=>0xEDA3,
-0x60D5=>0xEDA4,
-0x6120=>0xEDA5,
-0x60F2=>0xEDA6,
-0x6111=>0xEDA7,
-0x6137=>0xEDA8,
-0x6130=>0xEDA9,
-0x6198=>0xEDAA,
-0x6213=>0xEDAB,
-0x62A6=>0xEDAC,
-0x63F5=>0xEDAD,
-0x6460=>0xEDAE,
-0x649D=>0xEDAF,
-0x64CE=>0xEDB0,
-0x654E=>0xEDB1,
-0x6600=>0xEDB2,
-0x6615=>0xEDB3,
-0x663B=>0xEDB4,
-0x6609=>0xEDB5,
-0x662E=>0xEDB6,
-0x661E=>0xEDB7,
-0x6624=>0xEDB8,
-0x6665=>0xEDB9,
-0x6657=>0xEDBA,
-0x6659=>0xEDBB,
-0xFA12=>0xEDBC,
-0x6673=>0xEDBD,
-0x6699=>0xEDBE,
-0x66A0=>0xEDBF,
-0x66B2=>0xEDC0,
-0x66BF=>0xEDC1,
-0x66FA=>0xEDC2,
-0x670E=>0xEDC3,
-0xF929=>0xEDC4,
-0x6766=>0xEDC5,
-0x67BB=>0xEDC6,
-0x6852=>0xEDC7,
-0x67C0=>0xEDC8,
-0x6801=>0xEDC9,
-0x6844=>0xEDCA,
-0x68CF=>0xEDCB,
-0xFA13=>0xEDCC,
-0x6968=>0xEDCD,
-0xFA14=>0xEDCE,
-0x6998=>0xEDCF,
-0x69E2=>0xEDD0,
-0x6A30=>0xEDD1,
-0x6A6B=>0xEDD2,
-0x6A46=>0xEDD3,
-0x6A73=>0xEDD4,
-0x6A7E=>0xEDD5,
-0x6AE2=>0xEDD6,
-0x6AE4=>0xEDD7,
-0x6BD6=>0xEDD8,
-0x6C3F=>0xEDD9,
-0x6C5C=>0xEDDA,
-0x6C86=>0xEDDB,
-0x6C6F=>0xEDDC,
-0x6CDA=>0xEDDD,
-0x6D04=>0xEDDE,
-0x6D87=>0xEDDF,
-0x6D6F=>0xEDE0,
-0x6D96=>0xEDE1,
-0x6DAC=>0xEDE2,
-0x6DCF=>0xEDE3,
-0x6DF8=>0xEDE4,
-0x6DF2=>0xEDE5,
-0x6DFC=>0xEDE6,
-0x6E39=>0xEDE7,
-0x6E5C=>0xEDE8,
-0x6E27=>0xEDE9,
-0x6E3C=>0xEDEA,
-0x6EBF=>0xEDEB,
-0x6F88=>0xEDEC,
-0x6FB5=>0xEDED,
-0x6FF5=>0xEDEE,
-0x7005=>0xEDEF,
-0x7007=>0xEDF0,
-0x7028=>0xEDF1,
-0x7085=>0xEDF2,
-0x70AB=>0xEDF3,
-0x710F=>0xEDF4,
-0x7104=>0xEDF5,
-0x715C=>0xEDF6,
-0x7146=>0xEDF7,
-0x7147=>0xEDF8,
-0xFA15=>0xEDF9,
-0x71C1=>0xEDFA,
-0x71FE=>0xEDFB,
-0x72B1=>0xEDFC,
-0x72BE=>0xEE40,
-0x7324=>0xEE41,
-0xFA16=>0xEE42,
-0x7377=>0xEE43,
-0x73BD=>0xEE44,
-0x73C9=>0xEE45,
-0x73D6=>0xEE46,
-0x73E3=>0xEE47,
-0x73D2=>0xEE48,
-0x7407=>0xEE49,
-0x73F5=>0xEE4A,
-0x7426=>0xEE4B,
-0x742A=>0xEE4C,
-0x7429=>0xEE4D,
-0x742E=>0xEE4E,
-0x7462=>0xEE4F,
-0x7489=>0xEE50,
-0x749F=>0xEE51,
-0x7501=>0xEE52,
-0x756F=>0xEE53,
-0x7682=>0xEE54,
-0x769C=>0xEE55,
-0x769E=>0xEE56,
-0x769B=>0xEE57,
-0x76A6=>0xEE58,
-0xFA17=>0xEE59,
-0x7746=>0xEE5A,
-0x52AF=>0xEE5B,
-0x7821=>0xEE5C,
-0x784E=>0xEE5D,
-0x7864=>0xEE5E,
-0x787A=>0xEE5F,
-0x7930=>0xEE60,
-0xFA18=>0xEE61,
-0xFA19=>0xEE62,
-0xFA1A=>0xEE63,
-0x7994=>0xEE64,
-0xFA1B=>0xEE65,
-0x799B=>0xEE66,
-0x7AD1=>0xEE67,
-0x7AE7=>0xEE68,
-0xFA1C=>0xEE69,
-0x7AEB=>0xEE6A,
-0x7B9E=>0xEE6B,
-0xFA1D=>0xEE6C,
-0x7D48=>0xEE6D,
-0x7D5C=>0xEE6E,
-0x7DB7=>0xEE6F,
-0x7DA0=>0xEE70,
-0x7DD6=>0xEE71,
-0x7E52=>0xEE72,
-0x7F47=>0xEE73,
-0x7FA1=>0xEE74,
-0xFA1E=>0xEE75,
-0x8301=>0xEE76,
-0x8362=>0xEE77,
-0x837F=>0xEE78,
-0x83C7=>0xEE79,
-0x83F6=>0xEE7A,
-0x8448=>0xEE7B,
-0x84B4=>0xEE7C,
-0x8553=>0xEE7D,
-0x8559=>0xEE7E,
-0x856B=>0xEE80,
-0xFA1F=>0xEE81,
-0x85B0=>0xEE82,
-0xFA20=>0xEE83,
-0xFA21=>0xEE84,
-0x8807=>0xEE85,
-0x88F5=>0xEE86,
-0x8A12=>0xEE87,
-0x8A37=>0xEE88,
-0x8A79=>0xEE89,
-0x8AA7=>0xEE8A,
-0x8ABE=>0xEE8B,
-0x8ADF=>0xEE8C,
-0xFA22=>0xEE8D,
-0x8AF6=>0xEE8E,
-0x8B53=>0xEE8F,
-0x8B7F=>0xEE90,
-0x8CF0=>0xEE91,
-0x8CF4=>0xEE92,
-0x8D12=>0xEE93,
-0x8D76=>0xEE94,
-0xFA23=>0xEE95,
-0x8ECF=>0xEE96,
-0xFA24=>0xEE97,
-0xFA25=>0xEE98,
-0x9067=>0xEE99,
-0x90DE=>0xEE9A,
-0xFA26=>0xEE9B,
-0x9115=>0xEE9C,
-0x9127=>0xEE9D,
-0x91DA=>0xEE9E,
-0x91D7=>0xEE9F,
-0x91DE=>0xEEA0,
-0x91ED=>0xEEA1,
-0x91EE=>0xEEA2,
-0x91E4=>0xEEA3,
-0x91E5=>0xEEA4,
-0x9206=>0xEEA5,
-0x9210=>0xEEA6,
-0x920A=>0xEEA7,
-0x923A=>0xEEA8,
-0x9240=>0xEEA9,
-0x923C=>0xEEAA,
-0x924E=>0xEEAB,
-0x9259=>0xEEAC,
-0x9251=>0xEEAD,
-0x9239=>0xEEAE,
-0x9267=>0xEEAF,
-0x92A7=>0xEEB0,
-0x9277=>0xEEB1,
-0x9278=>0xEEB2,
-0x92E7=>0xEEB3,
-0x92D7=>0xEEB4,
-0x92D9=>0xEEB5,
-0x92D0=>0xEEB6,
-0xFA27=>0xEEB7,
-0x92D5=>0xEEB8,
-0x92E0=>0xEEB9,
-0x92D3=>0xEEBA,
-0x9325=>0xEEBB,
-0x9321=>0xEEBC,
-0x92FB=>0xEEBD,
-0xFA28=>0xEEBE,
-0x931E=>0xEEBF,
-0x92FF=>0xEEC0,
-0x931D=>0xEEC1,
-0x9302=>0xEEC2,
-0x9370=>0xEEC3,
-0x9357=>0xEEC4,
-0x93A4=>0xEEC5,
-0x93C6=>0xEEC6,
-0x93DE=>0xEEC7,
-0x93F8=>0xEEC8,
-0x9431=>0xEEC9,
-0x9445=>0xEECA,
-0x9448=>0xEECB,
-0x9592=>0xEECC,
-0xF9DC=>0xEECD,
-0xFA29=>0xEECE,
-0x969D=>0xEECF,
-0x96AF=>0xEED0,
-0x9733=>0xEED1,
-0x973B=>0xEED2,
-0x9743=>0xEED3,
-0x974D=>0xEED4,
-0x974F=>0xEED5,
-0x9751=>0xEED6,
-0x9755=>0xEED7,
-0x9857=>0xEED8,
-0x9865=>0xEED9,
-0xFA2A=>0xEEDA,
-0xFA2B=>0xEEDB,
-0x9927=>0xEEDC,
-0xFA2C=>0xEEDD,
-0x999E=>0xEEDE,
-0x9A4E=>0xEEDF,
-0x9AD9=>0xEEE0,
-0x9ADC=>0xEEE1,
-0x9B75=>0xEEE2,
-0x9B72=>0xEEE3,
-0x9B8F=>0xEEE4,
-0x9BB1=>0xEEE5,
-0x9BBB=>0xEEE6,
-0x9C00=>0xEEE7,
-0x9D70=>0xEEE8,
-0x9D6B=>0xEEE9,
-0xFA2D=>0xEEEA,
-0x9E19=>0xEEEB,
-0x9ED1=>0xEEEC,
-0x2170=>0xEEEF,
-0x2171=>0xEEF0,
-0x2172=>0xEEF1,
-0x2173=>0xEEF2,
-0x2174=>0xEEF3,
-0x2175=>0xEEF4,
-0x2176=>0xEEF5,
-0x2177=>0xEEF6,
-0x2178=>0xEEF7,
-0x2179=>0xEEF8,
-0xFFE2=>0xEEF9,
-0xFFE4=>0xEEFA,
-0xFF07=>0xEEFB,
-0xFF02=>0xEEFC,
-0xE000=>0xF040,
-0xE001=>0xF041,
-0xE002=>0xF042,
-0xE003=>0xF043,
-0xE004=>0xF044,
-0xE005=>0xF045,
-0xE006=>0xF046,
-0xE007=>0xF047,
-0xE008=>0xF048,
-0xE009=>0xF049,
-0xE00A=>0xF04A,
-0xE00B=>0xF04B,
-0xE00C=>0xF04C,
-0xE00D=>0xF04D,
-0xE00E=>0xF04E,
-0xE00F=>0xF04F,
-0xE010=>0xF050,
-0xE011=>0xF051,
-0xE012=>0xF052,
-0xE013=>0xF053,
-0xE014=>0xF054,
-0xE015=>0xF055,
-0xE016=>0xF056,
-0xE017=>0xF057,
-0xE018=>0xF058,
-0xE019=>0xF059,
-0xE01A=>0xF05A,
-0xE01B=>0xF05B,
-0xE01C=>0xF05C,
-0xE01D=>0xF05D,
-0xE01E=>0xF05E,
-0xE01F=>0xF05F,
-0xE020=>0xF060,
-0xE021=>0xF061,
-0xE022=>0xF062,
-0xE023=>0xF063,
-0xE024=>0xF064,
-0xE025=>0xF065,
-0xE026=>0xF066,
-0xE027=>0xF067,
-0xE028=>0xF068,
-0xE029=>0xF069,
-0xE02A=>0xF06A,
-0xE02B=>0xF06B,
-0xE02C=>0xF06C,
-0xE02D=>0xF06D,
-0xE02E=>0xF06E,
-0xE02F=>0xF06F,
-0xE030=>0xF070,
-0xE031=>0xF071,
-0xE032=>0xF072,
-0xE033=>0xF073,
-0xE034=>0xF074,
-0xE035=>0xF075,
-0xE036=>0xF076,
-0xE037=>0xF077,
-0xE038=>0xF078,
-0xE039=>0xF079,
-0xE03A=>0xF07A,
-0xE03B=>0xF07B,
-0xE03C=>0xF07C,
-0xE03D=>0xF07D,
-0xE03E=>0xF07E,
-0xE03F=>0xF080,
-0xE040=>0xF081,
-0xE041=>0xF082,
-0xE042=>0xF083,
-0xE043=>0xF084,
-0xE044=>0xF085,
-0xE045=>0xF086,
-0xE046=>0xF087,
-0xE047=>0xF088,
-0xE048=>0xF089,
-0xE049=>0xF08A,
-0xE04A=>0xF08B,
-0xE04B=>0xF08C,
-0xE04C=>0xF08D,
-0xE04D=>0xF08E,
-0xE04E=>0xF08F,
-0xE04F=>0xF090,
-0xE050=>0xF091,
-0xE051=>0xF092,
-0xE052=>0xF093,
-0xE053=>0xF094,
-0xE054=>0xF095,
-0xE055=>0xF096,
-0xE056=>0xF097,
-0xE057=>0xF098,
-0xE058=>0xF099,
-0xE059=>0xF09A,
-0xE05A=>0xF09B,
-0xE05B=>0xF09C,
-0xE05C=>0xF09D,
-0xE05D=>0xF09E,
-0xE05E=>0xF09F,
-0xE05F=>0xF0A0,
-0xE060=>0xF0A1,
-0xE061=>0xF0A2,
-0xE062=>0xF0A3,
-0xE063=>0xF0A4,
-0xE064=>0xF0A5,
-0xE065=>0xF0A6,
-0xE066=>0xF0A7,
-0xE067=>0xF0A8,
-0xE068=>0xF0A9,
-0xE069=>0xF0AA,
-0xE06A=>0xF0AB,
-0xE06B=>0xF0AC,
-0xE06C=>0xF0AD,
-0xE06D=>0xF0AE,
-0xE06E=>0xF0AF,
-0xE06F=>0xF0B0,
-0xE070=>0xF0B1,
-0xE071=>0xF0B2,
-0xE072=>0xF0B3,
-0xE073=>0xF0B4,
-0xE074=>0xF0B5,
-0xE075=>0xF0B6,
-0xE076=>0xF0B7,
-0xE077=>0xF0B8,
-0xE078=>0xF0B9,
-0xE079=>0xF0BA,
-0xE07A=>0xF0BB,
-0xE07B=>0xF0BC,
-0xE07C=>0xF0BD,
-0xE07D=>0xF0BE,
-0xE07E=>0xF0BF,
-0xE07F=>0xF0C0,
-0xE080=>0xF0C1,
-0xE081=>0xF0C2,
-0xE082=>0xF0C3,
-0xE083=>0xF0C4,
-0xE084=>0xF0C5,
-0xE085=>0xF0C6,
-0xE086=>0xF0C7,
-0xE087=>0xF0C8,
-0xE088=>0xF0C9,
-0xE089=>0xF0CA,
-0xE08A=>0xF0CB,
-0xE08B=>0xF0CC,
-0xE08C=>0xF0CD,
-0xE08D=>0xF0CE,
-0xE08E=>0xF0CF,
-0xE08F=>0xF0D0,
-0xE090=>0xF0D1,
-0xE091=>0xF0D2,
-0xE092=>0xF0D3,
-0xE093=>0xF0D4,
-0xE094=>0xF0D5,
-0xE095=>0xF0D6,
-0xE096=>0xF0D7,
-0xE097=>0xF0D8,
-0xE098=>0xF0D9,
-0xE099=>0xF0DA,
-0xE09A=>0xF0DB,
-0xE09B=>0xF0DC,
-0xE09C=>0xF0DD,
-0xE09D=>0xF0DE,
-0xE09E=>0xF0DF,
-0xE09F=>0xF0E0,
-0xE0A0=>0xF0E1,
-0xE0A1=>0xF0E2,
-0xE0A2=>0xF0E3,
-0xE0A3=>0xF0E4,
-0xE0A4=>0xF0E5,
-0xE0A5=>0xF0E6,
-0xE0A6=>0xF0E7,
-0xE0A7=>0xF0E8,
-0xE0A8=>0xF0E9,
-0xE0A9=>0xF0EA,
-0xE0AA=>0xF0EB,
-0xE0AB=>0xF0EC,
-0xE0AC=>0xF0ED,
-0xE0AD=>0xF0EE,
-0xE0AE=>0xF0EF,
-0xE0AF=>0xF0F0,
-0xE0B0=>0xF0F1,
-0xE0B1=>0xF0F2,
-0xE0B2=>0xF0F3,
-0xE0B3=>0xF0F4,
-0xE0B4=>0xF0F5,
-0xE0B5=>0xF0F6,
-0xE0B6=>0xF0F7,
-0xE0B7=>0xF0F8,
-0xE0B8=>0xF0F9,
-0xE0B9=>0xF0FA,
-0xE0BA=>0xF0FB,
-0xE0BB=>0xF0FC,
-0xE0BC=>0xF140,
-0xE0BD=>0xF141,
-0xE0BE=>0xF142,
-0xE0BF=>0xF143,
-0xE0C0=>0xF144,
-0xE0C1=>0xF145,
-0xE0C2=>0xF146,
-0xE0C3=>0xF147,
-0xE0C4=>0xF148,
-0xE0C5=>0xF149,
-0xE0C6=>0xF14A,
-0xE0C7=>0xF14B,
-0xE0C8=>0xF14C,
-0xE0C9=>0xF14D,
-0xE0CA=>0xF14E,
-0xE0CB=>0xF14F,
-0xE0CC=>0xF150,
-0xE0CD=>0xF151,
-0xE0CE=>0xF152,
-0xE0CF=>0xF153,
-0xE0D0=>0xF154,
-0xE0D1=>0xF155,
-0xE0D2=>0xF156,
-0xE0D3=>0xF157,
-0xE0D4=>0xF158,
-0xE0D5=>0xF159,
-0xE0D6=>0xF15A,
-0xE0D7=>0xF15B,
-0xE0D8=>0xF15C,
-0xE0D9=>0xF15D,
-0xE0DA=>0xF15E,
-0xE0DB=>0xF15F,
-0xE0DC=>0xF160,
-0xE0DD=>0xF161,
-0xE0DE=>0xF162,
-0xE0DF=>0xF163,
-0xE0E0=>0xF164,
-0xE0E1=>0xF165,
-0xE0E2=>0xF166,
-0xE0E3=>0xF167,
-0xE0E4=>0xF168,
-0xE0E5=>0xF169,
-0xE0E6=>0xF16A,
-0xE0E7=>0xF16B,
-0xE0E8=>0xF16C,
-0xE0E9=>0xF16D,
-0xE0EA=>0xF16E,
-0xE0EB=>0xF16F,
-0xE0EC=>0xF170,
-0xE0ED=>0xF171,
-0xE0EE=>0xF172,
-0xE0EF=>0xF173,
-0xE0F0=>0xF174,
-0xE0F1=>0xF175,
-0xE0F2=>0xF176,
-0xE0F3=>0xF177,
-0xE0F4=>0xF178,
-0xE0F5=>0xF179,
-0xE0F6=>0xF17A,
-0xE0F7=>0xF17B,
-0xE0F8=>0xF17C,
-0xE0F9=>0xF17D,
-0xE0FA=>0xF17E,
-0xE0FB=>0xF180,
-0xE0FC=>0xF181,
-0xE0FD=>0xF182,
-0xE0FE=>0xF183,
-0xE0FF=>0xF184,
-0xE100=>0xF185,
-0xE101=>0xF186,
-0xE102=>0xF187,
-0xE103=>0xF188,
-0xE104=>0xF189,
-0xE105=>0xF18A,
-0xE106=>0xF18B,
-0xE107=>0xF18C,
-0xE108=>0xF18D,
-0xE109=>0xF18E,
-0xE10A=>0xF18F,
-0xE10B=>0xF190,
-0xE10C=>0xF191,
-0xE10D=>0xF192,
-0xE10E=>0xF193,
-0xE10F=>0xF194,
-0xE110=>0xF195,
-0xE111=>0xF196,
-0xE112=>0xF197,
-0xE113=>0xF198,
-0xE114=>0xF199,
-0xE115=>0xF19A,
-0xE116=>0xF19B,
-0xE117=>0xF19C,
-0xE118=>0xF19D,
-0xE119=>0xF19E,
-0xE11A=>0xF19F,
-0xE11B=>0xF1A0,
-0xE11C=>0xF1A1,
-0xE11D=>0xF1A2,
-0xE11E=>0xF1A3,
-0xE11F=>0xF1A4,
-0xE120=>0xF1A5,
-0xE121=>0xF1A6,
-0xE122=>0xF1A7,
-0xE123=>0xF1A8,
-0xE124=>0xF1A9,
-0xE125=>0xF1AA,
-0xE126=>0xF1AB,
-0xE127=>0xF1AC,
-0xE128=>0xF1AD,
-0xE129=>0xF1AE,
-0xE12A=>0xF1AF,
-0xE12B=>0xF1B0,
-0xE12C=>0xF1B1,
-0xE12D=>0xF1B2,
-0xE12E=>0xF1B3,
-0xE12F=>0xF1B4,
-0xE130=>0xF1B5,
-0xE131=>0xF1B6,
-0xE132=>0xF1B7,
-0xE133=>0xF1B8,
-0xE134=>0xF1B9,
-0xE135=>0xF1BA,
-0xE136=>0xF1BB,
-0xE137=>0xF1BC,
-0xE138=>0xF1BD,
-0xE139=>0xF1BE,
-0xE13A=>0xF1BF,
-0xE13B=>0xF1C0,
-0xE13C=>0xF1C1,
-0xE13D=>0xF1C2,
-0xE13E=>0xF1C3,
-0xE13F=>0xF1C4,
-0xE140=>0xF1C5,
-0xE141=>0xF1C6,
-0xE142=>0xF1C7,
-0xE143=>0xF1C8,
-0xE144=>0xF1C9,
-0xE145=>0xF1CA,
-0xE146=>0xF1CB,
-0xE147=>0xF1CC,
-0xE148=>0xF1CD,
-0xE149=>0xF1CE,
-0xE14A=>0xF1CF,
-0xE14B=>0xF1D0,
-0xE14C=>0xF1D1,
-0xE14D=>0xF1D2,
-0xE14E=>0xF1D3,
-0xE14F=>0xF1D4,
-0xE150=>0xF1D5,
-0xE151=>0xF1D6,
-0xE152=>0xF1D7,
-0xE153=>0xF1D8,
-0xE154=>0xF1D9,
-0xE155=>0xF1DA,
-0xE156=>0xF1DB,
-0xE157=>0xF1DC,
-0xE158=>0xF1DD,
-0xE159=>0xF1DE,
-0xE15A=>0xF1DF,
-0xE15B=>0xF1E0,
-0xE15C=>0xF1E1,
-0xE15D=>0xF1E2,
-0xE15E=>0xF1E3,
-0xE15F=>0xF1E4,
-0xE160=>0xF1E5,
-0xE161=>0xF1E6,
-0xE162=>0xF1E7,
-0xE163=>0xF1E8,
-0xE164=>0xF1E9,
-0xE165=>0xF1EA,
-0xE166=>0xF1EB,
-0xE167=>0xF1EC,
-0xE168=>0xF1ED,
-0xE169=>0xF1EE,
-0xE16A=>0xF1EF,
-0xE16B=>0xF1F0,
-0xE16C=>0xF1F1,
-0xE16D=>0xF1F2,
-0xE16E=>0xF1F3,
-0xE16F=>0xF1F4,
-0xE170=>0xF1F5,
-0xE171=>0xF1F6,
-0xE172=>0xF1F7,
-0xE173=>0xF1F8,
-0xE174=>0xF1F9,
-0xE175=>0xF1FA,
-0xE176=>0xF1FB,
-0xE177=>0xF1FC,
-0xE178=>0xF240,
-0xE179=>0xF241,
-0xE17A=>0xF242,
-0xE17B=>0xF243,
-0xE17C=>0xF244,
-0xE17D=>0xF245,
-0xE17E=>0xF246,
-0xE17F=>0xF247,
-0xE180=>0xF248,
-0xE181=>0xF249,
-0xE182=>0xF24A,
-0xE183=>0xF24B,
-0xE184=>0xF24C,
-0xE185=>0xF24D,
-0xE186=>0xF24E,
-0xE187=>0xF24F,
-0xE188=>0xF250,
-0xE189=>0xF251,
-0xE18A=>0xF252,
-0xE18B=>0xF253,
-0xE18C=>0xF254,
-0xE18D=>0xF255,
-0xE18E=>0xF256,
-0xE18F=>0xF257,
-0xE190=>0xF258,
-0xE191=>0xF259,
-0xE192=>0xF25A,
-0xE193=>0xF25B,
-0xE194=>0xF25C,
-0xE195=>0xF25D,
-0xE196=>0xF25E,
-0xE197=>0xF25F,
-0xE198=>0xF260,
-0xE199=>0xF261,
-0xE19A=>0xF262,
-0xE19B=>0xF263,
-0xE19C=>0xF264,
-0xE19D=>0xF265,
-0xE19E=>0xF266,
-0xE19F=>0xF267,
-0xE1A0=>0xF268,
-0xE1A1=>0xF269,
-0xE1A2=>0xF26A,
-0xE1A3=>0xF26B,
-0xE1A4=>0xF26C,
-0xE1A5=>0xF26D,
-0xE1A6=>0xF26E,
-0xE1A7=>0xF26F,
-0xE1A8=>0xF270,
-0xE1A9=>0xF271,
-0xE1AA=>0xF272,
-0xE1AB=>0xF273,
-0xE1AC=>0xF274,
-0xE1AD=>0xF275,
-0xE1AE=>0xF276,
-0xE1AF=>0xF277,
-0xE1B0=>0xF278,
-0xE1B1=>0xF279,
-0xE1B2=>0xF27A,
-0xE1B3=>0xF27B,
-0xE1B4=>0xF27C,
-0xE1B5=>0xF27D,
-0xE1B6=>0xF27E,
-0xE1B7=>0xF280,
-0xE1B8=>0xF281,
-0xE1B9=>0xF282,
-0xE1BA=>0xF283,
-0xE1BB=>0xF284,
-0xE1BC=>0xF285,
-0xE1BD=>0xF286,
-0xE1BE=>0xF287,
-0xE1BF=>0xF288,
-0xE1C0=>0xF289,
-0xE1C1=>0xF28A,
-0xE1C2=>0xF28B,
-0xE1C3=>0xF28C,
-0xE1C4=>0xF28D,
-0xE1C5=>0xF28E,
-0xE1C6=>0xF28F,
-0xE1C7=>0xF290,
-0xE1C8=>0xF291,
-0xE1C9=>0xF292,
-0xE1CA=>0xF293,
-0xE1CB=>0xF294,
-0xE1CC=>0xF295,
-0xE1CD=>0xF296,
-0xE1CE=>0xF297,
-0xE1CF=>0xF298,
-0xE1D0=>0xF299,
-0xE1D1=>0xF29A,
-0xE1D2=>0xF29B,
-0xE1D3=>0xF29C,
-0xE1D4=>0xF29D,
-0xE1D5=>0xF29E,
-0xE1D6=>0xF29F,
-0xE1D7=>0xF2A0,
-0xE1D8=>0xF2A1,
-0xE1D9=>0xF2A2,
-0xE1DA=>0xF2A3,
-0xE1DB=>0xF2A4,
-0xE1DC=>0xF2A5,
-0xE1DD=>0xF2A6,
-0xE1DE=>0xF2A7,
-0xE1DF=>0xF2A8,
-0xE1E0=>0xF2A9,
-0xE1E1=>0xF2AA,
-0xE1E2=>0xF2AB,
-0xE1E3=>0xF2AC,
-0xE1E4=>0xF2AD,
-0xE1E5=>0xF2AE,
-0xE1E6=>0xF2AF,
-0xE1E7=>0xF2B0,
-0xE1E8=>0xF2B1,
-0xE1E9=>0xF2B2,
-0xE1EA=>0xF2B3,
-0xE1EB=>0xF2B4,
-0xE1EC=>0xF2B5,
-0xE1ED=>0xF2B6,
-0xE1EE=>0xF2B7,
-0xE1EF=>0xF2B8,
-0xE1F0=>0xF2B9,
-0xE1F1=>0xF2BA,
-0xE1F2=>0xF2BB,
-0xE1F3=>0xF2BC,
-0xE1F4=>0xF2BD,
-0xE1F5=>0xF2BE,
-0xE1F6=>0xF2BF,
-0xE1F7=>0xF2C0,
-0xE1F8=>0xF2C1,
-0xE1F9=>0xF2C2,
-0xE1FA=>0xF2C3,
-0xE1FB=>0xF2C4,
-0xE1FC=>0xF2C5,
-0xE1FD=>0xF2C6,
-0xE1FE=>0xF2C7,
-0xE1FF=>0xF2C8,
-0xE200=>0xF2C9,
-0xE201=>0xF2CA,
-0xE202=>0xF2CB,
-0xE203=>0xF2CC,
-0xE204=>0xF2CD,
-0xE205=>0xF2CE,
-0xE206=>0xF2CF,
-0xE207=>0xF2D0,
-0xE208=>0xF2D1,
-0xE209=>0xF2D2,
-0xE20A=>0xF2D3,
-0xE20B=>0xF2D4,
-0xE20C=>0xF2D5,
-0xE20D=>0xF2D6,
-0xE20E=>0xF2D7,
-0xE20F=>0xF2D8,
-0xE210=>0xF2D9,
-0xE211=>0xF2DA,
-0xE212=>0xF2DB,
-0xE213=>0xF2DC,
-0xE214=>0xF2DD,
-0xE215=>0xF2DE,
-0xE216=>0xF2DF,
-0xE217=>0xF2E0,
-0xE218=>0xF2E1,
-0xE219=>0xF2E2,
-0xE21A=>0xF2E3,
-0xE21B=>0xF2E4,
-0xE21C=>0xF2E5,
-0xE21D=>0xF2E6,
-0xE21E=>0xF2E7,
-0xE21F=>0xF2E8,
-0xE220=>0xF2E9,
-0xE221=>0xF2EA,
-0xE222=>0xF2EB,
-0xE223=>0xF2EC,
-0xE224=>0xF2ED,
-0xE225=>0xF2EE,
-0xE226=>0xF2EF,
-0xE227=>0xF2F0,
-0xE228=>0xF2F1,
-0xE229=>0xF2F2,
-0xE22A=>0xF2F3,
-0xE22B=>0xF2F4,
-0xE22C=>0xF2F5,
-0xE22D=>0xF2F6,
-0xE22E=>0xF2F7,
-0xE22F=>0xF2F8,
-0xE230=>0xF2F9,
-0xE231=>0xF2FA,
-0xE232=>0xF2FB,
-0xE233=>0xF2FC,
-0xE234=>0xF340,
-0xE235=>0xF341,
-0xE236=>0xF342,
-0xE237=>0xF343,
-0xE238=>0xF344,
-0xE239=>0xF345,
-0xE23A=>0xF346,
-0xE23B=>0xF347,
-0xE23C=>0xF348,
-0xE23D=>0xF349,
-0xE23E=>0xF34A,
-0xE23F=>0xF34B,
-0xE240=>0xF34C,
-0xE241=>0xF34D,
-0xE242=>0xF34E,
-0xE243=>0xF34F,
-0xE244=>0xF350,
-0xE245=>0xF351,
-0xE246=>0xF352,
-0xE247=>0xF353,
-0xE248=>0xF354,
-0xE249=>0xF355,
-0xE24A=>0xF356,
-0xE24B=>0xF357,
-0xE24C=>0xF358,
-0xE24D=>0xF359,
-0xE24E=>0xF35A,
-0xE24F=>0xF35B,
-0xE250=>0xF35C,
-0xE251=>0xF35D,
-0xE252=>0xF35E,
-0xE253=>0xF35F,
-0xE254=>0xF360,
-0xE255=>0xF361,
-0xE256=>0xF362,
-0xE257=>0xF363,
-0xE258=>0xF364,
-0xE259=>0xF365,
-0xE25A=>0xF366,
-0xE25B=>0xF367,
-0xE25C=>0xF368,
-0xE25D=>0xF369,
-0xE25E=>0xF36A,
-0xE25F=>0xF36B,
-0xE260=>0xF36C,
-0xE261=>0xF36D,
-0xE262=>0xF36E,
-0xE263=>0xF36F,
-0xE264=>0xF370,
-0xE265=>0xF371,
-0xE266=>0xF372,
-0xE267=>0xF373,
-0xE268=>0xF374,
-0xE269=>0xF375,
-0xE26A=>0xF376,
-0xE26B=>0xF377,
-0xE26C=>0xF378,
-0xE26D=>0xF379,
-0xE26E=>0xF37A,
-0xE26F=>0xF37B,
-0xE270=>0xF37C,
-0xE271=>0xF37D,
-0xE272=>0xF37E,
-0xE273=>0xF380,
-0xE274=>0xF381,
-0xE275=>0xF382,
-0xE276=>0xF383,
-0xE277=>0xF384,
-0xE278=>0xF385,
-0xE279=>0xF386,
-0xE27A=>0xF387,
-0xE27B=>0xF388,
-0xE27C=>0xF389,
-0xE27D=>0xF38A,
-0xE27E=>0xF38B,
-0xE27F=>0xF38C,
-0xE280=>0xF38D,
-0xE281=>0xF38E,
-0xE282=>0xF38F,
-0xE283=>0xF390,
-0xE284=>0xF391,
-0xE285=>0xF392,
-0xE286=>0xF393,
-0xE287=>0xF394,
-0xE288=>0xF395,
-0xE289=>0xF396,
-0xE28A=>0xF397,
-0xE28B=>0xF398,
-0xE28C=>0xF399,
-0xE28D=>0xF39A,
-0xE28E=>0xF39B,
-0xE28F=>0xF39C,
-0xE290=>0xF39D,
-0xE291=>0xF39E,
-0xE292=>0xF39F,
-0xE293=>0xF3A0,
-0xE294=>0xF3A1,
-0xE295=>0xF3A2,
-0xE296=>0xF3A3,
-0xE297=>0xF3A4,
-0xE298=>0xF3A5,
-0xE299=>0xF3A6,
-0xE29A=>0xF3A7,
-0xE29B=>0xF3A8,
-0xE29C=>0xF3A9,
-0xE29D=>0xF3AA,
-0xE29E=>0xF3AB,
-0xE29F=>0xF3AC,
-0xE2A0=>0xF3AD,
-0xE2A1=>0xF3AE,
-0xE2A2=>0xF3AF,
-0xE2A3=>0xF3B0,
-0xE2A4=>0xF3B1,
-0xE2A5=>0xF3B2,
-0xE2A6=>0xF3B3,
-0xE2A7=>0xF3B4,
-0xE2A8=>0xF3B5,
-0xE2A9=>0xF3B6,
-0xE2AA=>0xF3B7,
-0xE2AB=>0xF3B8,
-0xE2AC=>0xF3B9,
-0xE2AD=>0xF3BA,
-0xE2AE=>0xF3BB,
-0xE2AF=>0xF3BC,
-0xE2B0=>0xF3BD,
-0xE2B1=>0xF3BE,
-0xE2B2=>0xF3BF,
-0xE2B3=>0xF3C0,
-0xE2B4=>0xF3C1,
-0xE2B5=>0xF3C2,
-0xE2B6=>0xF3C3,
-0xE2B7=>0xF3C4,
-0xE2B8=>0xF3C5,
-0xE2B9=>0xF3C6,
-0xE2BA=>0xF3C7,
-0xE2BB=>0xF3C8,
-0xE2BC=>0xF3C9,
-0xE2BD=>0xF3CA,
-0xE2BE=>0xF3CB,
-0xE2BF=>0xF3CC,
-0xE2C0=>0xF3CD,
-0xE2C1=>0xF3CE,
-0xE2C2=>0xF3CF,
-0xE2C3=>0xF3D0,
-0xE2C4=>0xF3D1,
-0xE2C5=>0xF3D2,
-0xE2C6=>0xF3D3,
-0xE2C7=>0xF3D4,
-0xE2C8=>0xF3D5,
-0xE2C9=>0xF3D6,
-0xE2CA=>0xF3D7,
-0xE2CB=>0xF3D8,
-0xE2CC=>0xF3D9,
-0xE2CD=>0xF3DA,
-0xE2CE=>0xF3DB,
-0xE2CF=>0xF3DC,
-0xE2D0=>0xF3DD,
-0xE2D1=>0xF3DE,
-0xE2D2=>0xF3DF,
-0xE2D3=>0xF3E0,
-0xE2D4=>0xF3E1,
-0xE2D5=>0xF3E2,
-0xE2D6=>0xF3E3,
-0xE2D7=>0xF3E4,
-0xE2D8=>0xF3E5,
-0xE2D9=>0xF3E6,
-0xE2DA=>0xF3E7,
-0xE2DB=>0xF3E8,
-0xE2DC=>0xF3E9,
-0xE2DD=>0xF3EA,
-0xE2DE=>0xF3EB,
-0xE2DF=>0xF3EC,
-0xE2E0=>0xF3ED,
-0xE2E1=>0xF3EE,
-0xE2E2=>0xF3EF,
-0xE2E3=>0xF3F0,
-0xE2E4=>0xF3F1,
-0xE2E5=>0xF3F2,
-0xE2E6=>0xF3F3,
-0xE2E7=>0xF3F4,
-0xE2E8=>0xF3F5,
-0xE2E9=>0xF3F6,
-0xE2EA=>0xF3F7,
-0xE2EB=>0xF3F8,
-0xE2EC=>0xF3F9,
-0xE2ED=>0xF3FA,
-0xE2EE=>0xF3FB,
-0xE2EF=>0xF3FC,
-0xE2F0=>0xF440,
-0xE2F1=>0xF441,
-0xE2F2=>0xF442,
-0xE2F3=>0xF443,
-0xE2F4=>0xF444,
-0xE2F5=>0xF445,
-0xE2F6=>0xF446,
-0xE2F7=>0xF447,
-0xE2F8=>0xF448,
-0xE2F9=>0xF449,
-0xE2FA=>0xF44A,
-0xE2FB=>0xF44B,
-0xE2FC=>0xF44C,
-0xE2FD=>0xF44D,
-0xE2FE=>0xF44E,
-0xE2FF=>0xF44F,
-0xE300=>0xF450,
-0xE301=>0xF451,
-0xE302=>0xF452,
-0xE303=>0xF453,
-0xE304=>0xF454,
-0xE305=>0xF455,
-0xE306=>0xF456,
-0xE307=>0xF457,
-0xE308=>0xF458,
-0xE309=>0xF459,
-0xE30A=>0xF45A,
-0xE30B=>0xF45B,
-0xE30C=>0xF45C,
-0xE30D=>0xF45D,
-0xE30E=>0xF45E,
-0xE30F=>0xF45F,
-0xE310=>0xF460,
-0xE311=>0xF461,
-0xE312=>0xF462,
-0xE313=>0xF463,
-0xE314=>0xF464,
-0xE315=>0xF465,
-0xE316=>0xF466,
-0xE317=>0xF467,
-0xE318=>0xF468,
-0xE319=>0xF469,
-0xE31A=>0xF46A,
-0xE31B=>0xF46B,
-0xE31C=>0xF46C,
-0xE31D=>0xF46D,
-0xE31E=>0xF46E,
-0xE31F=>0xF46F,
-0xE320=>0xF470,
-0xE321=>0xF471,
-0xE322=>0xF472,
-0xE323=>0xF473,
-0xE324=>0xF474,
-0xE325=>0xF475,
-0xE326=>0xF476,
-0xE327=>0xF477,
-0xE328=>0xF478,
-0xE329=>0xF479,
-0xE32A=>0xF47A,
-0xE32B=>0xF47B,
-0xE32C=>0xF47C,
-0xE32D=>0xF47D,
-0xE32E=>0xF47E,
-0xE32F=>0xF480,
-0xE330=>0xF481,
-0xE331=>0xF482,
-0xE332=>0xF483,
-0xE333=>0xF484,
-0xE334=>0xF485,
-0xE335=>0xF486,
-0xE336=>0xF487,
-0xE337=>0xF488,
-0xE338=>0xF489,
-0xE339=>0xF48A,
-0xE33A=>0xF48B,
-0xE33B=>0xF48C,
-0xE33C=>0xF48D,
-0xE33D=>0xF48E,
-0xE33E=>0xF48F,
-0xE33F=>0xF490,
-0xE340=>0xF491,
-0xE341=>0xF492,
-0xE342=>0xF493,
-0xE343=>0xF494,
-0xE344=>0xF495,
-0xE345=>0xF496,
-0xE346=>0xF497,
-0xE347=>0xF498,
-0xE348=>0xF499,
-0xE349=>0xF49A,
-0xE34A=>0xF49B,
-0xE34B=>0xF49C,
-0xE34C=>0xF49D,
-0xE34D=>0xF49E,
-0xE34E=>0xF49F,
-0xE34F=>0xF4A0,
-0xE350=>0xF4A1,
-0xE351=>0xF4A2,
-0xE352=>0xF4A3,
-0xE353=>0xF4A4,
-0xE354=>0xF4A5,
-0xE355=>0xF4A6,
-0xE356=>0xF4A7,
-0xE357=>0xF4A8,
-0xE358=>0xF4A9,
-0xE359=>0xF4AA,
-0xE35A=>0xF4AB,
-0xE35B=>0xF4AC,
-0xE35C=>0xF4AD,
-0xE35D=>0xF4AE,
-0xE35E=>0xF4AF,
-0xE35F=>0xF4B0,
-0xE360=>0xF4B1,
-0xE361=>0xF4B2,
-0xE362=>0xF4B3,
-0xE363=>0xF4B4,
-0xE364=>0xF4B5,
-0xE365=>0xF4B6,
-0xE366=>0xF4B7,
-0xE367=>0xF4B8,
-0xE368=>0xF4B9,
-0xE369=>0xF4BA,
-0xE36A=>0xF4BB,
-0xE36B=>0xF4BC,
-0xE36C=>0xF4BD,
-0xE36D=>0xF4BE,
-0xE36E=>0xF4BF,
-0xE36F=>0xF4C0,
-0xE370=>0xF4C1,
-0xE371=>0xF4C2,
-0xE372=>0xF4C3,
-0xE373=>0xF4C4,
-0xE374=>0xF4C5,
-0xE375=>0xF4C6,
-0xE376=>0xF4C7,
-0xE377=>0xF4C8,
-0xE378=>0xF4C9,
-0xE379=>0xF4CA,
-0xE37A=>0xF4CB,
-0xE37B=>0xF4CC,
-0xE37C=>0xF4CD,
-0xE37D=>0xF4CE,
-0xE37E=>0xF4CF,
-0xE37F=>0xF4D0,
-0xE380=>0xF4D1,
-0xE381=>0xF4D2,
-0xE382=>0xF4D3,
-0xE383=>0xF4D4,
-0xE384=>0xF4D5,
-0xE385=>0xF4D6,
-0xE386=>0xF4D7,
-0xE387=>0xF4D8,
-0xE388=>0xF4D9,
-0xE389=>0xF4DA,
-0xE38A=>0xF4DB,
-0xE38B=>0xF4DC,
-0xE38C=>0xF4DD,
-0xE38D=>0xF4DE,
-0xE38E=>0xF4DF,
-0xE38F=>0xF4E0,
-0xE390=>0xF4E1,
-0xE391=>0xF4E2,
-0xE392=>0xF4E3,
-0xE393=>0xF4E4,
-0xE394=>0xF4E5,
-0xE395=>0xF4E6,
-0xE396=>0xF4E7,
-0xE397=>0xF4E8,
-0xE398=>0xF4E9,
-0xE399=>0xF4EA,
-0xE39A=>0xF4EB,
-0xE39B=>0xF4EC,
-0xE39C=>0xF4ED,
-0xE39D=>0xF4EE,
-0xE39E=>0xF4EF,
-0xE39F=>0xF4F0,
-0xE3A0=>0xF4F1,
-0xE3A1=>0xF4F2,
-0xE3A2=>0xF4F3,
-0xE3A3=>0xF4F4,
-0xE3A4=>0xF4F5,
-0xE3A5=>0xF4F6,
-0xE3A6=>0xF4F7,
-0xE3A7=>0xF4F8,
-0xE3A8=>0xF4F9,
-0xE3A9=>0xF4FA,
-0xE3AA=>0xF4FB,
-0xE3AB=>0xF4FC,
-0xE3AC=>0xF540,
-0xE3AD=>0xF541,
-0xE3AE=>0xF542,
-0xE3AF=>0xF543,
-0xE3B0=>0xF544,
-0xE3B1=>0xF545,
-0xE3B2=>0xF546,
-0xE3B3=>0xF547,
-0xE3B4=>0xF548,
-0xE3B5=>0xF549,
-0xE3B6=>0xF54A,
-0xE3B7=>0xF54B,
-0xE3B8=>0xF54C,
-0xE3B9=>0xF54D,
-0xE3BA=>0xF54E,
-0xE3BB=>0xF54F,
-0xE3BC=>0xF550,
-0xE3BD=>0xF551,
-0xE3BE=>0xF552,
-0xE3BF=>0xF553,
-0xE3C0=>0xF554,
-0xE3C1=>0xF555,
-0xE3C2=>0xF556,
-0xE3C3=>0xF557,
-0xE3C4=>0xF558,
-0xE3C5=>0xF559,
-0xE3C6=>0xF55A,
-0xE3C7=>0xF55B,
-0xE3C8=>0xF55C,
-0xE3C9=>0xF55D,
-0xE3CA=>0xF55E,
-0xE3CB=>0xF55F,
-0xE3CC=>0xF560,
-0xE3CD=>0xF561,
-0xE3CE=>0xF562,
-0xE3CF=>0xF563,
-0xE3D0=>0xF564,
-0xE3D1=>0xF565,
-0xE3D2=>0xF566,
-0xE3D3=>0xF567,
-0xE3D4=>0xF568,
-0xE3D5=>0xF569,
-0xE3D6=>0xF56A,
-0xE3D7=>0xF56B,
-0xE3D8=>0xF56C,
-0xE3D9=>0xF56D,
-0xE3DA=>0xF56E,
-0xE3DB=>0xF56F,
-0xE3DC=>0xF570,
-0xE3DD=>0xF571,
-0xE3DE=>0xF572,
-0xE3DF=>0xF573,
-0xE3E0=>0xF574,
-0xE3E1=>0xF575,
-0xE3E2=>0xF576,
-0xE3E3=>0xF577,
-0xE3E4=>0xF578,
-0xE3E5=>0xF579,
-0xE3E6=>0xF57A,
-0xE3E7=>0xF57B,
-0xE3E8=>0xF57C,
-0xE3E9=>0xF57D,
-0xE3EA=>0xF57E,
-0xE3EB=>0xF580,
-0xE3EC=>0xF581,
-0xE3ED=>0xF582,
-0xE3EE=>0xF583,
-0xE3EF=>0xF584,
-0xE3F0=>0xF585,
-0xE3F1=>0xF586,
-0xE3F2=>0xF587,
-0xE3F3=>0xF588,
-0xE3F4=>0xF589,
-0xE3F5=>0xF58A,
-0xE3F6=>0xF58B,
-0xE3F7=>0xF58C,
-0xE3F8=>0xF58D,
-0xE3F9=>0xF58E,
-0xE3FA=>0xF58F,
-0xE3FB=>0xF590,
-0xE3FC=>0xF591,
-0xE3FD=>0xF592,
-0xE3FE=>0xF593,
-0xE3FF=>0xF594,
-0xE400=>0xF595,
-0xE401=>0xF596,
-0xE402=>0xF597,
-0xE403=>0xF598,
-0xE404=>0xF599,
-0xE405=>0xF59A,
-0xE406=>0xF59B,
-0xE407=>0xF59C,
-0xE408=>0xF59D,
-0xE409=>0xF59E,
-0xE40A=>0xF59F,
-0xE40B=>0xF5A0,
-0xE40C=>0xF5A1,
-0xE40D=>0xF5A2,
-0xE40E=>0xF5A3,
-0xE40F=>0xF5A4,
-0xE410=>0xF5A5,
-0xE411=>0xF5A6,
-0xE412=>0xF5A7,
-0xE413=>0xF5A8,
-0xE414=>0xF5A9,
-0xE415=>0xF5AA,
-0xE416=>0xF5AB,
-0xE417=>0xF5AC,
-0xE418=>0xF5AD,
-0xE419=>0xF5AE,
-0xE41A=>0xF5AF,
-0xE41B=>0xF5B0,
-0xE41C=>0xF5B1,
-0xE41D=>0xF5B2,
-0xE41E=>0xF5B3,
-0xE41F=>0xF5B4,
-0xE420=>0xF5B5,
-0xE421=>0xF5B6,
-0xE422=>0xF5B7,
-0xE423=>0xF5B8,
-0xE424=>0xF5B9,
-0xE425=>0xF5BA,
-0xE426=>0xF5BB,
-0xE427=>0xF5BC,
-0xE428=>0xF5BD,
-0xE429=>0xF5BE,
-0xE42A=>0xF5BF,
-0xE42B=>0xF5C0,
-0xE42C=>0xF5C1,
-0xE42D=>0xF5C2,
-0xE42E=>0xF5C3,
-0xE42F=>0xF5C4,
-0xE430=>0xF5C5,
-0xE431=>0xF5C6,
-0xE432=>0xF5C7,
-0xE433=>0xF5C8,
-0xE434=>0xF5C9,
-0xE435=>0xF5CA,
-0xE436=>0xF5CB,
-0xE437=>0xF5CC,
-0xE438=>0xF5CD,
-0xE439=>0xF5CE,
-0xE43A=>0xF5CF,
-0xE43B=>0xF5D0,
-0xE43C=>0xF5D1,
-0xE43D=>0xF5D2,
-0xE43E=>0xF5D3,
-0xE43F=>0xF5D4,
-0xE440=>0xF5D5,
-0xE441=>0xF5D6,
-0xE442=>0xF5D7,
-0xE443=>0xF5D8,
-0xE444=>0xF5D9,
-0xE445=>0xF5DA,
-0xE446=>0xF5DB,
-0xE447=>0xF5DC,
-0xE448=>0xF5DD,
-0xE449=>0xF5DE,
-0xE44A=>0xF5DF,
-0xE44B=>0xF5E0,
-0xE44C=>0xF5E1,
-0xE44D=>0xF5E2,
-0xE44E=>0xF5E3,
-0xE44F=>0xF5E4,
-0xE450=>0xF5E5,
-0xE451=>0xF5E6,
-0xE452=>0xF5E7,
-0xE453=>0xF5E8,
-0xE454=>0xF5E9,
-0xE455=>0xF5EA,
-0xE456=>0xF5EB,
-0xE457=>0xF5EC,
-0xE458=>0xF5ED,
-0xE459=>0xF5EE,
-0xE45A=>0xF5EF,
-0xE45B=>0xF5F0,
-0xE45C=>0xF5F1,
-0xE45D=>0xF5F2,
-0xE45E=>0xF5F3,
-0xE45F=>0xF5F4,
-0xE460=>0xF5F5,
-0xE461=>0xF5F6,
-0xE462=>0xF5F7,
-0xE463=>0xF5F8,
-0xE464=>0xF5F9,
-0xE465=>0xF5FA,
-0xE466=>0xF5FB,
-0xE467=>0xF5FC,
-0xE468=>0xF640,
-0xE469=>0xF641,
-0xE46A=>0xF642,
-0xE46B=>0xF643,
-0xE46C=>0xF644,
-0xE46D=>0xF645,
-0xE46E=>0xF646,
-0xE46F=>0xF647,
-0xE470=>0xF648,
-0xE471=>0xF649,
-0xE472=>0xF64A,
-0xE473=>0xF64B,
-0xE474=>0xF64C,
-0xE475=>0xF64D,
-0xE476=>0xF64E,
-0xE477=>0xF64F,
-0xE478=>0xF650,
-0xE479=>0xF651,
-0xE47A=>0xF652,
-0xE47B=>0xF653,
-0xE47C=>0xF654,
-0xE47D=>0xF655,
-0xE47E=>0xF656,
-0xE47F=>0xF657,
-0xE480=>0xF658,
-0xE481=>0xF659,
-0xE482=>0xF65A,
-0xE483=>0xF65B,
-0xE484=>0xF65C,
-0xE485=>0xF65D,
-0xE486=>0xF65E,
-0xE487=>0xF65F,
-0xE488=>0xF660,
-0xE489=>0xF661,
-0xE48A=>0xF662,
-0xE48B=>0xF663,
-0xE48C=>0xF664,
-0xE48D=>0xF665,
-0xE48E=>0xF666,
-0xE48F=>0xF667,
-0xE490=>0xF668,
-0xE491=>0xF669,
-0xE492=>0xF66A,
-0xE493=>0xF66B,
-0xE494=>0xF66C,
-0xE495=>0xF66D,
-0xE496=>0xF66E,
-0xE497=>0xF66F,
-0xE498=>0xF670,
-0xE499=>0xF671,
-0xE49A=>0xF672,
-0xE49B=>0xF673,
-0xE49C=>0xF674,
-0xE49D=>0xF675,
-0xE49E=>0xF676,
-0xE49F=>0xF677,
-0xE4A0=>0xF678,
-0xE4A1=>0xF679,
-0xE4A2=>0xF67A,
-0xE4A3=>0xF67B,
-0xE4A4=>0xF67C,
-0xE4A5=>0xF67D,
-0xE4A6=>0xF67E,
-0xE4A7=>0xF680,
-0xE4A8=>0xF681,
-0xE4A9=>0xF682,
-0xE4AA=>0xF683,
-0xE4AB=>0xF684,
-0xE4AC=>0xF685,
-0xE4AD=>0xF686,
-0xE4AE=>0xF687,
-0xE4AF=>0xF688,
-0xE4B0=>0xF689,
-0xE4B1=>0xF68A,
-0xE4B2=>0xF68B,
-0xE4B3=>0xF68C,
-0xE4B4=>0xF68D,
-0xE4B5=>0xF68E,
-0xE4B6=>0xF68F,
-0xE4B7=>0xF690,
-0xE4B8=>0xF691,
-0xE4B9=>0xF692,
-0xE4BA=>0xF693,
-0xE4BB=>0xF694,
-0xE4BC=>0xF695,
-0xE4BD=>0xF696,
-0xE4BE=>0xF697,
-0xE4BF=>0xF698,
-0xE4C0=>0xF699,
-0xE4C1=>0xF69A,
-0xE4C2=>0xF69B,
-0xE4C3=>0xF69C,
-0xE4C4=>0xF69D,
-0xE4C5=>0xF69E,
-0xE4C6=>0xF69F,
-0xE4C7=>0xF6A0,
-0xE4C8=>0xF6A1,
-0xE4C9=>0xF6A2,
-0xE4CA=>0xF6A3,
-0xE4CB=>0xF6A4,
-0xE4CC=>0xF6A5,
-0xE4CD=>0xF6A6,
-0xE4CE=>0xF6A7,
-0xE4CF=>0xF6A8,
-0xE4D0=>0xF6A9,
-0xE4D1=>0xF6AA,
-0xE4D2=>0xF6AB,
-0xE4D3=>0xF6AC,
-0xE4D4=>0xF6AD,
-0xE4D5=>0xF6AE,
-0xE4D6=>0xF6AF,
-0xE4D7=>0xF6B0,
-0xE4D8=>0xF6B1,
-0xE4D9=>0xF6B2,
-0xE4DA=>0xF6B3,
-0xE4DB=>0xF6B4,
-0xE4DC=>0xF6B5,
-0xE4DD=>0xF6B6,
-0xE4DE=>0xF6B7,
-0xE4DF=>0xF6B8,
-0xE4E0=>0xF6B9,
-0xE4E1=>0xF6BA,
-0xE4E2=>0xF6BB,
-0xE4E3=>0xF6BC,
-0xE4E4=>0xF6BD,
-0xE4E5=>0xF6BE,
-0xE4E6=>0xF6BF,
-0xE4E7=>0xF6C0,
-0xE4E8=>0xF6C1,
-0xE4E9=>0xF6C2,
-0xE4EA=>0xF6C3,
-0xE4EB=>0xF6C4,
-0xE4EC=>0xF6C5,
-0xE4ED=>0xF6C6,
-0xE4EE=>0xF6C7,
-0xE4EF=>0xF6C8,
-0xE4F0=>0xF6C9,
-0xE4F1=>0xF6CA,
-0xE4F2=>0xF6CB,
-0xE4F3=>0xF6CC,
-0xE4F4=>0xF6CD,
-0xE4F5=>0xF6CE,
-0xE4F6=>0xF6CF,
-0xE4F7=>0xF6D0,
-0xE4F8=>0xF6D1,
-0xE4F9=>0xF6D2,
-0xE4FA=>0xF6D3,
-0xE4FB=>0xF6D4,
-0xE4FC=>0xF6D5,
-0xE4FD=>0xF6D6,
-0xE4FE=>0xF6D7,
-0xE4FF=>0xF6D8,
-0xE500=>0xF6D9,
-0xE501=>0xF6DA,
-0xE502=>0xF6DB,
-0xE503=>0xF6DC,
-0xE504=>0xF6DD,
-0xE505=>0xF6DE,
-0xE506=>0xF6DF,
-0xE507=>0xF6E0,
-0xE508=>0xF6E1,
-0xE509=>0xF6E2,
-0xE50A=>0xF6E3,
-0xE50B=>0xF6E4,
-0xE50C=>0xF6E5,
-0xE50D=>0xF6E6,
-0xE50E=>0xF6E7,
-0xE50F=>0xF6E8,
-0xE510=>0xF6E9,
-0xE511=>0xF6EA,
-0xE512=>0xF6EB,
-0xE513=>0xF6EC,
-0xE514=>0xF6ED,
-0xE515=>0xF6EE,
-0xE516=>0xF6EF,
-0xE517=>0xF6F0,
-0xE518=>0xF6F1,
-0xE519=>0xF6F2,
-0xE51A=>0xF6F3,
-0xE51B=>0xF6F4,
-0xE51C=>0xF6F5,
-0xE51D=>0xF6F6,
-0xE51E=>0xF6F7,
-0xE51F=>0xF6F8,
-0xE520=>0xF6F9,
-0xE521=>0xF6FA,
-0xE522=>0xF6FB,
-0xE523=>0xF6FC,
-0xE524=>0xF740,
-0xE525=>0xF741,
-0xE526=>0xF742,
-0xE527=>0xF743,
-0xE528=>0xF744,
-0xE529=>0xF745,
-0xE52A=>0xF746,
-0xE52B=>0xF747,
-0xE52C=>0xF748,
-0xE52D=>0xF749,
-0xE52E=>0xF74A,
-0xE52F=>0xF74B,
-0xE530=>0xF74C,
-0xE531=>0xF74D,
-0xE532=>0xF74E,
-0xE533=>0xF74F,
-0xE534=>0xF750,
-0xE535=>0xF751,
-0xE536=>0xF752,
-0xE537=>0xF753,
-0xE538=>0xF754,
-0xE539=>0xF755,
-0xE53A=>0xF756,
-0xE53B=>0xF757,
-0xE53C=>0xF758,
-0xE53D=>0xF759,
-0xE53E=>0xF75A,
-0xE53F=>0xF75B,
-0xE540=>0xF75C,
-0xE541=>0xF75D,
-0xE542=>0xF75E,
-0xE543=>0xF75F,
-0xE544=>0xF760,
-0xE545=>0xF761,
-0xE546=>0xF762,
-0xE547=>0xF763,
-0xE548=>0xF764,
-0xE549=>0xF765,
-0xE54A=>0xF766,
-0xE54B=>0xF767,
-0xE54C=>0xF768,
-0xE54D=>0xF769,
-0xE54E=>0xF76A,
-0xE54F=>0xF76B,
-0xE550=>0xF76C,
-0xE551=>0xF76D,
-0xE552=>0xF76E,
-0xE553=>0xF76F,
-0xE554=>0xF770,
-0xE555=>0xF771,
-0xE556=>0xF772,
-0xE557=>0xF773,
-0xE558=>0xF774,
-0xE559=>0xF775,
-0xE55A=>0xF776,
-0xE55B=>0xF777,
-0xE55C=>0xF778,
-0xE55D=>0xF779,
-0xE55E=>0xF77A,
-0xE55F=>0xF77B,
-0xE560=>0xF77C,
-0xE561=>0xF77D,
-0xE562=>0xF77E,
-0xE563=>0xF780,
-0xE564=>0xF781,
-0xE565=>0xF782,
-0xE566=>0xF783,
-0xE567=>0xF784,
-0xE568=>0xF785,
-0xE569=>0xF786,
-0xE56A=>0xF787,
-0xE56B=>0xF788,
-0xE56C=>0xF789,
-0xE56D=>0xF78A,
-0xE56E=>0xF78B,
-0xE56F=>0xF78C,
-0xE570=>0xF78D,
-0xE571=>0xF78E,
-0xE572=>0xF78F,
-0xE573=>0xF790,
-0xE574=>0xF791,
-0xE575=>0xF792,
-0xE576=>0xF793,
-0xE577=>0xF794,
-0xE578=>0xF795,
-0xE579=>0xF796,
-0xE57A=>0xF797,
-0xE57B=>0xF798,
-0xE57C=>0xF799,
-0xE57D=>0xF79A,
-0xE57E=>0xF79B,
-0xE57F=>0xF79C,
-0xE580=>0xF79D,
-0xE581=>0xF79E,
-0xE582=>0xF79F,
-0xE583=>0xF7A0,
-0xE584=>0xF7A1,
-0xE585=>0xF7A2,
-0xE586=>0xF7A3,
-0xE587=>0xF7A4,
-0xE588=>0xF7A5,
-0xE589=>0xF7A6,
-0xE58A=>0xF7A7,
-0xE58B=>0xF7A8,
-0xE58C=>0xF7A9,
-0xE58D=>0xF7AA,
-0xE58E=>0xF7AB,
-0xE58F=>0xF7AC,
-0xE590=>0xF7AD,
-0xE591=>0xF7AE,
-0xE592=>0xF7AF,
-0xE593=>0xF7B0,
-0xE594=>0xF7B1,
-0xE595=>0xF7B2,
-0xE596=>0xF7B3,
-0xE597=>0xF7B4,
-0xE598=>0xF7B5,
-0xE599=>0xF7B6,
-0xE59A=>0xF7B7,
-0xE59B=>0xF7B8,
-0xE59C=>0xF7B9,
-0xE59D=>0xF7BA,
-0xE59E=>0xF7BB,
-0xE59F=>0xF7BC,
-0xE5A0=>0xF7BD,
-0xE5A1=>0xF7BE,
-0xE5A2=>0xF7BF,
-0xE5A3=>0xF7C0,
-0xE5A4=>0xF7C1,
-0xE5A5=>0xF7C2,
-0xE5A6=>0xF7C3,
-0xE5A7=>0xF7C4,
-0xE5A8=>0xF7C5,
-0xE5A9=>0xF7C6,
-0xE5AA=>0xF7C7,
-0xE5AB=>0xF7C8,
-0xE5AC=>0xF7C9,
-0xE5AD=>0xF7CA,
-0xE5AE=>0xF7CB,
-0xE5AF=>0xF7CC,
-0xE5B0=>0xF7CD,
-0xE5B1=>0xF7CE,
-0xE5B2=>0xF7CF,
-0xE5B3=>0xF7D0,
-0xE5B4=>0xF7D1,
-0xE5B5=>0xF7D2,
-0xE5B6=>0xF7D3,
-0xE5B7=>0xF7D4,
-0xE5B8=>0xF7D5,
-0xE5B9=>0xF7D6,
-0xE5BA=>0xF7D7,
-0xE5BB=>0xF7D8,
-0xE5BC=>0xF7D9,
-0xE5BD=>0xF7DA,
-0xE5BE=>0xF7DB,
-0xE5BF=>0xF7DC,
-0xE5C0=>0xF7DD,
-0xE5C1=>0xF7DE,
-0xE5C2=>0xF7DF,
-0xE5C3=>0xF7E0,
-0xE5C4=>0xF7E1,
-0xE5C5=>0xF7E2,
-0xE5C6=>0xF7E3,
-0xE5C7=>0xF7E4,
-0xE5C8=>0xF7E5,
-0xE5C9=>0xF7E6,
-0xE5CA=>0xF7E7,
-0xE5CB=>0xF7E8,
-0xE5CC=>0xF7E9,
-0xE5CD=>0xF7EA,
-0xE5CE=>0xF7EB,
-0xE5CF=>0xF7EC,
-0xE5D0=>0xF7ED,
-0xE5D1=>0xF7EE,
-0xE5D2=>0xF7EF,
-0xE5D3=>0xF7F0,
-0xE5D4=>0xF7F1,
-0xE5D5=>0xF7F2,
-0xE5D6=>0xF7F3,
-0xE5D7=>0xF7F4,
-0xE5D8=>0xF7F5,
-0xE5D9=>0xF7F6,
-0xE5DA=>0xF7F7,
-0xE5DB=>0xF7F8,
-0xE5DC=>0xF7F9,
-0xE5DD=>0xF7FA,
-0xE5DE=>0xF7FB,
-0xE5DF=>0xF7FC,
-0xE5E0=>0xF840,
-0xE5E1=>0xF841,
-0xE5E2=>0xF842,
-0xE5E3=>0xF843,
-0xE5E4=>0xF844,
-0xE5E5=>0xF845,
-0xE5E6=>0xF846,
-0xE5E7=>0xF847,
-0xE5E8=>0xF848,
-0xE5E9=>0xF849,
-0xE5EA=>0xF84A,
-0xE5EB=>0xF84B,
-0xE5EC=>0xF84C,
-0xE5ED=>0xF84D,
-0xE5EE=>0xF84E,
-0xE5EF=>0xF84F,
-0xE5F0=>0xF850,
-0xE5F1=>0xF851,
-0xE5F2=>0xF852,
-0xE5F3=>0xF853,
-0xE5F4=>0xF854,
-0xE5F5=>0xF855,
-0xE5F6=>0xF856,
-0xE5F7=>0xF857,
-0xE5F8=>0xF858,
-0xE5F9=>0xF859,
-0xE5FA=>0xF85A,
-0xE5FB=>0xF85B,
-0xE5FC=>0xF85C,
-0xE5FD=>0xF85D,
-0xE5FE=>0xF85E,
-0xE5FF=>0xF85F,
-0xE600=>0xF860,
-0xE601=>0xF861,
-0xE602=>0xF862,
-0xE603=>0xF863,
-0xE604=>0xF864,
-0xE605=>0xF865,
-0xE606=>0xF866,
-0xE607=>0xF867,
-0xE608=>0xF868,
-0xE609=>0xF869,
-0xE60A=>0xF86A,
-0xE60B=>0xF86B,
-0xE60C=>0xF86C,
-0xE60D=>0xF86D,
-0xE60E=>0xF86E,
-0xE60F=>0xF86F,
-0xE610=>0xF870,
-0xE611=>0xF871,
-0xE612=>0xF872,
-0xE613=>0xF873,
-0xE614=>0xF874,
-0xE615=>0xF875,
-0xE616=>0xF876,
-0xE617=>0xF877,
-0xE618=>0xF878,
-0xE619=>0xF879,
-0xE61A=>0xF87A,
-0xE61B=>0xF87B,
-0xE61C=>0xF87C,
-0xE61D=>0xF87D,
-0xE61E=>0xF87E,
-0xE61F=>0xF880,
-0xE620=>0xF881,
-0xE621=>0xF882,
-0xE622=>0xF883,
-0xE623=>0xF884,
-0xE624=>0xF885,
-0xE625=>0xF886,
-0xE626=>0xF887,
-0xE627=>0xF888,
-0xE628=>0xF889,
-0xE629=>0xF88A,
-0xE62A=>0xF88B,
-0xE62B=>0xF88C,
-0xE62C=>0xF88D,
-0xE62D=>0xF88E,
-0xE62E=>0xF88F,
-0xE62F=>0xF890,
-0xE630=>0xF891,
-0xE631=>0xF892,
-0xE632=>0xF893,
-0xE633=>0xF894,
-0xE634=>0xF895,
-0xE635=>0xF896,
-0xE636=>0xF897,
-0xE637=>0xF898,
-0xE638=>0xF899,
-0xE639=>0xF89A,
-0xE63A=>0xF89B,
-0xE63B=>0xF89C,
-0xE63C=>0xF89D,
-0xE63D=>0xF89E,
-0xE63E=>0xF89F,
-0xE63F=>0xF8A0,
-0xE640=>0xF8A1,
-0xE641=>0xF8A2,
-0xE642=>0xF8A3,
-0xE643=>0xF8A4,
-0xE644=>0xF8A5,
-0xE645=>0xF8A6,
-0xE646=>0xF8A7,
-0xE647=>0xF8A8,
-0xE648=>0xF8A9,
-0xE649=>0xF8AA,
-0xE64A=>0xF8AB,
-0xE64B=>0xF8AC,
-0xE64C=>0xF8AD,
-0xE64D=>0xF8AE,
-0xE64E=>0xF8AF,
-0xE64F=>0xF8B0,
-0xE650=>0xF8B1,
-0xE651=>0xF8B2,
-0xE652=>0xF8B3,
-0xE653=>0xF8B4,
-0xE654=>0xF8B5,
-0xE655=>0xF8B6,
-0xE656=>0xF8B7,
-0xE657=>0xF8B8,
-0xE658=>0xF8B9,
-0xE659=>0xF8BA,
-0xE65A=>0xF8BB,
-0xE65B=>0xF8BC,
-0xE65C=>0xF8BD,
-0xE65D=>0xF8BE,
-0xE65E=>0xF8BF,
-0xE65F=>0xF8C0,
-0xE660=>0xF8C1,
-0xE661=>0xF8C2,
-0xE662=>0xF8C3,
-0xE663=>0xF8C4,
-0xE664=>0xF8C5,
-0xE665=>0xF8C6,
-0xE666=>0xF8C7,
-0xE667=>0xF8C8,
-0xE668=>0xF8C9,
-0xE669=>0xF8CA,
-0xE66A=>0xF8CB,
-0xE66B=>0xF8CC,
-0xE66C=>0xF8CD,
-0xE66D=>0xF8CE,
-0xE66E=>0xF8CF,
-0xE66F=>0xF8D0,
-0xE670=>0xF8D1,
-0xE671=>0xF8D2,
-0xE672=>0xF8D3,
-0xE673=>0xF8D4,
-0xE674=>0xF8D5,
-0xE675=>0xF8D6,
-0xE676=>0xF8D7,
-0xE677=>0xF8D8,
-0xE678=>0xF8D9,
-0xE679=>0xF8DA,
-0xE67A=>0xF8DB,
-0xE67B=>0xF8DC,
-0xE67C=>0xF8DD,
-0xE67D=>0xF8DE,
-0xE67E=>0xF8DF,
-0xE67F=>0xF8E0,
-0xE680=>0xF8E1,
-0xE681=>0xF8E2,
-0xE682=>0xF8E3,
-0xE683=>0xF8E4,
-0xE684=>0xF8E5,
-0xE685=>0xF8E6,
-0xE686=>0xF8E7,
-0xE687=>0xF8E8,
-0xE688=>0xF8E9,
-0xE689=>0xF8EA,
-0xE68A=>0xF8EB,
-0xE68B=>0xF8EC,
-0xE68C=>0xF8ED,
-0xE68D=>0xF8EE,
-0xE68E=>0xF8EF,
-0xE68F=>0xF8F0,
-0xE690=>0xF8F1,
-0xE691=>0xF8F2,
-0xE692=>0xF8F3,
-0xE693=>0xF8F4,
-0xE694=>0xF8F5,
-0xE695=>0xF8F6,
-0xE696=>0xF8F7,
-0xE697=>0xF8F8,
-0xE698=>0xF8F9,
-0xE699=>0xF8FA,
-0xE69A=>0xF8FB,
-0xE69B=>0xF8FC,
-0xE69C=>0xF940,
-0xE69D=>0xF941,
-0xE69E=>0xF942,
-0xE69F=>0xF943,
-0xE6A0=>0xF944,
-0xE6A1=>0xF945,
-0xE6A2=>0xF946,
-0xE6A3=>0xF947,
-0xE6A4=>0xF948,
-0xE6A5=>0xF949,
-0xE6A6=>0xF94A,
-0xE6A7=>0xF94B,
-0xE6A8=>0xF94C,
-0xE6A9=>0xF94D,
-0xE6AA=>0xF94E,
-0xE6AB=>0xF94F,
-0xE6AC=>0xF950,
-0xE6AD=>0xF951,
-0xE6AE=>0xF952,
-0xE6AF=>0xF953,
-0xE6B0=>0xF954,
-0xE6B1=>0xF955,
-0xE6B2=>0xF956,
-0xE6B3=>0xF957,
-0xE6B4=>0xF958,
-0xE6B5=>0xF959,
-0xE6B6=>0xF95A,
-0xE6B7=>0xF95B,
-0xE6B8=>0xF95C,
-0xE6B9=>0xF95D,
-0xE6BA=>0xF95E,
-0xE6BB=>0xF95F,
-0xE6BC=>0xF960,
-0xE6BD=>0xF961,
-0xE6BE=>0xF962,
-0xE6BF=>0xF963,
-0xE6C0=>0xF964,
-0xE6C1=>0xF965,
-0xE6C2=>0xF966,
-0xE6C3=>0xF967,
-0xE6C4=>0xF968,
-0xE6C5=>0xF969,
-0xE6C6=>0xF96A,
-0xE6C7=>0xF96B,
-0xE6C8=>0xF96C,
-0xE6C9=>0xF96D,
-0xE6CA=>0xF96E,
-0xE6CB=>0xF96F,
-0xE6CC=>0xF970,
-0xE6CD=>0xF971,
-0xE6CE=>0xF972,
-0xE6CF=>0xF973,
-0xE6D0=>0xF974,
-0xE6D1=>0xF975,
-0xE6D2=>0xF976,
-0xE6D3=>0xF977,
-0xE6D4=>0xF978,
-0xE6D5=>0xF979,
-0xE6D6=>0xF97A,
-0xE6D7=>0xF97B,
-0xE6D8=>0xF97C,
-0xE6D9=>0xF97D,
-0xE6DA=>0xF97E,
-0xE6DB=>0xF980,
-0xE6DC=>0xF981,
-0xE6DD=>0xF982,
-0xE6DE=>0xF983,
-0xE6DF=>0xF984,
-0xE6E0=>0xF985,
-0xE6E1=>0xF986,
-0xE6E2=>0xF987,
-0xE6E3=>0xF988,
-0xE6E4=>0xF989,
-0xE6E5=>0xF98A,
-0xE6E6=>0xF98B,
-0xE6E7=>0xF98C,
-0xE6E8=>0xF98D,
-0xE6E9=>0xF98E,
-0xE6EA=>0xF98F,
-0xE6EB=>0xF990,
-0xE6EC=>0xF991,
-0xE6ED=>0xF992,
-0xE6EE=>0xF993,
-0xE6EF=>0xF994,
-0xE6F0=>0xF995,
-0xE6F1=>0xF996,
-0xE6F2=>0xF997,
-0xE6F3=>0xF998,
-0xE6F4=>0xF999,
-0xE6F5=>0xF99A,
-0xE6F6=>0xF99B,
-0xE6F7=>0xF99C,
-0xE6F8=>0xF99D,
-0xE6F9=>0xF99E,
-0xE6FA=>0xF99F,
-0xE6FB=>0xF9A0,
-0xE6FC=>0xF9A1,
-0xE6FD=>0xF9A2,
-0xE6FE=>0xF9A3,
-0xE6FF=>0xF9A4,
-0xE700=>0xF9A5,
-0xE701=>0xF9A6,
-0xE702=>0xF9A7,
-0xE703=>0xF9A8,
-0xE704=>0xF9A9,
-0xE705=>0xF9AA,
-0xE706=>0xF9AB,
-0xE707=>0xF9AC,
-0xE708=>0xF9AD,
-0xE709=>0xF9AE,
-0xE70A=>0xF9AF,
-0xE70B=>0xF9B0,
-0xE70C=>0xF9B1,
-0xE70D=>0xF9B2,
-0xE70E=>0xF9B3,
-0xE70F=>0xF9B4,
-0xE710=>0xF9B5,
-0xE711=>0xF9B6,
-0xE712=>0xF9B7,
-0xE713=>0xF9B8,
-0xE714=>0xF9B9,
-0xE715=>0xF9BA,
-0xE716=>0xF9BB,
-0xE717=>0xF9BC,
-0xE718=>0xF9BD,
-0xE719=>0xF9BE,
-0xE71A=>0xF9BF,
-0xE71B=>0xF9C0,
-0xE71C=>0xF9C1,
-0xE71D=>0xF9C2,
-0xE71E=>0xF9C3,
-0xE71F=>0xF9C4,
-0xE720=>0xF9C5,
-0xE721=>0xF9C6,
-0xE722=>0xF9C7,
-0xE723=>0xF9C8,
-0xE724=>0xF9C9,
-0xE725=>0xF9CA,
-0xE726=>0xF9CB,
-0xE727=>0xF9CC,
-0xE728=>0xF9CD,
-0xE729=>0xF9CE,
-0xE72A=>0xF9CF,
-0xE72B=>0xF9D0,
-0xE72C=>0xF9D1,
-0xE72D=>0xF9D2,
-0xE72E=>0xF9D3,
-0xE72F=>0xF9D4,
-0xE730=>0xF9D5,
-0xE731=>0xF9D6,
-0xE732=>0xF9D7,
-0xE733=>0xF9D8,
-0xE734=>0xF9D9,
-0xE735=>0xF9DA,
-0xE736=>0xF9DB,
-0xE737=>0xF9DC,
-0xE738=>0xF9DD,
-0xE739=>0xF9DE,
-0xE73A=>0xF9DF,
-0xE73B=>0xF9E0,
-0xE73C=>0xF9E1,
-0xE73D=>0xF9E2,
-0xE73E=>0xF9E3,
-0xE73F=>0xF9E4,
-0xE740=>0xF9E5,
-0xE741=>0xF9E6,
-0xE742=>0xF9E7,
-0xE743=>0xF9E8,
-0xE744=>0xF9E9,
-0xE745=>0xF9EA,
-0xE746=>0xF9EB,
-0xE747=>0xF9EC,
-0xE748=>0xF9ED,
-0xE749=>0xF9EE,
-0xE74A=>0xF9EF,
-0xE74B=>0xF9F0,
-0xE74C=>0xF9F1,
-0xE74D=>0xF9F2,
-0xE74E=>0xF9F3,
-0xE74F=>0xF9F4,
-0xE750=>0xF9F5,
-0xE751=>0xF9F6,
-0xE752=>0xF9F7,
-0xE753=>0xF9F8,
-0xE754=>0xF9F9,
-0xE755=>0xF9FA,
-0xE756=>0xF9FB,
-0xE757=>0xF9FC,
-0x2170=>0xFA40,
-0x2171=>0xFA41,
-0x2172=>0xFA42,
-0x2173=>0xFA43,
-0x2174=>0xFA44,
-0x2175=>0xFA45,
-0x2176=>0xFA46,
-0x2177=>0xFA47,
-0x2178=>0xFA48,
-0x2179=>0xFA49,
-0x2160=>0xFA4A,
-0x2161=>0xFA4B,
-0x2162=>0xFA4C,
-0x2163=>0xFA4D,
-0x2164=>0xFA4E,
-0x2165=>0xFA4F,
-0x2166=>0xFA50,
-0x2167=>0xFA51,
-0x2168=>0xFA52,
-0x2169=>0xFA53,
-0xFFE2=>0xFA54,
-0xFFE4=>0xFA55,
-0xFF07=>0xFA56,
-0xFF02=>0xFA57,
-0x3231=>0xFA58,
-0x2116=>0xFA59,
-0x2121=>0xFA5A,
-0x2235=>0xFA5B,
-0x7E8A=>0xFA5C,
-0x891C=>0xFA5D,
-0x9348=>0xFA5E,
-0x9288=>0xFA5F,
-0x84DC=>0xFA60,
-0x4FC9=>0xFA61,
-0x70BB=>0xFA62,
-0x6631=>0xFA63,
-0x68C8=>0xFA64,
-0x92F9=>0xFA65,
-0x66FB=>0xFA66,
-0x5F45=>0xFA67,
-0x4E28=>0xFA68,
-0x4EE1=>0xFA69,
-0x4EFC=>0xFA6A,
-0x4F00=>0xFA6B,
-0x4F03=>0xFA6C,
-0x4F39=>0xFA6D,
-0x4F56=>0xFA6E,
-0x4F92=>0xFA6F,
-0x4F8A=>0xFA70,
-0x4F9A=>0xFA71,
-0x4F94=>0xFA72,
-0x4FCD=>0xFA73,
-0x5040=>0xFA74,
-0x5022=>0xFA75,
-0x4FFF=>0xFA76,
-0x501E=>0xFA77,
-0x5046=>0xFA78,
-0x5070=>0xFA79,
-0x5042=>0xFA7A,
-0x5094=>0xFA7B,
-0x50F4=>0xFA7C,
-0x50D8=>0xFA7D,
-0x514A=>0xFA7E,
-0x5164=>0xFA80,
-0x519D=>0xFA81,
-0x51BE=>0xFA82,
-0x51EC=>0xFA83,
-0x5215=>0xFA84,
-0x529C=>0xFA85,
-0x52A6=>0xFA86,
-0x52C0=>0xFA87,
-0x52DB=>0xFA88,
-0x5300=>0xFA89,
-0x5307=>0xFA8A,
-0x5324=>0xFA8B,
-0x5372=>0xFA8C,
-0x5393=>0xFA8D,
-0x53B2=>0xFA8E,
-0x53DD=>0xFA8F,
-0xFA0E=>0xFA90,
-0x549C=>0xFA91,
-0x548A=>0xFA92,
-0x54A9=>0xFA93,
-0x54FF=>0xFA94,
-0x5586=>0xFA95,
-0x5759=>0xFA96,
-0x5765=>0xFA97,
-0x57AC=>0xFA98,
-0x57C8=>0xFA99,
-0x57C7=>0xFA9A,
-0xFA0F=>0xFA9B,
-0xFA10=>0xFA9C,
-0x589E=>0xFA9D,
-0x58B2=>0xFA9E,
-0x590B=>0xFA9F,
-0x5953=>0xFAA0,
-0x595B=>0xFAA1,
-0x595D=>0xFAA2,
-0x5963=>0xFAA3,
-0x59A4=>0xFAA4,
-0x59BA=>0xFAA5,
-0x5B56=>0xFAA6,
-0x5BC0=>0xFAA7,
-0x752F=>0xFAA8,
-0x5BD8=>0xFAA9,
-0x5BEC=>0xFAAA,
-0x5C1E=>0xFAAB,
-0x5CA6=>0xFAAC,
-0x5CBA=>0xFAAD,
-0x5CF5=>0xFAAE,
-0x5D27=>0xFAAF,
-0x5D53=>0xFAB0,
-0xFA11=>0xFAB1,
-0x5D42=>0xFAB2,
-0x5D6D=>0xFAB3,
-0x5DB8=>0xFAB4,
-0x5DB9=>0xFAB5,
-0x5DD0=>0xFAB6,
-0x5F21=>0xFAB7,
-0x5F34=>0xFAB8,
-0x5F67=>0xFAB9,
-0x5FB7=>0xFABA,
-0x5FDE=>0xFABB,
-0x605D=>0xFABC,
-0x6085=>0xFABD,
-0x608A=>0xFABE,
-0x60DE=>0xFABF,
-0x60D5=>0xFAC0,
-0x6120=>0xFAC1,
-0x60F2=>0xFAC2,
-0x6111=>0xFAC3,
-0x6137=>0xFAC4,
-0x6130=>0xFAC5,
-0x6198=>0xFAC6,
-0x6213=>0xFAC7,
-0x62A6=>0xFAC8,
-0x63F5=>0xFAC9,
-0x6460=>0xFACA,
-0x649D=>0xFACB,
-0x64CE=>0xFACC,
-0x654E=>0xFACD,
-0x6600=>0xFACE,
-0x6615=>0xFACF,
-0x663B=>0xFAD0,
-0x6609=>0xFAD1,
-0x662E=>0xFAD2,
-0x661E=>0xFAD3,
-0x6624=>0xFAD4,
-0x6665=>0xFAD5,
-0x6657=>0xFAD6,
-0x6659=>0xFAD7,
-0xFA12=>0xFAD8,
-0x6673=>0xFAD9,
-0x6699=>0xFADA,
-0x66A0=>0xFADB,
-0x66B2=>0xFADC,
-0x66BF=>0xFADD,
-0x66FA=>0xFADE,
-0x670E=>0xFADF,
-0xF929=>0xFAE0,
-0x6766=>0xFAE1,
-0x67BB=>0xFAE2,
-0x6852=>0xFAE3,
-0x67C0=>0xFAE4,
-0x6801=>0xFAE5,
-0x6844=>0xFAE6,
-0x68CF=>0xFAE7,
-0xFA13=>0xFAE8,
-0x6968=>0xFAE9,
-0xFA14=>0xFAEA,
-0x6998=>0xFAEB,
-0x69E2=>0xFAEC,
-0x6A30=>0xFAED,
-0x6A6B=>0xFAEE,
-0x6A46=>0xFAEF,
-0x6A73=>0xFAF0,
-0x6A7E=>0xFAF1,
-0x6AE2=>0xFAF2,
-0x6AE4=>0xFAF3,
-0x6BD6=>0xFAF4,
-0x6C3F=>0xFAF5,
-0x6C5C=>0xFAF6,
-0x6C86=>0xFAF7,
-0x6C6F=>0xFAF8,
-0x6CDA=>0xFAF9,
-0x6D04=>0xFAFA,
-0x6D87=>0xFAFB,
-0x6D6F=>0xFAFC,
-0x6D96=>0xFB40,
-0x6DAC=>0xFB41,
-0x6DCF=>0xFB42,
-0x6DF8=>0xFB43,
-0x6DF2=>0xFB44,
-0x6DFC=>0xFB45,
-0x6E39=>0xFB46,
-0x6E5C=>0xFB47,
-0x6E27=>0xFB48,
-0x6E3C=>0xFB49,
-0x6EBF=>0xFB4A,
-0x6F88=>0xFB4B,
-0x6FB5=>0xFB4C,
-0x6FF5=>0xFB4D,
-0x7005=>0xFB4E,
-0x7007=>0xFB4F,
-0x7028=>0xFB50,
-0x7085=>0xFB51,
-0x70AB=>0xFB52,
-0x710F=>0xFB53,
-0x7104=>0xFB54,
-0x715C=>0xFB55,
-0x7146=>0xFB56,
-0x7147=>0xFB57,
-0xFA15=>0xFB58,
-0x71C1=>0xFB59,
-0x71FE=>0xFB5A,
-0x72B1=>0xFB5B,
-0x72BE=>0xFB5C,
-0x7324=>0xFB5D,
-0xFA16=>0xFB5E,
-0x7377=>0xFB5F,
-0x73BD=>0xFB60,
-0x73C9=>0xFB61,
-0x73D6=>0xFB62,
-0x73E3=>0xFB63,
-0x73D2=>0xFB64,
-0x7407=>0xFB65,
-0x73F5=>0xFB66,
-0x7426=>0xFB67,
-0x742A=>0xFB68,
-0x7429=>0xFB69,
-0x742E=>0xFB6A,
-0x7462=>0xFB6B,
-0x7489=>0xFB6C,
-0x749F=>0xFB6D,
-0x7501=>0xFB6E,
-0x756F=>0xFB6F,
-0x7682=>0xFB70,
-0x769C=>0xFB71,
-0x769E=>0xFB72,
-0x769B=>0xFB73,
-0x76A6=>0xFB74,
-0xFA17=>0xFB75,
-0x7746=>0xFB76,
-0x52AF=>0xFB77,
-0x7821=>0xFB78,
-0x784E=>0xFB79,
-0x7864=>0xFB7A,
-0x787A=>0xFB7B,
-0x7930=>0xFB7C,
-0xFA18=>0xFB7D,
-0xFA19=>0xFB7E,
-0xFA1A=>0xFB80,
-0x7994=>0xFB81,
-0xFA1B=>0xFB82,
-0x799B=>0xFB83,
-0x7AD1=>0xFB84,
-0x7AE7=>0xFB85,
-0xFA1C=>0xFB86,
-0x7AEB=>0xFB87,
-0x7B9E=>0xFB88,
-0xFA1D=>0xFB89,
-0x7D48=>0xFB8A,
-0x7D5C=>0xFB8B,
-0x7DB7=>0xFB8C,
-0x7DA0=>0xFB8D,
-0x7DD6=>0xFB8E,
-0x7E52=>0xFB8F,
-0x7F47=>0xFB90,
-0x7FA1=>0xFB91,
-0xFA1E=>0xFB92,
-0x8301=>0xFB93,
-0x8362=>0xFB94,
-0x837F=>0xFB95,
-0x83C7=>0xFB96,
-0x83F6=>0xFB97,
-0x8448=>0xFB98,
-0x84B4=>0xFB99,
-0x8553=>0xFB9A,
-0x8559=>0xFB9B,
-0x856B=>0xFB9C,
-0xFA1F=>0xFB9D,
-0x85B0=>0xFB9E,
-0xFA20=>0xFB9F,
-0xFA21=>0xFBA0,
-0x8807=>0xFBA1,
-0x88F5=>0xFBA2,
-0x8A12=>0xFBA3,
-0x8A37=>0xFBA4,
-0x8A79=>0xFBA5,
-0x8AA7=>0xFBA6,
-0x8ABE=>0xFBA7,
-0x8ADF=>0xFBA8,
-0xFA22=>0xFBA9,
-0x8AF6=>0xFBAA,
-0x8B53=>0xFBAB,
-0x8B7F=>0xFBAC,
-0x8CF0=>0xFBAD,
-0x8CF4=>0xFBAE,
-0x8D12=>0xFBAF,
-0x8D76=>0xFBB0,
-0xFA23=>0xFBB1,
-0x8ECF=>0xFBB2,
-0xFA24=>0xFBB3,
-0xFA25=>0xFBB4,
-0x9067=>0xFBB5,
-0x90DE=>0xFBB6,
-0xFA26=>0xFBB7,
-0x9115=>0xFBB8,
-0x9127=>0xFBB9,
-0x91DA=>0xFBBA,
-0x91D7=>0xFBBB,
-0x91DE=>0xFBBC,
-0x91ED=>0xFBBD,
-0x91EE=>0xFBBE,
-0x91E4=>0xFBBF,
-0x91E5=>0xFBC0,
-0x9206=>0xFBC1,
-0x9210=>0xFBC2,
-0x920A=>0xFBC3,
-0x923A=>0xFBC4,
-0x9240=>0xFBC5,
-0x923C=>0xFBC6,
-0x924E=>0xFBC7,
-0x9259=>0xFBC8,
-0x9251=>0xFBC9,
-0x9239=>0xFBCA,
-0x9267=>0xFBCB,
-0x92A7=>0xFBCC,
-0x9277=>0xFBCD,
-0x9278=>0xFBCE,
-0x92E7=>0xFBCF,
-0x92D7=>0xFBD0,
-0x92D9=>0xFBD1,
-0x92D0=>0xFBD2,
-0xFA27=>0xFBD3,
-0x92D5=>0xFBD4,
-0x92E0=>0xFBD5,
-0x92D3=>0xFBD6,
-0x9325=>0xFBD7,
-0x9321=>0xFBD8,
-0x92FB=>0xFBD9,
-0xFA28=>0xFBDA,
-0x931E=>0xFBDB,
-0x92FF=>0xFBDC,
-0x931D=>0xFBDD,
-0x9302=>0xFBDE,
-0x9370=>0xFBDF,
-0x9357=>0xFBE0,
-0x93A4=>0xFBE1,
-0x93C6=>0xFBE2,
-0x93DE=>0xFBE3,
-0x93F8=>0xFBE4,
-0x9431=>0xFBE5,
-0x9445=>0xFBE6,
-0x9448=>0xFBE7,
-0x9592=>0xFBE8,
-0xF9DC=>0xFBE9,
-0xFA29=>0xFBEA,
-0x969D=>0xFBEB,
-0x96AF=>0xFBEC,
-0x9733=>0xFBED,
-0x973B=>0xFBEE,
-0x9743=>0xFBEF,
-0x974D=>0xFBF0,
-0x974F=>0xFBF1,
-0x9751=>0xFBF2,
-0x9755=>0xFBF3,
-0x9857=>0xFBF4,
-0x9865=>0xFBF5,
-0xFA2A=>0xFBF6,
-0xFA2B=>0xFBF7,
-0x9927=>0xFBF8,
-0xFA2C=>0xFBF9,
-0x999E=>0xFBFA,
-0x9A4E=>0xFBFB,
-0x9AD9=>0xFBFC,
-0x9ADC=>0xFC40,
-0x9B75=>0xFC41,
-0x9B72=>0xFC42,
-0x9B8F=>0xFC43,
-0x9BB1=>0xFC44,
-0x9BBB=>0xFC45,
-0x9C00=>0xFC46,
-0x9D70=>0xFC47,
-0x9D6B=>0xFC48,
-0xFA2D=>0xFC49,
-0x9E19=>0xFC4A,
-0x9ED1=>0xFC4B);
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/mb_emulator/upper.table b/euc/nucleus/libs/mb_emulator/upper.table
deleted file mode 100644 (file)
index 6c9339a..0000000
+++ /dev/null
@@ -1,651 +0,0 @@
-<?php
-$mbemu_internals['upperarray'] = array (
-0x00B5 => 0x039C,
-0x00E0 => 0x00C0,
-0x00E1 => 0x00C1,
-0x00E2 => 0x00C2,
-0x00E3 => 0x00C3,
-0x00E4 => 0x00C4,
-0x00E5 => 0x00C5,
-0x00E6 => 0x00C6,
-0x00E7 => 0x00C7,
-0x00E8 => 0x00C8,
-0x00E9 => 0x00C9,
-0x00EA => 0x00CA,
-0x00EB => 0x00CB,
-0x00EC => 0x00CC,
-0x00ED => 0x00CD,
-0x00EE => 0x00CE,
-0x00EF => 0x00CF,
-0x00F0 => 0x00D0,
-0x00F1 => 0x00D1,
-0x00F2 => 0x00D2,
-0x00F3 => 0x00D3,
-0x00F4 => 0x00D4,
-0x00F5 => 0x00D5,
-0x00F6 => 0x00D6,
-0x00F8 => 0x00D8,
-0x00F9 => 0x00D9,
-0x00FA => 0x00DA,
-0x00FB => 0x00DB,
-0x00FC => 0x00DC,
-0x00FD => 0x00DD,
-0x00FE => 0x00DE,
-0x00FF => 0x0178,
-0x0101 => 0x0100,
-0x0103 => 0x0102,
-0x0105 => 0x0104,
-0x0107 => 0x0106,
-0x0109 => 0x0108,
-0x010B => 0x010A,
-0x010D => 0x010C,
-0x010F => 0x010E,
-0x0111 => 0x0110,
-0x0113 => 0x0112,
-0x0115 => 0x0114,
-0x0117 => 0x0116,
-0x0119 => 0x0118,
-0x011B => 0x011A,
-0x011D => 0x011C,
-0x011F => 0x011E,
-0x0121 => 0x0120,
-0x0123 => 0x0122,
-0x0125 => 0x0124,
-0x0127 => 0x0126,
-0x0129 => 0x0128,
-0x012B => 0x012A,
-0x012D => 0x012C,
-0x012F => 0x012E,
-0x0131 => 0x0049,
-0x0133 => 0x0132,
-0x0135 => 0x0134,
-0x0137 => 0x0136,
-0x013A => 0x0139,
-0x013C => 0x013B,
-0x013E => 0x013D,
-0x0140 => 0x013F,
-0x0142 => 0x0141,
-0x0144 => 0x0143,
-0x0146 => 0x0145,
-0x0148 => 0x0147,
-0x014B => 0x014A,
-0x014D => 0x014C,
-0x014F => 0x014E,
-0x0151 => 0x0150,
-0x0153 => 0x0152,
-0x0155 => 0x0154,
-0x0157 => 0x0156,
-0x0159 => 0x0158,
-0x015B => 0x015A,
-0x015D => 0x015C,
-0x015F => 0x015E,
-0x0161 => 0x0160,
-0x0163 => 0x0162,
-0x0165 => 0x0164,
-0x0167 => 0x0166,
-0x0169 => 0x0168,
-0x016B => 0x016A,
-0x016D => 0x016C,
-0x016F => 0x016E,
-0x0171 => 0x0170,
-0x0173 => 0x0172,
-0x0175 => 0x0174,
-0x0177 => 0x0176,
-0x017A => 0x0179,
-0x017C => 0x017B,
-0x017E => 0x017D,
-0x017F => 0x0053,
-0x0183 => 0x0182,
-0x0185 => 0x0184,
-0x0188 => 0x0187,
-0x018C => 0x018B,
-0x0192 => 0x0191,
-0x0195 => 0x01F6,
-0x0199 => 0x0198,
-0x019E => 0x0220,
-0x01A1 => 0x01A0,
-0x01A3 => 0x01A2,
-0x01A5 => 0x01A4,
-0x01A8 => 0x01A7,
-0x01AD => 0x01AC,
-0x01B0 => 0x01AF,
-0x01B4 => 0x01B3,
-0x01B6 => 0x01B5,
-0x01B9 => 0x01B8,
-0x01BD => 0x01BC,
-0x01BF => 0x01F7,
-0x01C6 => 0x01C5,
-0x01C9 => 0x01C8,
-0x01CC => 0x01CB,
-0x01CE => 0x01CD,
-0x01D0 => 0x01CF,
-0x01D2 => 0x01D1,
-0x01D4 => 0x01D3,
-0x01D6 => 0x01D5,
-0x01D8 => 0x01D7,
-0x01DA => 0x01D9,
-0x01DC => 0x01DB,
-0x01DD => 0x018E,
-0x01DF => 0x01DE,
-0x01E1 => 0x01E0,
-0x01E3 => 0x01E2,
-0x01E5 => 0x01E4,
-0x01E7 => 0x01E6,
-0x01E9 => 0x01E8,
-0x01EB => 0x01EA,
-0x01ED => 0x01EC,
-0x01EF => 0x01EE,
-0x01F3 => 0x01F2,
-0x01F5 => 0x01F4,
-0x01F9 => 0x01F8,
-0x01FB => 0x01FA,
-0x01FD => 0x01FC,
-0x01FF => 0x01FE,
-0x0201 => 0x0200,
-0x0203 => 0x0202,
-0x0205 => 0x0204,
-0x0207 => 0x0206,
-0x0209 => 0x0208,
-0x020B => 0x020A,
-0x020D => 0x020C,
-0x020F => 0x020E,
-0x0211 => 0x0210,
-0x0213 => 0x0212,
-0x0215 => 0x0214,
-0x0217 => 0x0216,
-0x0219 => 0x0218,
-0x021B => 0x021A,
-0x021D => 0x021C,
-0x021F => 0x021E,
-0x0223 => 0x0222,
-0x0225 => 0x0224,
-0x0227 => 0x0226,
-0x0229 => 0x0228,
-0x022B => 0x022A,
-0x022D => 0x022C,
-0x022F => 0x022E,
-0x0231 => 0x0230,
-0x0233 => 0x0232,
-0x0253 => 0x0181,
-0x0254 => 0x0186,
-0x0256 => 0x0189,
-0x0257 => 0x018A,
-0x0259 => 0x018F,
-0x025B => 0x0190,
-0x0260 => 0x0193,
-0x0263 => 0x0194,
-0x0268 => 0x0197,
-0x0269 => 0x0196,
-0x026F => 0x019C,
-0x0272 => 0x019D,
-0x0275 => 0x019F,
-0x0280 => 0x01A6,
-0x0283 => 0x01A9,
-0x0288 => 0x01AE,
-0x028A => 0x01B1,
-0x028B => 0x01B2,
-0x0292 => 0x01B7,
-0x03AC => 0x0386,
-0x03AD => 0x0388,
-0x03AE => 0x0389,
-0x03AF => 0x038A,
-0x03B1 => 0x0391,
-0x03B2 => 0x0392,
-0x03B3 => 0x0393,
-0x03B4 => 0x0394,
-0x03B5 => 0x0395,
-0x03B6 => 0x0396,
-0x03B7 => 0x0397,
-0x03B8 => 0x0398,
-0x03B9 => 0x0399,
-0x03BA => 0x039A,
-0x03BB => 0x039B,
-0x03BC => 0x039C,
-0x03BD => 0x039D,
-0x03BE => 0x039E,
-0x03BF => 0x039F,
-0x03C0 => 0x03A0,
-0x03C1 => 0x03A1,
-0x03C2 => 0x03A3,
-0x03C3 => 0x03A3,
-0x03C4 => 0x03A4,
-0x03C5 => 0x03A5,
-0x03C6 => 0x03A6,
-0x03C7 => 0x03A7,
-0x03C8 => 0x03A8,
-0x03C9 => 0x03A9,
-0x03CA => 0x03AA,
-0x03CB => 0x03AB,
-0x03CC => 0x038C,
-0x03CD => 0x038E,
-0x03CE => 0x038F,
-0x03D0 => 0x0392,
-0x03D1 => 0x0398,
-0x03D5 => 0x03A6,
-0x03D6 => 0x03A0,
-0x03D9 => 0x03D8,
-0x03DB => 0x03DA,
-0x03DD => 0x03DC,
-0x03DF => 0x03DE,
-0x03E1 => 0x03E0,
-0x03E3 => 0x03E2,
-0x03E5 => 0x03E4,
-0x03E7 => 0x03E6,
-0x03E9 => 0x03E8,
-0x03EB => 0x03EA,
-0x03ED => 0x03EC,
-0x03EF => 0x03EE,
-0x03F0 => 0x039A,
-0x03F1 => 0x03A1,
-0x03F2 => 0x03A3,
-0x03F5 => 0x0395,
-0x0430 => 0x0410,
-0x0431 => 0x0411,
-0x0432 => 0x0412,
-0x0433 => 0x0413,
-0x0434 => 0x0414,
-0x0435 => 0x0415,
-0x0436 => 0x0416,
-0x0437 => 0x0417,
-0x0438 => 0x0418,
-0x0439 => 0x0419,
-0x043A => 0x041A,
-0x043B => 0x041B,
-0x043C => 0x041C,
-0x043D => 0x041D,
-0x043E => 0x041E,
-0x043F => 0x041F,
-0x0440 => 0x0420,
-0x0441 => 0x0421,
-0x0442 => 0x0422,
-0x0443 => 0x0423,
-0x0444 => 0x0424,
-0x0445 => 0x0425,
-0x0446 => 0x0426,
-0x0447 => 0x0427,
-0x0448 => 0x0428,
-0x0449 => 0x0429,
-0x044A => 0x042A,
-0x044B => 0x042B,
-0x044C => 0x042C,
-0x044D => 0x042D,
-0x044E => 0x042E,
-0x044F => 0x042F,
-0x0450 => 0x0400,
-0x0451 => 0x0401,
-0x0452 => 0x0402,
-0x0453 => 0x0403,
-0x0454 => 0x0404,
-0x0455 => 0x0405,
-0x0456 => 0x0406,
-0x0457 => 0x0407,
-0x0458 => 0x0408,
-0x0459 => 0x0409,
-0x045A => 0x040A,
-0x045B => 0x040B,
-0x045C => 0x040C,
-0x045D => 0x040D,
-0x045E => 0x040E,
-0x045F => 0x040F,
-0x0461 => 0x0460,
-0x0463 => 0x0462,
-0x0465 => 0x0464,
-0x0467 => 0x0466,
-0x0469 => 0x0468,
-0x046B => 0x046A,
-0x046D => 0x046C,
-0x046F => 0x046E,
-0x0471 => 0x0470,
-0x0473 => 0x0472,
-0x0475 => 0x0474,
-0x0477 => 0x0476,
-0x0479 => 0x0478,
-0x047B => 0x047A,
-0x047D => 0x047C,
-0x047F => 0x047E,
-0x0481 => 0x0480,
-0x048B => 0x048A,
-0x048D => 0x048C,
-0x048F => 0x048E,
-0x0491 => 0x0490,
-0x0493 => 0x0492,
-0x0495 => 0x0494,
-0x0497 => 0x0496,
-0x0499 => 0x0498,
-0x049B => 0x049A,
-0x049D => 0x049C,
-0x049F => 0x049E,
-0x04A1 => 0x04A0,
-0x04A3 => 0x04A2,
-0x04A5 => 0x04A4,
-0x04A7 => 0x04A6,
-0x04A9 => 0x04A8,
-0x04AB => 0x04AA,
-0x04AD => 0x04AC,
-0x04AF => 0x04AE,
-0x04B1 => 0x04B0,
-0x04B3 => 0x04B2,
-0x04B5 => 0x04B4,
-0x04B7 => 0x04B6,
-0x04B9 => 0x04B8,
-0x04BB => 0x04BA,
-0x04BD => 0x04BC,
-0x04BF => 0x04BE,
-0x04C2 => 0x04C1,
-0x04C4 => 0x04C3,
-0x04C6 => 0x04C5,
-0x04C8 => 0x04C7,
-0x04CA => 0x04C9,
-0x04CC => 0x04CB,
-0x04CE => 0x04CD,
-0x04D1 => 0x04D0,
-0x04D3 => 0x04D2,
-0x04D5 => 0x04D4,
-0x04D7 => 0x04D6,
-0x04D9 => 0x04D8,
-0x04DB => 0x04DA,
-0x04DD => 0x04DC,
-0x04DF => 0x04DE,
-0x04E1 => 0x04E0,
-0x04E3 => 0x04E2,
-0x04E5 => 0x04E4,
-0x04E7 => 0x04E6,
-0x04E9 => 0x04E8,
-0x04EB => 0x04EA,
-0x04ED => 0x04EC,
-0x04EF => 0x04EE,
-0x04F1 => 0x04F0,
-0x04F3 => 0x04F2,
-0x04F5 => 0x04F4,
-0x04F9 => 0x04F8,
-0x0501 => 0x0500,
-0x0503 => 0x0502,
-0x0505 => 0x0504,
-0x0507 => 0x0506,
-0x0509 => 0x0508,
-0x050B => 0x050A,
-0x050D => 0x050C,
-0x050F => 0x050E,
-0x0561 => 0x0531,
-0x0562 => 0x0532,
-0x0563 => 0x0533,
-0x0564 => 0x0534,
-0x0565 => 0x0535,
-0x0566 => 0x0536,
-0x0567 => 0x0537,
-0x0568 => 0x0538,
-0x0569 => 0x0539,
-0x056A => 0x053A,
-0x056B => 0x053B,
-0x056C => 0x053C,
-0x056D => 0x053D,
-0x056E => 0x053E,
-0x056F => 0x053F,
-0x0570 => 0x0540,
-0x0571 => 0x0541,
-0x0572 => 0x0542,
-0x0573 => 0x0543,
-0x0574 => 0x0544,
-0x0575 => 0x0545,
-0x0576 => 0x0546,
-0x0577 => 0x0547,
-0x0578 => 0x0548,
-0x0579 => 0x0549,
-0x057A => 0x054A,
-0x057B => 0x054B,
-0x057C => 0x054C,
-0x057D => 0x054D,
-0x057E => 0x054E,
-0x057F => 0x054F,
-0x0580 => 0x0550,
-0x0581 => 0x0551,
-0x0582 => 0x0552,
-0x0583 => 0x0553,
-0x0584 => 0x0554,
-0x0585 => 0x0555,
-0x0586 => 0x0556,
-0x1E01 => 0x1E00,
-0x1E03 => 0x1E02,
-0x1E05 => 0x1E04,
-0x1E07 => 0x1E06,
-0x1E09 => 0x1E08,
-0x1E0B => 0x1E0A,
-0x1E0D => 0x1E0C,
-0x1E0F => 0x1E0E,
-0x1E11 => 0x1E10,
-0x1E13 => 0x1E12,
-0x1E15 => 0x1E14,
-0x1E17 => 0x1E16,
-0x1E19 => 0x1E18,
-0x1E1B => 0x1E1A,
-0x1E1D => 0x1E1C,
-0x1E1F => 0x1E1E,
-0x1E21 => 0x1E20,
-0x1E23 => 0x1E22,
-0x1E25 => 0x1E24,
-0x1E27 => 0x1E26,
-0x1E29 => 0x1E28,
-0x1E2B => 0x1E2A,
-0x1E2D => 0x1E2C,
-0x1E2F => 0x1E2E,
-0x1E31 => 0x1E30,
-0x1E33 => 0x1E32,
-0x1E35 => 0x1E34,
-0x1E37 => 0x1E36,
-0x1E39 => 0x1E38,
-0x1E3B => 0x1E3A,
-0x1E3D => 0x1E3C,
-0x1E3F => 0x1E3E,
-0x1E41 => 0x1E40,
-0x1E43 => 0x1E42,
-0x1E45 => 0x1E44,
-0x1E47 => 0x1E46,
-0x1E49 => 0x1E48,
-0x1E4B => 0x1E4A,
-0x1E4D => 0x1E4C,
-0x1E4F => 0x1E4E,
-0x1E51 => 0x1E50,
-0x1E53 => 0x1E52,
-0x1E55 => 0x1E54,
-0x1E57 => 0x1E56,
-0x1E59 => 0x1E58,
-0x1E5B => 0x1E5A,
-0x1E5D => 0x1E5C,
-0x1E5F => 0x1E5E,
-0x1E61 => 0x1E60,
-0x1E63 => 0x1E62,
-0x1E65 => 0x1E64,
-0x1E67 => 0x1E66,
-0x1E69 => 0x1E68,
-0x1E6B => 0x1E6A,
-0x1E6D => 0x1E6C,
-0x1E6F => 0x1E6E,
-0x1E71 => 0x1E70,
-0x1E73 => 0x1E72,
-0x1E75 => 0x1E74,
-0x1E77 => 0x1E76,
-0x1E79 => 0x1E78,
-0x1E7B => 0x1E7A,
-0x1E7D => 0x1E7C,
-0x1E7F => 0x1E7E,
-0x1E81 => 0x1E80,
-0x1E83 => 0x1E82,
-0x1E85 => 0x1E84,
-0x1E87 => 0x1E86,
-0x1E89 => 0x1E88,
-0x1E8B => 0x1E8A,
-0x1E8D => 0x1E8C,
-0x1E8F => 0x1E8E,
-0x1E91 => 0x1E90,
-0x1E93 => 0x1E92,
-0x1E95 => 0x1E94,
-0x1E9B => 0x1E60,
-0x1EA1 => 0x1EA0,
-0x1EA3 => 0x1EA2,
-0x1EA5 => 0x1EA4,
-0x1EA7 => 0x1EA6,
-0x1EA9 => 0x1EA8,
-0x1EAB => 0x1EAA,
-0x1EAD => 0x1EAC,
-0x1EAF => 0x1EAE,
-0x1EB1 => 0x1EB0,
-0x1EB3 => 0x1EB2,
-0x1EB5 => 0x1EB4,
-0x1EB7 => 0x1EB6,
-0x1EB9 => 0x1EB8,
-0x1EBB => 0x1EBA,
-0x1EBD => 0x1EBC,
-0x1EBF => 0x1EBE,
-0x1EC1 => 0x1EC0,
-0x1EC3 => 0x1EC2,
-0x1EC5 => 0x1EC4,
-0x1EC7 => 0x1EC6,
-0x1EC9 => 0x1EC8,
-0x1ECB => 0x1ECA,
-0x1ECD => 0x1ECC,
-0x1ECF => 0x1ECE,
-0x1ED1 => 0x1ED0,
-0x1ED3 => 0x1ED2,
-0x1ED5 => 0x1ED4,
-0x1ED7 => 0x1ED6,
-0x1ED9 => 0x1ED8,
-0x1EDB => 0x1EDA,
-0x1EDD => 0x1EDC,
-0x1EDF => 0x1EDE,
-0x1EE1 => 0x1EE0,
-0x1EE3 => 0x1EE2,
-0x1EE5 => 0x1EE4,
-0x1EE7 => 0x1EE6,
-0x1EE9 => 0x1EE8,
-0x1EEB => 0x1EEA,
-0x1EED => 0x1EEC,
-0x1EEF => 0x1EEE,
-0x1EF1 => 0x1EF0,
-0x1EF3 => 0x1EF2,
-0x1EF5 => 0x1EF4,
-0x1EF7 => 0x1EF6,
-0x1EF9 => 0x1EF8,
-0x1F00 => 0x1F08,
-0x1F01 => 0x1F09,
-0x1F02 => 0x1F0A,
-0x1F03 => 0x1F0B,
-0x1F04 => 0x1F0C,
-0x1F05 => 0x1F0D,
-0x1F06 => 0x1F0E,
-0x1F07 => 0x1F0F,
-0x1F10 => 0x1F18,
-0x1F11 => 0x1F19,
-0x1F12 => 0x1F1A,
-0x1F13 => 0x1F1B,
-0x1F14 => 0x1F1C,
-0x1F15 => 0x1F1D,
-0x1F20 => 0x1F28,
-0x1F21 => 0x1F29,
-0x1F22 => 0x1F2A,
-0x1F23 => 0x1F2B,
-0x1F24 => 0x1F2C,
-0x1F25 => 0x1F2D,
-0x1F26 => 0x1F2E,
-0x1F27 => 0x1F2F,
-0x1F30 => 0x1F38,
-0x1F31 => 0x1F39,
-0x1F32 => 0x1F3A,
-0x1F33 => 0x1F3B,
-0x1F34 => 0x1F3C,
-0x1F35 => 0x1F3D,
-0x1F36 => 0x1F3E,
-0x1F37 => 0x1F3F,
-0x1F40 => 0x1F48,
-0x1F41 => 0x1F49,
-0x1F42 => 0x1F4A,
-0x1F43 => 0x1F4B,
-0x1F44 => 0x1F4C,
-0x1F45 => 0x1F4D,
-0x1F51 => 0x1F59,
-0x1F53 => 0x1F5B,
-0x1F55 => 0x1F5D,
-0x1F57 => 0x1F5F,
-0x1F60 => 0x1F68,
-0x1F61 => 0x1F69,
-0x1F62 => 0x1F6A,
-0x1F63 => 0x1F6B,
-0x1F64 => 0x1F6C,
-0x1F65 => 0x1F6D,
-0x1F66 => 0x1F6E,
-0x1F67 => 0x1F6F,
-0x1F70 => 0x1FBA,
-0x1F71 => 0x1FBB,
-0x1F72 => 0x1FC8,
-0x1F73 => 0x1FC9,
-0x1F74 => 0x1FCA,
-0x1F75 => 0x1FCB,
-0x1F76 => 0x1FDA,
-0x1F77 => 0x1FDB,
-0x1F78 => 0x1FF8,
-0x1F79 => 0x1FF9,
-0x1F7A => 0x1FEA,
-0x1F7B => 0x1FEB,
-0x1F7C => 0x1FFA,
-0x1F7D => 0x1FFB,
-0x1F80 => 0x1F88,
-0x1F81 => 0x1F89,
-0x1F82 => 0x1F8A,
-0x1F83 => 0x1F8B,
-0x1F84 => 0x1F8C,
-0x1F85 => 0x1F8D,
-0x1F86 => 0x1F8E,
-0x1F87 => 0x1F8F,
-0x1F90 => 0x1F98,
-0x1F91 => 0x1F99,
-0x1F92 => 0x1F9A,
-0x1F93 => 0x1F9B,
-0x1F94 => 0x1F9C,
-0x1F95 => 0x1F9D,
-0x1F96 => 0x1F9E,
-0x1F97 => 0x1F9F,
-0x1FA0 => 0x1FA8,
-0x1FA1 => 0x1FA9,
-0x1FA2 => 0x1FAA,
-0x1FA3 => 0x1FAB,
-0x1FA4 => 0x1FAC,
-0x1FA5 => 0x1FAD,
-0x1FA6 => 0x1FAE,
-0x1FA7 => 0x1FAF,
-0x1FB0 => 0x1FB8,
-0x1FB1 => 0x1FB9,
-0x1FB3 => 0x1FBC,
-0x1FBE => 0x0399,
-0x1FC3 => 0x1FCC,
-0x1FD0 => 0x1FD8,
-0x1FD1 => 0x1FD9,
-0x1FE0 => 0x1FE8,
-0x1FE1 => 0x1FE9,
-0x1FE5 => 0x1FEC,
-0x1FF3 => 0x1FFC,
-0xFF41 => 0xFF21,
-0xFF42 => 0xFF22,
-0xFF43 => 0xFF23,
-0xFF44 => 0xFF24,
-0xFF45 => 0xFF25,
-0xFF46 => 0xFF26,
-0xFF47 => 0xFF27,
-0xFF48 => 0xFF28,
-0xFF49 => 0xFF29,
-0xFF4A => 0xFF2A,
-0xFF4B => 0xFF2B,
-0xFF4C => 0xFF2C,
-0xFF4D => 0xFF2D,
-0xFF4E => 0xFF2E,
-0xFF4F => 0xFF2F,
-0xFF50 => 0xFF30,
-0xFF51 => 0xFF31,
-0xFF52 => 0xFF32,
-0xFF53 => 0xFF33,
-0xFF54 => 0xFF34,
-0xFF55 => 0xFF35,
-0xFF56 => 0xFF36,
-0xFF57 => 0xFF37,
-0xFF58 => 0xFF38,
-0xFF59 => 0xFF39,
-0xFF5A => 0xFF3A);
-?>
diff --git a/euc/nucleus/libs/mysql.php b/euc/nucleus/libs/mysql.php
deleted file mode 100644 (file)
index 1e6829f..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: mysql.php,v 1.1 2007-04-04 07:52:08 kimitake Exp $
- * @version $NucleusJP: mysql.php,v 1.3 2007/02/04 06:28:46 kimitake Exp $
- */
-/*
- * if no mysql_* functions exist, define wrappers
- */
-$MYSQL_CONN = 0;
-
-if (!function_exists('mysql_query'))
-{
-       if (!function_exists('mysqli_query') && function_exists('startUpError'))
-       {
-               startUpError('<p>No suitable mySQL library was found to run Nucleus</p>');
-       }
-       
-       function mysql_query($query) 
-       {
-               global $MYSQL_CONN;
-               return mysqli_query($MYSQL_CONN, $query); 
-       }
-       
-       function mysql_fetch_object($res) 
-       { 
-               return mysqli_fetch_object($res);
-       }
-       
-       function mysql_fetch_array($res) 
-       { 
-               return mysqli_fetch_array($res);
-       }       
-       
-       function mysql_fetch_assoc($res) 
-       { 
-               return mysqli_fetch_assoc($res);
-       }       
-
-       function mysql_fetch_row($res) 
-       { 
-               return mysqli_fetch_row($res);
-       }       
-
-       function mysql_num_rows($res)
-       {
-               return mysqli_num_rows($res);
-       }
-       
-       function mysql_num_fields($res)
-       {
-               return mysqli_num_fields($res);
-       }
-       
-       function mysql_free_result($res)
-       {
-               return mysqli_free_result($res);
-       }
-       
-       function mysql_result($res, $row, $col) 
-       { 
-               if (($row != 0) || ($col != 0)) {
-                       trigger_error('not implemented', E_USER_ERROR);
-               }
-               
-               $row = mysqli_fetch_row($res);
-               return $row[$col];
-       }       
-       
-       function mysql_connect($host, $username, $pwd)
-       {
-               return mysqli_connect($host, $username, $pwd);
-       }
-       
-       function mysql_error()
-       {
-               global $MYSQL_CONN;
-               return mysqli_error($MYSQL_CONN);
-       }
-       
-       function mysql_select_db($db)
-       {
-               global $MYSQL_CONN;
-               return mysqli_select_db($MYSQL_CONN, $db);
-       }
-       
-       function mysql_close()
-       {
-               global $MYSQL_CONN;
-               return mysqli_close($MYSQL_CONN);
-       }
-       
-       function mysql_insert_id()
-       {
-               global $MYSQL_CONN;
-               return mysqli_insert_id($MYSQL_CONN);
-       }
-       
-       function mysql_affected_rows()
-       {
-               global $MYSQL_CONN;
-               return mysqli_affected_rows($MYSQL_CONN);
-       }
-}
-
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/showlist.php b/euc/nucleus/libs/showlist.php
deleted file mode 100644 (file)
index f345bbe..0000000
+++ /dev/null
@@ -1,632 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Functions to create lists of things inside the admin are
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: showlist.php,v 1.2 2007-04-20 08:27:13 kimitake Exp $
- * @version $NucleusJP: showlist.php,v 1.1 2007/04/04 07:52:08 kimitake Exp $
- */
-
-
-// can take either an array of objects, or an SQL query
-function showlist($query, $type, $template) {
-
-       if (is_array($query)) {
-               if (sizeof($query) == 0)
-                       return 0;
-
-               call_user_func('listplug_' . $type, $template, 'HEAD');
-
-               foreach ($query as $currentObj) {
-                       $template['current'] = $currentObj;
-                       call_user_func('listplug_' . $type, $template, 'BODY');
-               }
-
-               call_user_func('listplug_' . $type, $template, 'FOOT');
-
-               return sizeof($query);
-
-       } else {
-               $res = sql_query($query);
-
-               // don't do anything if there are no results
-               $numrows = mysql_num_rows($res);
-               if ($numrows == 0)
-                       return 0;
-
-               call_user_func('listplug_' . $type, $template, 'HEAD');
-
-               while($template['current'] = mysql_fetch_object($res))
-                       call_user_func('listplug_' . $type, $template, 'BODY');
-
-               call_user_func('listplug_' . $type, $template, 'FOOT');
-
-               mysql_free_result($res);
-
-               // return amount of results
-               return $numrows;
-       }
-}
-
-function listplug_select($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo '<select name="' . ifset($template['name']) . '" tabindex="' . ifset($template['tabindex']) . '" ' . ifset($template['javascript']) . '>';
-
-                       // add extra row if needed
-                       if (ifset($template['extra'])) {
-                               echo '<option value="', ifset($template['extraval']), '">', $template['extra'], '</option>';
-                       }
-
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<option value="' . htmlspecialchars($current->value) . '"';
-                       if ($template['selected'] == $current->value)
-                               echo ' selected="selected" ';
-                       if (isset($template['shorten']) && $template['shorten'] > 0) {
-                               echo ' title="'. htmlspecialchars($current->text).'"';
-                               $current->text = shorten($current->text, $template['shorten'], $template['shortenel']);
-                       }
-                       echo '>' . htmlspecialchars($current->text) . '</option>';
-                       break;
-               case 'FOOT':
-                       echo '</select>';
-                       break;
-       }
-}
-
-function listplug_table($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<table>";
-                       echo "<thead><tr>";
-                       // print head
-                       call_user_func("listplug_table_" . $template['content'] , $template, 'HEAD');
-                       echo "</tr></thead><tbody>";
-                       break;
-               case 'BODY':
-                       // print tabletype specific thingies
-                       echo "<tr onmouseover='focusRow(this);' onmouseout='blurRow(this);'>";
-                       call_user_func("listplug_table_" . $template['content'] , $template,  'BODY');
-                       echo "</tr>";
-                       break;
-               case 'FOOT':
-                       call_user_func("listplug_table_" . $template['content'] , $template,  'FOOT');
-                       echo "</tbody></table>";
-                       break;
-       }
-}
-
-function listplug_table_memberlist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo '<th>' . _LIST_MEMBER_NAME . '</th><th>' . _LIST_MEMBER_RNAME . '</th><th>' . _LIST_MEMBER_URL . '</th><th>' . _LIST_MEMBER_ADMIN;
-                       help('superadmin');
-                       echo "</th><th>" . _LIST_MEMBER_LOGIN;
-                       help('canlogin');
-                       echo "</th><th colspan='2'>" . _LISTS_ACTIONS. "</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>';
-                       $id = listplug_nextBatchId();
-                       echo '<input type="checkbox" id="batch',$id,'" name="batch[',$id,']" value="',$current->mnumber,'" />';
-                       echo '<label for="batch',$id,'">';
-                       echo "<a href='mailto:", htmlspecialchars($current->memail), "' tabindex='".$template['tabindex']."'>", htmlspecialchars($current->mname), "</a>";
-                       echo '</label>';
-                       echo '</td>';
-                       echo '<td>', htmlspecialchars($current->mrealname), '</td>';
-                       echo "<td><a href='", htmlspecialchars($current->murl), "' tabindex='", $template['tabindex'] , "'>", htmlspecialchars($current->murl), "</a></td>";
-                       echo '<td>', ($current->madmin ? _YES : _NO),'</td>';
-                       echo '<td>', ($current->mcanlogin ? _YES : _NO), '</td>';
-                       echo "<td><a href='index.php?action=memberedit&amp;memberid=$current->mnumber' tabindex='".$template['tabindex']."'>"._LISTS_EDIT."</a></td>";
-                       echo "<td><a href='index.php?action=memberdelete&amp;memberid=$current->mnumber' tabindex='".$template['tabindex']."'>"._LISTS_DELETE."</a></td>";
-                       break;
-       }
-}
-
-function listplug_table_teamlist($template, $type) {
-       global $manager;
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LIST_MEMBER_NAME."</th><th>"._LIST_MEMBER_RNAME."</th><th>"._LIST_TEAM_ADMIN;
-                       help('teamadmin');
-                       echo "</th><th colspan='2'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>';
-                       $id = listplug_nextBatchId();
-                       echo '<input type="checkbox" id="batch',$id,'" name="batch[',$id,']" value="',$current->tmember,'" />';
-                       echo '<label for="batch',$id,'">';
-                       echo "<a href='mailto:", htmlspecialchars($current->memail), "' tabindex='".$template['tabindex']."'>", htmlspecialchars($current->mname), "</a>";
-                       echo '</label>';
-                       echo '</td>';
-                       echo '<td>', htmlspecialchars($current->mrealname), '</td>';
-                       echo '<td>', ($current->tadmin ? _YES : _NO) , '</td>';
-                       echo "<td><a href='index.php?action=teamdelete&amp;memberid=$current->tmember&amp;blogid=$current->tblog' tabindex='".$template['tabindex']."'>"._LISTS_DELETE."</a></td>";
-
-                       $url = 'index.php?action=teamchangeadmin&memberid=' . intval($current->tmember) . '&blogid=' . intval($current->tblog);
-                       $url = $manager->addTicketToUrl($url);
-                       echo "<td><a href='",htmlspecialchars($url),"' tabindex='".$template['tabindex']."'>"._LIST_TEAM_CHADMIN."</a></td>";
-                       break;
-       }
-}
-
-function listplug_table_pluginlist($template, $type) {
-       global $manager;
-       switch($type) {
-               case 'HEAD':
-                       echo '<th>'._LISTS_INFO.'</th><th>'._LISTS_DESC.'</th>';
-                       echo '<th style="white-space:nowrap">'._LISTS_ACTIONS.'</th>';
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       $plug =& $manager->getPlugin($current->pfile);
-                       if ($plug) {
-                               echo '<td>';
-                                       echo '<strong>' , htmlspecialchars($plug->getName()) , '</strong><br />';
-                                       echo _LIST_PLUGS_AUTHOR, ' ' , htmlspecialchars($plug->getAuthor()) , '<br />';
-                                       echo _LIST_PLUGS_VER, ' ' , htmlspecialchars($plug->getVersion()) , '<br />';
-                                       if ($plug->getURL())
-                                       echo '<a href="',htmlspecialchars($plug->getURL()),'" tabindex="'.$template['tabindex'].'">',_LIST_PLUGS_SITE,'</a><br />';
-                               echo '</td>';
-                               echo '<td>';
-                                       echo _LIST_PLUGS_DESC .'<br/>'. encode_desc($plug->getDescription());
-                                       if (sizeof($plug->getEventList()) > 0) {
-                                               echo '<br /><br />',_LIST_PLUGS_SUBS,'<br />',htmlspecialchars(implode($plug->getEventList(),', '));
-                                               // check the database to see if it is up-to-date and notice the user if not
-                                       }
-                                       if (!$plug->subscribtionListIsUptodate()) {
-                                               echo '<br /><br /><strong>',_LIST_PLUG_SUBS_NEEDUPDATE,'</strong>';
-                                       }
-                                       if (sizeof($plug->getPluginDep()) > 0)
-                                               echo '<br /><br />',_LIST_PLUGS_DEP,'<br />',htmlspecialchars(implode($plug->getPluginDep(),', '));
-                               echo '</td>';
-                       } else {
-                               echo '<td colspan="2">Error: plugin file <b>',htmlspecialchars($current->pfile),'.php</b> could not be loaded, or it has been set inactive because it does not support some features (check the <a href="?action=actionlog">actionlog</a> for more info)</td>';
-                       }
-                       echo '<td>';
-
-                               $baseUrl = 'index.php?plugid=' . intval($current->pid) . '&action=';
-                               $url = $manager->addTicketToUrl($baseUrl . 'pluginup');
-                               echo "<a href='",htmlspecialchars($url),"' tabindex='".$template['tabindex']."'>",_LIST_PLUGS_UP,"</a>";
-                               $url = $manager->addTicketToUrl($baseUrl . 'plugindown');
-                               echo "<br /><a href='",htmlspecialchars($url),"' tabindex='".$template['tabindex']."'>",_LIST_PLUGS_DOWN,"</a>";
-                               echo "<br /><a href='index.php?action=plugindelete&amp;plugid=$current->pid' tabindex='".$template['tabindex']."'>",_LIST_PLUGS_UNINSTALL,"</a>";
-                               if ($plug && ($plug->hasAdminArea() > 0))
-                                       echo "<br /><a href='".htmlspecialchars($plug->getAdminURL())."'  tabindex='".$template['tabindex']."'>",_LIST_PLUGS_ADMIN,"</a>";
-                               if ($plug && ($plug->supportsFeature('HelpPage') > 0))
-                                       echo "<br /><a href='index.php?action=pluginhelp&amp;plugid=$current->pid'  tabindex='".$template['tabindex']."'>",_LIST_PLUGS_HELP,"</a>";
-                               if (quickQuery('SELECT COUNT(*) AS result FROM '.sql_table('plugin_option_desc').' WHERE ocontext=\'global\' and opid='.$current->pid) > 0)
-                                       echo "<br /><a href='index.php?action=pluginoptions&amp;plugid=$current->pid'  tabindex='".$template['tabindex']."'>",_LIST_PLUGS_OPTIONS,"</a>";
-                       echo '</td>';
-                       break;
-       }
-}
-
-function listplug_table_plugoptionlist($template, $type) {
-       global $manager;
-       switch($type) {
-               case 'HEAD':
-                       echo '<th>'._LISTS_INFO.'</th><th>'._LISTS_VALUE.'</th>';
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-                       listplug_plugOptionRow($current);
-                       break;
-               case 'FOOT':
-                       ?>
-                       <tr>
-                               <th colspan="2"><?php echo _PLUGS_SAVE?></th>
-                       </tr><tr>
-                               <td><?php echo _PLUGS_SAVE?></td>
-                               <td><input type="submit" value="<?php echo _PLUGS_SAVE?>" /></td>
-                       </tr>
-                       <?php                   break;
-       }
-}
-
-function listplug_plugOptionRow($current) {
-       $varname = 'plugoption['.$current['oid'].']['.$current['contextid'].']';
-       // retreive the optionmeta
-       $meta = NucleusPlugin::getOptionMeta($current['typeinfo']);
-
-       // only if it is not a hidden option write the controls to the page
-       if ($meta['access'] != 'hidden') {
-               echo '<td>',htmlspecialchars($current['description']?$current['description']:$current['name']),'</td>';
-               echo '<td>';
-               switch($current['type']) {
-                       case 'yesno':
-                               ADMIN::input_yesno($varname, $current['value'], 0, 'yes', 'no');
-                               break;
-                       case 'password':
-                               echo '<input type="password" size="40" maxlength="128" name="',htmlspecialchars($varname),'" value="',htmlspecialchars($current['value']),'" />';
-                               break;
-                       case 'select':
-                               echo '<select name="'.htmlspecialchars($varname).'">';
-                               $aOptions = NucleusPlugin::getOptionSelectValues($current['typeinfo']);
-                               $aOptions = explode('|', $aOptions);
-                               for ($i=0; $i<(count($aOptions)-1); $i+=2) {
-                                       echo '<option value="'.htmlspecialchars($aOptions[$i+1]).'"';
-                                       if ($aOptions[$i+1] == $current['value'])
-                                               echo ' selected="selected"';
-                                       echo '>'.htmlspecialchars($aOptions[$i]).'</option>';
-                               }
-                               echo '</select>';
-                               break;
-                       case 'textarea':
-                               //$meta = NucleusPlugin::getOptionMeta($current['typeinfo']);
-                               echo '<textarea class="pluginoption" cols="30" rows="5" name="',htmlspecialchars($varname),'"';
-                               if ($meta['access'] == 'readonly') {
-                                       echo ' readonly="readonly"';
-                               }
-                               echo '>',htmlspecialchars($current['value']),'</textarea>';
-                               break;
-                       case 'text':
-                       default:
-                               //$meta = NucleusPlugin::getOptionMeta($current['typeinfo']);
-
-                               echo '<input type="text" size="40" maxlength="128" name="',htmlspecialchars($varname),'" value="',htmlspecialchars($current['value']),'"';
-                               if ($meta['datatype'] == 'numerical') {
-                                       echo ' onkeyup="checkNumeric(this)" onblur="checkNumeric(this)"';
-                               }
-                               if ($meta['access'] == 'readonly') {
-                                       echo ' readonly="readonly"';
-                               }
-                               echo ' />';
-               }
-               echo $current['extra'];
-               echo '</td>';
-       }
-}
-
-function listplug_table_itemlist($template, $type) {
-       $cssclass = null;
-
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LIST_ITEM_INFO."</th><th>"._LIST_ITEM_CONTENT."</th><th style=\"white-space:nowrap\" colspan='1'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-                       $current->itime = strtotime($current->itime);   // string -> unix timestamp
-
-                       if ($current->idraft == 1)
-                               $cssclass = "class='draft'";
-
-                       // (can't use offset time since offsets might vary between blogs)
-                       if ($current->itime > $template['now'])
-                               $cssclass = "class='future'";
-
-                       echo "<td $cssclass>",_LIST_ITEM_BLOG,' ', htmlspecialchars($current->bshortname);
-                       echo "    <br />",_LIST_ITEM_CAT,' ', htmlspecialchars($current->cname);
-                       echo "    <br />",_LIST_ITEM_AUTHOR, ' ', htmlspecialchars($current->mname);
-                       echo "    <br />",_LIST_ITEM_DATE," " . date("Y-m-d",$current->itime);
-                       echo "<br />",_LIST_ITEM_TIME," " . date("H:i",$current->itime);
-                       echo "</td>";
-                       echo "<td $cssclass>";
-
-                       $id = listplug_nextBatchId();
-
-                       echo '<input type="checkbox" id="batch',$id,'" name="batch[',$id,']" value="',$current->inumber,'" />';
-                       echo '<label for="batch',$id,'">';
-                       echo "<b>" . htmlspecialchars(strip_tags($current->ititle)) . "</b>";
-                       echo '</label>';
-                       echo "<br />";
-
-
-                       $current->ibody = strip_tags($current->ibody);
-                       $current->ibody = htmlspecialchars(shorten($current->ibody,300,'...'));
-
-                       echo "$current->ibody</td>";
-                       echo "<td  style=\"white-space:nowrap\" $cssclass>";
-                       echo    "<a href='index.php?action=itemedit&amp;itemid=$current->inumber'>"._LISTS_EDIT."</a>";
-                       echo    "<br /><a href='index.php?action=itemcommentlist&amp;itemid=$current->inumber'>"._LISTS_COMMENTS."</a>";
-                       echo    "<br /><a href='index.php?action=itemmove&amp;itemid=$current->inumber'>"._LISTS_MOVE."</a>";
-                       echo    "<br /><a href='index.php?action=itemdelete&amp;itemid=$current->inumber'>"._LISTS_DELETE."</a>";
-                       echo "</td>";
-                       break;
-       }
-}
-
-// for batch operations: generates the index numbers for checkboxes
-function listplug_nextBatchId() {
-       static $id = 0;
-       return $id++;
-}
-
-function listplug_table_commentlist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LISTS_INFO."</th><th>"._LIST_COMMENT."</th><th colspan='3'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-                       $current->ctime = strtotime($current->ctime);   // string -> unix timestamp
-
-                       echo '<td>';
-                       echo date("Y-m-d@H:i",$current->ctime);
-                       echo '<br />';
-                       if ($current->mname)
-                               echo htmlspecialchars($current->mname) ,' ', _LIST_COMMENTS_MEMBER;
-                       else
-                               echo htmlspecialchars($current->cuser);
-                       if ($current->cmail != '') {
-                                echo '<br />';
-                                echo htmlspecialchars($current->cmail);
-                        }
-                       if ($current->cemail != '') {
-                                echo '<br />';
-                                echo htmlspecialchars($current->cemail);
-                        }
-                       echo '</td>';
-
-                       $current->cbody = strip_tags($current->cbody);
-                       $current->cbody = htmlspecialchars(shorten($current->cbody, 300, '...'));
-
-                       echo '<td>';
-                       $id = listplug_nextBatchId();
-                       echo '<input type="checkbox" id="batch',$id,'" name="batch[',$id,']" value="',$current->cnumber,'" />';
-                       echo '<label for="batch',$id,'">';
-                       echo $current->cbody;
-                       echo '</label>';
-                       echo '</td>';
-
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=commentedit&amp;commentid=$current->cnumber'>"._LISTS_EDIT."</a></td>";
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=commentdelete&amp;commentid=$current->cnumber'>"._LISTS_DELETE."</a></td>";
-                       if ($template['canAddBan'])
-                               echo "<td style=\"white-space:nowrap\"><a href='index.php?action=banlistnewfromitem&amp;itemid=$current->citem&amp;ip=", htmlspecialchars($current->cip), "' title='", htmlspecialchars($current->chost), "'>"._LIST_COMMENT_BANIP."</a></td>";
-                       break;
-       }
-}
-
-
-function listplug_table_bloglist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>" . _NAME . "</th><th colspan='7'>" ._LISTS_ACTIONS. "</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo "<td title='blogid:$current->bnumber shortname:$current->bshortname'><a href='$current->burl'><img src='images/globe.gif' width='13' height='13' alt='". _BLOGLIST_TT_VISIT."' /></a> " . htmlspecialchars($current->bname) . "</td>";
-                       echo "<td><a href='index.php?action=createitem&amp;blogid=$current->bnumber' title='" . _BLOGLIST_TT_ADD ."'>" . _BLOGLIST_ADD . "</a></td>";
-                       echo "<td><a href='index.php?action=itemlist&amp;blogid=$current->bnumber' title='". _BLOGLIST_TT_EDIT."'>". _BLOGLIST_EDIT."</a></td>";
-                       echo "<td><a href='index.php?action=blogcommentlist&amp;blogid=$current->bnumber' title='". _BLOGLIST_TT_COMMENTS."'>". _BLOGLIST_COMMENTS."</a></td>";
-                       echo "<td><a href='index.php?action=bookmarklet&amp;blogid=$current->bnumber' title='". _BLOGLIST_TT_BMLET."'>". _BLOGLIST_BMLET . "</a></td>";
-
-                       if ($current->tadmin == 1) {
-                               echo "<td><a href='index.php?action=blogsettings&amp;blogid=$current->bnumber' title='" . _BLOGLIST_TT_SETTINGS . "'>" ._BLOGLIST_SETTINGS. "</a></td>";
-                               echo "<td><a href='index.php?action=banlist&amp;blogid=$current->bnumber' title='" . _BLOGLIST_TT_BANS. "'>". _BLOGLIST_BANS."</a></td>";
-                       }
-
-                       if ($template['superadmin']) {
-                               echo "<td><a href='index.php?action=deleteblog&amp;blogid=$current->bnumber' title='". _BLOGLIST_TT_DELETE."'>" ._BLOGLIST_DELETE. "</a></td>";
-                       }
-
-
-
-                       break;
-       }
-}
-
-function listplug_table_shortblognames($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>" . _NAME . "</th><th>" . _NAME. "</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>' , htmlspecialchars($current->bshortname) , '</td>';
-                       echo '<td>' , htmlspecialchars($current->bname) , '</td>';
-
-                       break;
-       }
-}
-
-function listplug_table_shortnames($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>" . _NAME . "</th><th>" . _LISTS_DESC. "</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>' , htmlspecialchars($current->name) , '</td>';
-                       echo '<td>' , htmlspecialchars($current->description) , '</td>';
-
-                       break;
-       }
-}
-
-
-function listplug_table_categorylist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='2'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>';
-                       $id = listplug_nextBatchId();
-                       echo '<input type="checkbox" id="batch',$id,'" name="batch[',$id,']" value="',$current->catid,'" />';
-                       echo '<label for="batch',$id,'">';
-                       echo htmlspecialchars($current->cname);
-                       echo '</label>';
-                       echo '</td>';
-
-                       echo '<td>', htmlspecialchars($current->cdesc), '</td>';
-                       echo "<td><a href='index.php?action=categorydelete&amp;blogid=$current->cblog&amp;catid=$current->catid' tabindex='".$template['tabindex']."'>"._LISTS_DELETE."</a></td>";
-                       echo "<td><a href='index.php?action=categoryedit&amp;blogid=$current->cblog&amp;catid=$current->catid' tabindex='".$template['tabindex']."'>"._LISTS_EDIT."</a></td>";
-
-                       break;
-       }
-}
-
-
-function listplug_table_templatelist($template, $type) {
-       global $manager;
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='3'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo "<td>" , htmlspecialchars($current->tdname), "</td>";
-                       echo "<td>" , htmlspecialchars($current->tddesc), "</td>";
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=templateedit&amp;templateid=$current->tdnumber' tabindex='".$template['tabindex']."'>"._LISTS_EDIT."</a></td>";
-
-                       $url = $manager->addTicketToUrl('index.php?action=templateclone&templateid=' . intval($current->tdnumber));
-                       echo "<td style=\"white-space:nowrap\"><a href='",htmlspecialchars($url),"' tabindex='".$template['tabindex']."'>"._LISTS_CLONE."</a></td>";
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=templatedelete&amp;templateid=$current->tdnumber' tabindex='".$template['tabindex']."'>"._LISTS_DELETE."</a></td>";
-
-                       break;
-       }
-}
-
-function listplug_table_skinlist($template, $type) {
-       global $CONF, $DIR_SKINS, $manager;
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LISTS_NAME."</th><th>"._LISTS_DESC."</th><th colspan='3'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>';
-
-                       // use a special style for the default skin
-                       if ($current->sdnumber == $CONF['BaseSkin']) {
-                               echo '<strong>',htmlspecialchars($current->sdname),'</strong>';
-                       } else {
-                               echo htmlspecialchars($current->sdname);
-                       }
-
-                       echo '<br /><br />';
-                       echo _LISTS_TYPE ,': ' , htmlspecialchars($current->sdtype);
-                       echo '<br />', _LIST_SKINS_INCMODE , ' ' , (($current->sdincmode=='skindir') ?_PARSER_INCMODE_SKINDIR:_PARSER_INCMODE_NORMAL);
-                       if ($current->sdincpref) echo '<br />' , _LIST_SKINS_INCPREFIX , ' ', htmlspecialchars($current->sdincpref);
-
-                       // add preview image when present
-                       if ($current->sdincpref && @file_exists($DIR_SKINS . $current->sdincpref . 'preview.png'))
-                       {
-                               echo '<br /><br />';
-
-                               $hasEnlargement = @file_exists($DIR_SKINS . $current->sdincpref . 'preview-large.png');
-                               if ($hasEnlargement)
-                                       echo '<a href="',$CONF['SkinsURL'], htmlspecialchars($current->sdincpref),'preview-large.png" title="View larger">';
-
-                               echo '<img class="skinpreview" src="',$CONF['SkinsURL'], htmlspecialchars($current->sdincpref),'preview.png" width="100" height="75" alt="Preview for \'',htmlspecialchars($current->sdname),'\' skin" />';
-
-                               if ($hasEnlargement)
-                                       echo '</a>';
-
-                               if (@file_exists($DIR_SKINS . $current->sdincpref . 'readme.html'))
-                               {
-                                       echo '<br /><a href="',$CONF['SkinsURL'], htmlspecialchars($current->sdincpref),'readme.html" title="More info on the \'',htmlspecialchars($current->sdname),'\' skin">Readme</a>';
-                               }
-
-
-                       }
-
-                       echo "</td>";
-
-
-                       echo "<td>" , htmlspecialchars($current->sddesc);
-                               // show list of defined parts
-                               $r = sql_query('SELECT stype FROM '.sql_table('skin').' WHERE sdesc='.$current->sdnumber . ' ORDER BY stype');
-                               $types = array();
-                               while ($o = mysql_fetch_object($r))
-                                       array_push($types,$o->stype);
-                               if (sizeof($types) > 0) {
-                                       $friendlyNames = SKIN::getFriendlyNames();
-                                       for ($i=0;$i<sizeof($types);$i++) {
-                                               $type = $types[$i];
-                                               if (in_array($type, array('index', 'item', 'archivelist', 'archive', 'search', 'error', 'member', 'imagepopup'))) {
-                                                       $types[$i] = '<li>' . helpHtml('skinpart'.$type) . ' <a href="index.php?action=skinedittype&amp;skinid='.$current->sdnumber.'&amp;type='.$type.'" tabindex="'.$template['tabindex'].'">' . htmlspecialchars($friendlyNames[$type]) . "</a></li>";
-                                               } else {
-                                                       $types[$i] = '<li>' . helpHtml('skinpartspecial') . ' <a href="index.php?action=skinedittype&amp;skinid='.$current->sdnumber.'&amp;type='.$type.'" tabindex="'.$template['tabindex'].'">' . htmlspecialchars($friendlyNames[$type]) . "</a></li>";
-                                               }
-                                       }
-                                       echo '<br /><br />',_LIST_SKINS_DEFINED,' <ul>',implode($types,'') ,'</ul>';
-                               }
-                       echo "</td>";
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=skinedit&amp;skinid=$current->sdnumber' tabindex='".$template['tabindex']."'>"._LISTS_EDIT."</a></td>";
-
-                       $url = $manager->addTicketToUrl('index.php?action=skinclone&skinid=' . intval($current->sdnumber));
-                       echo "<td style=\"white-space:nowrap\"><a href='",htmlspecialchars($url),"' tabindex='".$template['tabindex']."'>"._LISTS_CLONE."</a></td>";
-                       echo "<td style=\"white-space:nowrap\"><a href='index.php?action=skindelete&amp;skinid=$current->sdnumber' tabindex='".$template['tabindex']."'>"._LISTS_DELETE."</a></td>";
-
-                       break;
-       }
-}
-
-function listplug_table_draftlist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo "<th>"._LISTS_BLOG."</th><th>"._LISTS_TITLE."</th><th colspan='2'>"._LISTS_ACTIONS."</th>";
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>', htmlspecialchars($current->bshortname) , '</td>';
-                       echo '<td>', htmlspecialchars(strip_tags($current->ititle)) , '</td>';
-                       echo "<td><a href='index.php?action=itemedit&amp;itemid=$current->inumber'>"._LISTS_EDIT."</a></td>";
-                       echo "<td><a href='index.php?action=itemdelete&amp;itemid=$current->inumber'>"._LISTS_DELETE."</a></td>";
-
-                       break;
-       }
-}
-
-
-function listplug_table_actionlist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo '<th>'._LISTS_TIME.'</th><th>'._LIST_ACTION_MSG.'</th>';
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>' , htmlspecialchars($current->timestamp), '</td>';
-                       echo '<td>' , htmlspecialchars($current->message), '</td>';
-
-                       break;
-       }
-}
-
-function listplug_table_banlist($template, $type) {
-       switch($type) {
-               case 'HEAD':
-                       echo '<th>'._LIST_BAN_IPRANGE.'</th><th>'. _LIST_BAN_REASON.'</th><th>'._LISTS_ACTIONS.'</th>';
-                       break;
-               case 'BODY':
-                       $current = $template['current'];
-
-                       echo '<td>' , htmlspecialchars($current->iprange) , '</td>';
-                       echo '<td>' , htmlspecialchars($current->reason) , '</td>';
-                       echo "<td><a href='index.php?action=banlistdelete&amp;blogid=", intval($current->blogid) , "&amp;iprange=" , htmlspecialchars($current->iprange) , "'>",_LISTS_DELETE,"</a></td>";
-                       break;
-       }
-}
-
-?>
diff --git a/euc/nucleus/libs/skinie.php b/euc/nucleus/libs/skinie.php
deleted file mode 100755 (executable)
index c44fffd..0000000
+++ /dev/null
@@ -1,572 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- *     This class contains two classes that can be used for importing and
- *     exporting Nucleus skins: SKINIMPORT and SKINEXPORT
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: skinie.php,v 1.5 2007-04-20 08:45:28 kimitake Exp $
- * @version $NucleusJP: skinie.php,v 1.4 2007/03/22 09:23:58 kimitake Exp $
- */
-
-class SKINIMPORT {
-
-       // hardcoded value (see constructor). When 1, interesting info about the
-       // parsing process is sent to the output
-       var $debug;
-
-       // parser/file pointer
-       var $parser;
-       var $fp;
-
-       // which data has been read?
-       var $metaDataRead;
-       var $allRead;
-
-       // extracted data
-       var $skins;
-       var $templates;
-       var $info;
-
-       // to maintain track of where we are inside the XML file
-       var $inXml;
-       var $inData;
-       var $inMeta;
-       var $inSkin;
-       var $inTemplate;
-       var $currentName;
-       var $currentPartName;
-       var $cdata;
-
-
-
-       /**
-        * constructor initializes data structures
-        */
-       function SKINIMPORT() {
-               // disable magic_quotes_runtime if it's turned on
-               set_magic_quotes_runtime(0);
-
-               // debugging mode?
-               $this->debug = 0;
-
-               $this->reset();
-
-       }
-
-       function reset() {
-               if ($this->parser)
-                       xml_parser_free($this->parser);
-
-               // XML file pointer
-               $this->fp = 0;
-
-               // which data has been read?
-               $this->metaDataRead = 0;
-               $this->allRead = 0;
-
-               // to maintain track of where we are inside the XML file
-               $this->inXml = 0;
-               $this->inData = 0;
-               $this->inMeta = 0;
-               $this->inSkin = 0;
-               $this->inTemplate = 0;
-               $this->currentName = '';
-               $this->currentPartName = '';
-
-               // character data pile
-               $this->cdata = '';
-
-               // list of skinnames and templatenames (will be array of array)
-               $this->skins = array();
-               $this->templates = array();
-
-               // extra info included in the XML files (e.g. installation notes)
-               $this->info = '';
-
-               // init XML parser
-               $this->parser = xml_parser_create();
-               xml_set_object($this->parser, $this);
-               xml_set_element_handler($this->parser, 'startElement', 'endElement');
-               xml_set_character_data_handler($this->parser, 'characterData');
-               xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
-
-       }
-
-       /**
-        * Reads an XML file into memory
-        *
-        * @param $filename
-        *              Which file to read
-        * @param $metaOnly
-        *              Set to 1 when only the metadata needs to be read (optional, default 0)
-        */
-       function readFile($filename, $metaOnly = 0) {
-               // open file
-               $this->fp = @fopen($filename, 'r');
-               if (!$this->fp) return 'Failed to open file/URL';
-
-               // here we go!
-               $this->inXml = 1;
-
-               $tempbuffer = null;
-
-               while (!feof($this->fp)) {
-                       $tempbuffer .= fread($this->fp, 4096);
-               }
-               fclose($this->fp);
-
-/*
-       [2004-08-04] dekarma - Took this out since it messes up good XML if it has skins/templates
-                                                  with CDATA sections. need to investigate consequences.
-                                                  see bug [ 999914 ] Import fails (multiple skins in XML/one of them with CDATA)
-
-               // backwards compatibility with the non-wellformed skinbackup.xml files
-               // generated by v2/v3 (when CDATA sections were present in skins)
-               // split up those CDATA sections into multiple ones
-               $tempbuffer = preg_replace_callback(
-                       "/(<!\[CDATA\[[^]]*?<!\[CDATA\[[^]]*)((?:\]\].*?<!\[CDATA.*?)*)(\]\])(.*\]\])/ms",
-                       create_function(
-                               '$matches',
-                               'return $matches[1] . preg_replace("/(\]\])(.*?<!\[CDATA)/ms","]]]]><![CDATA[$2",$matches[2])."]]]]><![CDATA[".$matches[4];'
-                       ),
-                       $tempbuffer
-               );
-*/
-               $temp = tmpfile();
-               fwrite($temp, $tempbuffer);
-               rewind($temp);
-
-               while ( ($buffer = fread($temp, 4096) ) && (!$metaOnly || ($metaOnly && !$this->metaDataRead))) {
-                       $err = xml_parse( $this->parser, $buffer, feof($temp) );
-                       if (!$err && $this->debug)
-                               echo 'ERROR: ', xml_error_string(xml_get_error_code($this->parser)), '<br />';
-               }
-
-               // all done
-               $this->inXml = 0;
-               fclose($temp);
-       }
-
-       /**
-        * Returns the list of skin names
-        */
-       function getSkinNames() {
-               return array_keys($this->skins);
-       }
-
-       /**
-        * Returns the list of template names
-        */
-       function getTemplateNames() {
-               return array_keys($this->templates);
-       }
-
-       /**
-        * Returns the extra information included in the XML file
-        */
-       function getInfo() {
-               return $this->info;
-       }
-
-       /**
-        * Writes the skins and templates to the database
-        *
-        * @param $allowOverwrite
-        *              set to 1 when allowed to overwrite existing skins with the same name
-        *              (default = 0)
-        */
-       function writeToDatabase($allowOverwrite = 0) {
-               $existingSkins = $this->checkSkinNameClashes();
-               $existingTemplates = $this->checkTemplateNameClashes();
-
-               // if not allowed to overwrite, check if any nameclashes exists
-               if (!$allowOverwrite) {
-                       if ((sizeof($existingSkins) > 0) || (sizeof($existingTemplates) > 0))
-                               return 'Name clashes detected, re-run with allowOverwrite = 1 to force overwrite';
-               }
-
-               foreach ($this->skins as $skinName => $data) {
-                       // 1. if exists: delete all part data, update desc data
-                       //    if not exists: create desc
-                       if (in_array($skinName, $existingSkins)) {
-                               $skinObj = SKIN::createFromName($skinName);
-
-                               // delete all parts of the skin
-                               $skinObj->deleteAllParts();
-
-                               // update general info
-                               $skinObj->updateGeneralInfo($skinName, $data['description'], $data['type'], $data['includeMode'], $data['includePrefix']);
-                       } else {
-                               $skinid = SKIN::createNew($skinName, $data['description'], $data['type'], $data['includeMode'], $data['includePrefix']);
-                               $skinObj = new SKIN($skinid);
-                       }
-
-                       // 2. add parts
-                       foreach ($data['parts'] as $partName => $partContent) {
-                               $skinObj->update($partName, $partContent);
-                       }
-               }
-
-               foreach ($this->templates as $templateName => $data) {
-                       // 1. if exists: delete all part data, update desc data
-                       //    if not exists: create desc
-                       if (in_array($templateName, $existingTemplates)) {
-                               $templateObj = TEMPLATE::createFromName($templateName);
-
-                               // delete all parts of the template
-                               $templateObj->deleteAllParts();
-
-                               // update general info
-                               $templateObj->updateGeneralInfo($templateName, $data['description']);
-                       } else {
-                               $templateid = TEMPLATE::createNew($templateName, $data['description']);
-                               $templateObj = new TEMPLATE($templateid);
-                       }
-
-                       // 2. add parts
-                       foreach ($data['parts'] as $partName => $partContent) {
-                               $templateObj->update($partName, $partContent);
-                       }
-               }
-
-
-       }
-
-       /**
-         * returns an array of all the skin nameclashes (empty array when no name clashes)
-         */
-       function checkSkinNameClashes() {
-               $clashes = array();
-
-               foreach ($this->skins as $skinName => $data) {
-                       if (SKIN::exists($skinName))
-                               array_push($clashes, $skinName);
-               }
-
-               return $clashes;
-       }
-
-       /**
-         * returns an array of all the template nameclashes
-         * (empty array when no name clashes)
-         */
-       function checkTemplateNameClashes() {
-               $clashes = array();
-
-               foreach ($this->templates as $templateName => $data) {
-                       if (TEMPLATE::exists($templateName))
-                               array_push($clashes, $templateName);
-               }
-
-               return $clashes;
-       }
-
-       /**
-        * Called by XML parser for each new start element encountered
-        */
-       function startElement($parser, $name, $attrs) {
-               foreach($attrs as $key=>$value) $attrs[$key]=htmlspecialchars($value,ENT_QUOTES);
-
-               if ($this->debug) echo 'START: ', htmlspecialchars($name), '<br />';
-
-               switch ($name) {
-                       case 'nucleusskin':
-                               $this->inData = 1;
-                               break;
-                       case 'meta':
-                               $this->inMeta = 1;
-                               break;
-                       case 'info':
-                               // no action needed
-                               break;
-                       case 'skin':
-                               if (!$this->inMeta) {
-                                       $this->inSkin = 1;
-                                       $this->currentName = $attrs['name'];
-                                       $this->skins[$this->currentName]['type'] = $attrs['type'];
-                                       $this->skins[$this->currentName]['includeMode'] = $attrs['includeMode'];
-                                       $this->skins[$this->currentName]['includePrefix'] = $attrs['includePrefix'];
-                                       $this->skins[$this->currentName]['parts'] = array();
-                               } else {
-                                       $this->skins[$attrs['name']] = array();
-                                       $this->skins[$attrs['name']]['parts'] = array();
-                               }
-                               break;
-                       case 'template':
-                               if (!$this->inMeta) {
-                                       $this->inTemplate = 1;
-                                       $this->currentName = $attrs['name'];
-                                       $this->templates[$this->currentName]['parts'] = array();
-                               } else {
-                                       $this->templates[$attrs['name']] = array();
-                                       $this->templates[$attrs['name']]['parts'] = array();
-                               }
-                               break;
-                       case 'description':
-                               // no action needed
-                               break;
-                       case 'part':
-                               $this->currentPartName = $attrs['name'];
-                               break;
-                       default:
-                               echo 'UNEXPECTED TAG: ' , htmlspecialchars($name) , '<br />';
-                               break;
-               }
-
-               // character data never contains other tags
-               $this->clearCharacterData();
-
-       }
-
-       /**
-         * Called by the XML parser for each closing tag encountered
-         */
-       function endElement($parser, $name) {
-               if ($this->debug) echo 'END: ', htmlspecialchars($name), '<br />';
-
-               switch ($name) {
-                       case 'nucleusskin':
-                               $this->inData = 0;
-                               $this->allRead = 1;
-                               break;
-                       case 'meta':
-                               $this->inMeta = 0;
-                               $this->metaDataRead = 1;
-                               break;
-                       case 'info':
-                               $this->info = $this->getCharacterData();
-                       case 'skin':
-                               if (!$this->inMeta) $this->inSkin = 0;
-                               break;
-                       case 'template':
-                               if (!$this->inMeta) $this->inTemplate = 0;
-                               break;
-                       case 'description':
-                               if ($this->inSkin) {
-                                       $this->skins[$this->currentName]['description'] = $this->getCharacterData();
-                               } else {
-                                       $this->templates[$this->currentName]['description'] = $this->getCharacterData();
-                               }
-                               break;
-                       case 'part':
-                               if ($this->inSkin) {
-                                       $this->skins[$this->currentName]['parts'][$this->currentPartName] = $this->getCharacterData();
-                               } else {
-                                       $this->templates[$this->currentName]['parts'][$this->currentPartName] = $this->getCharacterData();
-                               }
-                               break;
-                       default:
-                               echo 'UNEXPECTED TAG: ' , htmlspecialchars($name), '<br />';
-                               break;
-               }
-               $this->clearCharacterData();
-
-       }
-
-       /**
-        * Called by XML parser for data inside elements
-        */
-       function characterData ($parser, $data) {
-               if ($this->debug) echo 'NEW DATA: ', htmlspecialchars($data), '<br />';
-               $this->cdata .= $data;
-       }
-
-       /**
-        * Returns the data collected so far
-        */
-       function getCharacterData() {
-               return $this->cdata;
-       }
-
-       /**
-        * Clears the data buffer
-        */
-       function clearCharacterData() {
-               $this->cdata = '';
-       }
-
-       /**
-        * Static method that looks for importable XML files in subdirs of the given dir
-        */
-       function searchForCandidates($dir) {
-               $candidates = array();
-
-               $dirhandle = opendir($dir);
-               while ($filename = readdir($dirhandle)) {
-                       if (@is_dir($dir . $filename) && ($filename != '.') && ($filename != '..')) {
-                               $xml_file = $dir . $filename . '/skinbackup.xml';
-                               if (file_exists($xml_file) && is_readable($xml_file)) {
-                                       $candidates[$filename] = $filename; //$xml_file;
-                               }
-
-                               // backwards compatibility
-                               $xml_file = $dir . $filename . '/skindata.xml';
-                               if (file_exists($xml_file) && is_readable($xml_file)) {
-                                       $candidates[$filename] = $filename; //$xml_file;
-                               }
-                       }
-               }
-               closedir($dirhandle);
-
-               return $candidates;
-
-       }
-
-
-}
-
-
-class SKINEXPORT {
-
-       var $templates;
-       var $skins;
-       var $info;
-
-       /**
-        * Constructor initializes data structures
-        */
-       function SKINEXPORT() {
-               // list of templateIDs to export
-               $this->templates = array();
-
-               // list of skinIDs to export
-               $this->skins = array();
-
-               // extra info to be in XML file
-               $this->info = '';
-       }
-
-       /**
-        * Adds a template to be exported
-        *
-        * @param id
-        *              template ID
-        * @result false when no such ID exists
-        */
-       function addTemplate($id) {
-               if (!TEMPLATE::existsID($id)) return 0;
-
-               $this->templates[$id] = TEMPLATE::getNameFromId($id);
-
-               return 1;
-       }
-
-       /**
-        * Adds a skin to be exported
-        *
-        * @param id
-        *              skin ID
-        * @result false when no such ID exists
-        */
-       function addSkin($id) {
-               if (!SKIN::existsID($id)) return 0;
-
-               $this->skins[$id] = SKIN::getNameFromId($id);
-
-               return 1;
-       }
-
-       /**
-        * Sets the extra info to be included in the exported file
-        */
-       function setInfo($info) {
-               $this->info = $info;
-       }
-
-
-       /**
-        * Outputs the XML contents of the export file
-        *
-        * @param $setHeaders
-        *              set to 0 if you don't want to send out headers
-        *              (optional, default 1)
-        */
-       function export($setHeaders = 1) {
-               if ($setHeaders) {
-                       // make sure the mimetype is correct, and that the data does not show up
-                       // in the browser, but gets saved into and XML file (popup download window)
-                       header('Content-Type: text/xml');
-                       header('Content-Disposition: attachment; filename="skinbackup.xml"');
-                       header('Expires: 0');
-                       header('Pragma: no-cache');
-               }
-
-               echo "<nucleusskin>\n";
-
-               // meta
-               echo "\t<meta>\n";
-                       // skins
-                       foreach ($this->skins as $skinId => $skinName) {
-                               echo "\t\t", '<skin name="',htmlspecialchars($skinName),'" />',"\n";
-                       }
-                       // templates
-                       foreach ($this->templates as $templateId => $templateName) {
-                               echo "\t\t", '<template name="',htmlspecialchars($templateName),'" />',"\n";
-                       }
-                       // extra info
-                       if ($this->info)
-                               echo "\t\t<info><![CDATA[",$this->info,"]]></info>\n";
-               echo "\t</meta>\n\n\n";
-
-               // contents skins
-               foreach ($this->skins as $skinId => $skinName) {
-                       $skinId = intval($skinId);
-                       $skinObj = new SKIN($skinId);
-
-                       echo "\t", '<skin name="',htmlspecialchars($skinName),'" type="',htmlspecialchars($skinObj->getContentType()),'" includeMode="',htmlspecialchars($skinObj->getIncludeMode()),'" includePrefix="',htmlspecialchars($skinObj->getIncludePrefix()),'">',"\n";
-
-                       echo "\t\t", '<description>',htmlspecialchars($skinObj->getDescription()),'</description>',"\n";
-
-                       $res = sql_query('SELECT stype, scontent FROM '.sql_table('skin').' WHERE sdesc='.$skinId);
-                       while ($partObj = mysql_fetch_object($res)) {
-                               echo "\t\t",'<part name="',htmlspecialchars($partObj->stype),'">';
-                               echo '<![CDATA[', $this->escapeCDATA($partObj->scontent),']]>';
-                               echo "</part>\n\n";
-                       }
-
-                       echo "\t</skin>\n\n\n";
-               }
-
-               // contents templates
-               foreach ($this->templates as $templateId => $templateName) {
-                       $templateId = intval($templateId);
-
-                       echo "\t",'<template name="',htmlspecialchars($templateName),'">',"\n";
-
-                       echo "\t\t",'<description>',htmlspecialchars(TEMPLATE::getDesc($templateId)),'</description>',"\n";
-
-                       $res = sql_query('SELECT tpartname, tcontent FROM '.sql_table('template').' WHERE tdesc='.$templateId);
-                       while ($partObj = mysql_fetch_object($res)) {
-                               echo "\t\t",'<part name="',htmlspecialchars($partObj->tpartname),'">';
-                               echo '<![CDATA[', $this->escapeCDATA($partObj->tcontent) ,']]>';
-                               echo '</part>',"\n\n";
-                       }
-
-                       echo "\t</template>\n\n\n";
-               }
-
-               echo '</nucleusskin>';
-       }
-
-       /**
-        * Escapes CDATA content so it can be included in another CDATA section
-        */
-       function escapeCDATA($cdata)
-       {
-               return preg_replace('/]]>/', ']]]]><![CDATA[>', $cdata);
-
-       }
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/vars4.0.6.php b/euc/nucleus/libs/vars4.0.6.php
deleted file mode 100755 (executable)
index c85bf88..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: vars4.0.6.php,v 1.6 2007-03-22 09:23:58 kimitake Exp $
- * @version $NucleusJP: vars4.0.6.php,v 1.10 2007/02/04 06:28:46 kimitake Exp $
- */
-
-/**
-  * The purpose of the functions below is to avoid declaring HTTP_ vars to be global
-  * everywhere, plus to offer support for php versions before 4.1.0, that do not
-  * have the _GET etc vars
-  */
-function getVar($name) {
-       global $HTTP_GET_VARS;
-
-       if (!isset($HTTP_GET_VARS[$name])) {
-               return;
-       }
-
-       return undoMagic($HTTP_GET_VARS[$name]);
-}
-
-function postVar($name) {
-       global $HTTP_POST_VARS;
-
-       if (!isset($HTTP_POST_VARS[$name])) {
-               return;
-       }
-
-       return undoMagic($HTTP_POST_VARS[$name]);
-}
-
-function cookieVar($name) {
-       global $HTTP_COOKIE_VARS;
-
-       if (!isset($HTTP_COOKIE_VARS[$name])) {
-               return;
-       }
-
-       return undoMagic($HTTP_COOKIE_VARS[$name]);
-}
-
-// request: either POST or GET
-function requestVar($name) {
-       return (postVar($name)) ? postVar($name) : getVar($name);
-}
-
-function serverVar($name) {
-       global $HTTP_SERVER_VARS;
-
-       if (!isset($HTTP_SERVER_VARS[$name])) {
-               return;
-       }
-
-       return $HTTP_SERVER_VARS[$name];
-}
-
-// removes magic quotes if that option is enabled
-function undoMagic($data) {
-       if (!get_magic_quotes_gpc())
-               return $data;
-       if (ini_get('magic_quotes_sybase') != 1)
-               return stripslashes_array($data);
-       else
-               return undoSybaseQuotes_array($data);
-}
-
-function stripslashes_array($data) {
-       return is_array($data) ? array_map('stripslashes_array', $data) : stripslashes($data);
-}
-
-function undoSybaseQuotes_array($data) {
-       return is_array($data) ? array_map('undoSybaseQuotes', $data) : stripslashes($data);
-}
-
-function undoSybaseQuotes($data) {
-       return str_replace("''", "'", $data);
-}
-
-// integer array from request
-function requestIntArray($name) {
-       global $HTTP_POST_VARS;
-
-       if (!isset($HTTP_POST_VARS[$name])) {
-               return;
-       }
-
-       return $HTTP_POST_VARS[$name];
-}
-
-// array from request. Be sure to call undoMagic on the strings inside
-function requestArray($name) {
-       global $HTTP_POST_VARS;
-
-       if (!isset($HTTP_POST_VARS[$name])) {
-               return;
-       }
-
-       return $HTTP_POST_VARS[$name];
-}
-
-
-// add all the variables from the request as hidden input field
-// @see globalfunctions.php#passVar
-function passRequestVars() {
-       global $HTTP_POST_VARS, $HTTP_GET_VARS;
-       foreach ($HTTP_POST_VARS as $key => $value) {
-               if (($key == 'action') && ($value != requestVar('nextaction')))
-                       $key = 'nextaction';
-               // a nextaction of 'showlogin' makes no sense
-               if (($key == 'nextaction') && ($value == 'showlogin'))
-                       continue;
-               if (($key != 'login') && ($key != 'password'))
-                       passVar($key, $value);
-       }
-       foreach ($HTTP_GET_VARS as $key => $value) {
-               if (($key == 'action') && ($value != requestVar('nextaction')))
-                       $key = 'nextaction';
-               // a nextaction of 'showlogin' makes no sense
-               if (($key == 'nextaction') && ($value == 'showlogin'))
-                       continue;
-               if (($key != 'login') && ($key != 'password'))
-                       passVar($key, $value);
-       }
-}
-
-function postFileInfo($name) {
-       global $HTTP_POST_FILES;
-
-       if (!isset($HTTP_POST_FILES[$name])) {
-               return;
-       }
-
-       return $HTTP_POST_FILES[$name];
-}
-
-function setOldAction($value) {
-       global $HTTP_POST_VARS;
-       $HTTP_POST_VARS['oldaction'] = $value;
-}
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/vars4.1.0.php b/euc/nucleus/libs/vars4.1.0.php
deleted file mode 100755 (executable)
index d670710..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: vars4.1.0.php,v 1.6 2007-03-22 09:23:58 kimitake Exp $
- * @version $NucleusJP: vars4.1.0.php,v 1.10 2007/02/04 06:28:46 kimitake Exp $
- */
-
-function getVar($name) {
-       if (!isset($_GET[$name])) {
-               return;
-       }
-
-       return undoMagic($_GET[$name]);
-}
-
-function postVar($name) {
-       if (!isset($_POST[$name])) {
-               return;
-       }
-
-       return undoMagic($_POST[$name]);
-}
-
-function cookieVar($name) {
-       if (!isset($_COOKIE[$name])) {
-               return;
-       }
-
-       return undoMagic($_COOKIE[$name]);
-}
-
-function requestVar($name) {
-       if(array_key_exists($name,$_REQUEST))
-               return undoMagic($_REQUEST[$name]);
-       elseif( array_key_exists($name,$_GET))
-               return undoMagic($_GET[$name]);
-       elseif( array_key_exists($name,$_POST))
-               return undoMagic($_POST[$name]);
-       else
-               return;
-}
-
-function serverVar($name) {
-       if (!isset($_SERVER[$name])) {
-               return false;
-       }
-
-       return $_SERVER[$name];
-}
-
-// removes magic quotes if that option is enabled
-function undoMagic($data) {
-       if (!get_magic_quotes_gpc())
-               return $data;
-       if (ini_get('magic_quotes_sybase') != 1)
-               return stripslashes_array($data);
-       else
-               return undoSybaseQuotes_array($data);
-}
-
-function stripslashes_array($data) {
-       return is_array($data) ? array_map('stripslashes_array', $data) : stripslashes($data);
-}
-
-function undoSybaseQuotes_array($data) {
-       return is_array($data) ? array_map('undoSybaseQuotes', $data) : stripslashes($data);
-}
-
-function undoSybaseQuotes($data) {
-       return str_replace("''", "'", $data);
-}
-
-// integer array from request
-function requestIntArray($name) {
-       if (!isset($_REQUEST[$name])) {
-               return;
-       }
-
-       return $_REQUEST[$name];
-}
-
-// array from request. Be sure to call undoMagic on the strings inside
-function requestArray($name) {
-       if (!isset($_REQUEST[$name])) {
-               return;
-       }
-
-       return $_REQUEST[$name];
-}
-
-// add all the variables from the request as hidden input field
-// @see globalfunctions.php#passVar
-function passRequestVars() {
-       foreach ($_REQUEST as $key => $value) {
-               if (($key == 'action') && ($value != requestVar('nextaction')))
-                       $key = 'nextaction';
-
-               // a nextaction of 'showlogin' makes no sense
-               if (($key == 'nextaction') && ($value == 'showlogin'))
-                       continue;
-
-               if (($key != 'login') && ($key != 'password'))
-                       passVar($key, $value);
-       }
-}
-
-function postFileInfo($name) {
-       if (!isset($_FILES[$name])) {
-               return;
-       }
-
-       return $_FILES[$name];
-}
-
-function setOldAction($value) {
-       $_POST['oldaction'] = $value;
-}
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/libs/xmlrpc.inc.php b/euc/nucleus/libs/xmlrpc.inc.php
deleted file mode 100755 (executable)
index 67b2639..0000000
+++ /dev/null
@@ -1,2218 +0,0 @@
-<?php                                  // -*-c++-*-
-// by Edd Dumbill (C) 1999-2002
-// <edd@usefulinc.com>
-// $Id: xmlrpc.inc.php,v 1.7 2007-03-22 09:23:58 kimitake Exp $
-// $NucleusJP: xmlrpc.inc.php,v 1.6 2006/07/12 07:11:47 kimitake Exp $
-
-
-// Copyright (c) 1999,2000,2002 Edd Dumbill.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-//    * Redistributions of source code must retain the above copyright
-//      notice, this list of conditions and the following disclaimer.
-//
-//    * Redistributions in binary form must reproduce the above
-//      copyright notice, this list of conditions and the following
-//      disclaimer in the documentation and/or other materials provided
-//      with the distribution.
-//
-//    * Neither the name of the "XML-RPC for PHP" nor the names of its
-//      contributors may be used to endorse or promote products derived
-//      from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-       if (!function_exists('xml_parser_create'))
-       {
-               // Win 32 fix. From: 'Leo West' <lwest@imaginet.fr>
-               if($WINDIR)
-               {
-                       dl('php3_xml.dll');
-               }
-               else
-               {
-                       dl('xml.so');
-               }
-       }
-
-       // G. Giunta 2005/01/29: declare global these variables,
-       // so that xmlrpc.inc will work even if included from within a function
-       // NB: it will give warnings in PHP3, so we comment it out
-       // Milosch: Next round, maybe we should explicitly request these via $GLOBALS where used.
-       if (phpversion() >= '4')
-       {
-               global $xmlrpcI4;
-               global $xmlrpcInt;
-               global $xmlrpcDouble;
-               global $xmlrpcBoolean;
-               global $xmlrpcString;
-               global $xmlrpcDateTime;
-               global $xmlrpcBase64;
-               global $xmlrpcArray;
-               global $xmlrpcStruct;
-
-               global $xmlrpcTypes;
-               global $xmlEntities;
-               global $xmlrpcerr;
-               global $xmlrpcstr;
-               global $xmlrpc_defencoding;
-               global $xmlrpc_internalencoding;
-               global $xmlrpcName;
-               global $xmlrpcVersion;
-               global $xmlrpcerruser;
-               global $xmlrpcerrxml;
-               global $xmlrpc_backslash;
-               global $_xh;
-       }
-       $xmlrpcI4='i4';
-       $xmlrpcInt='int';
-       $xmlrpcBoolean='boolean';
-       $xmlrpcDouble='double';
-       $xmlrpcString='string';
-       $xmlrpcDateTime='dateTime.iso8601';
-       $xmlrpcBase64='base64';
-       $xmlrpcArray='array';
-       $xmlrpcStruct='struct';
-
-       $xmlrpcTypes=array(
-               $xmlrpcI4       => 1,
-               $xmlrpcInt      => 1,
-               $xmlrpcBoolean  => 1,
-               $xmlrpcString   => 1,
-               $xmlrpcDouble   => 1,
-               $xmlrpcDateTime => 1,
-               $xmlrpcBase64   => 1,
-               $xmlrpcArray    => 2,
-               $xmlrpcStruct   => 3
-       );
-
-       $xmlrpc_valid_parents = array(
-               'BOOLEAN' => array('VALUE' => 'VALUE'),
-               'I4' => array('VALUE' => 'VALUE'),
-               'INT' => array('VALUE' => 'VALUE'),
-               'STRING' => array('VALUE' => 'VALUE'),
-               'DOUBLE' => array('VALUE' => 'VALUE'),
-               'DATETIME.ISO8601' => array('VALUE' => 'VALUE'),
-               'BASE64' => array('VALUE' => 'VALUE'),
-               'ARRAY' => array('VALUE' => 'VALUE'),
-               'STRUCT' => array('VALUE' => 'VALUE'),
-               'PARAM' => array('PARAMS' => 'PARAMS'),
-               'METHODNAME' => array('METHODCALL' => 'METHODCALL'),
-               'PARAMS' => array('METHODCALL' => 'METHODCALL', 'METHODRESPONSE' => 'METHODRESPONSE'),
-               'MEMBER' => array('STRUCT' => 'STRUCT'),
-               'NAME' => array('MEMBER' => 'MEMBER'),
-               'DATA' => array('ARRAY' => 'ARRAY'),
-               'FAULT' => array('METHODRESPONSE' => 'METHODRESPONSE'),
-               'VALUE' => array('MEMBER' => 'MEMBER', 'DATA' => 'DATA', 'PARAM' => 'PARAM', 'FAULT' => 'FAULT')
-       );
-
-       $xmlEntities=array(
-               'amp'  => '&',
-               'quot' => '"',
-               'lt'   => '<',
-               'gt'   => '>',
-               'apos' => "'"
-       );
-
-       $xmlrpcerr['unknown_method']=1;
-       $xmlrpcstr['unknown_method']='Unknown method';
-       $xmlrpcerr['invalid_return']=2;
-       $xmlrpcstr['invalid_return']='Invalid return payload: enable debugging to examine incoming payload';
-       $xmlrpcerr['incorrect_params']=3;
-       $xmlrpcstr['incorrect_params']='Incorrect parameters passed to method';
-       $xmlrpcerr['introspect_unknown']=4;
-       $xmlrpcstr['introspect_unknown']="Can't introspect: method unknown";
-       $xmlrpcerr['http_error']=5;
-       $xmlrpcstr['http_error']="Didn't receive 200 OK from remote server.";
-       $xmlrpcerr['no_data']=6;
-       $xmlrpcstr['no_data']='No data received from server.';
-       $xmlrpcerr['no_ssl']=7;
-       $xmlrpcstr['no_ssl']='No SSL support compiled in.';
-       $xmlrpcerr['curl_fail']=8;
-       $xmlrpcstr['curl_fail']='CURL error';
-       $xmlrpcerr['invalid_request']=15;
-       $xmlrpcstr['invalid_request']='Invalid request payload';
-
-       $xmlrpcerr['multicall_notstruct'] = 9;
-       $xmlrpcstr['multicall_notstruct'] = 'system.multicall expected struct';
-       $xmlrpcerr['multicall_nomethod']  = 10;
-       $xmlrpcstr['multicall_nomethod']  = 'missing methodName';
-       $xmlrpcerr['multicall_notstring'] = 11;
-       $xmlrpcstr['multicall_notstring'] = 'methodName is not a string';
-       $xmlrpcerr['multicall_recursion'] = 12;
-       $xmlrpcstr['multicall_recursion'] = 'recursive system.multicall forbidden';
-       $xmlrpcerr['multicall_noparams']  = 13;
-       $xmlrpcstr['multicall_noparams']  = 'missing params';
-       $xmlrpcerr['multicall_notarray']  = 14;
-       $xmlrpcstr['multicall_notarray']  = 'params is not an array';
-
-       // The charset encoding expected by the server for received messages and
-       // by the client for received responses
-       $xmlrpc_defencoding='UTF-8';
-       // The encoding used by PHP.
-       // String values received will be converted to this.
-       $xmlrpc_internalencoding='ISO-8859-1';
-
-       $xmlrpcName='XML-RPC for PHP';
-       $xmlrpcVersion='1.2.1';
-
-       // let user errors start at 800
-       $xmlrpcerruser=800;
-       // let XML parse errors start at 100
-       $xmlrpcerrxml=100;
-
-       // formulate backslashes for escaping regexp
-       $xmlrpc_backslash=chr(92).chr(92);
-
-       // used to store state during parsing
-       // quick explanation of components:
-       //   ac - used to accumulate values
-       //   isf - used to indicate a fault
-       //   lv - used to indicate "looking for a value": implements
-       //        the logic to allow values with no types to be strings
-       //   params - used to store parameters in method calls
-       //   method - used to store method name
-       //   stack - array with genealogy of xml elements names:
-       //           used to validate nesting of xmlrpc elements
-
-       $_xh=array();
-
-       /**
-       * To help correct communication of non-ascii chars inside strings, regardless
-       * of the charset used when sending requests, parsing them, sending responses
-       * and parsing responses, convert all non-ascii chars present in the message
-       * into their equivalent 'charset entity'. Charset entities enumerated this way
-       * are independent of the charset encoding used to transmit them, and all XML
-       * parsers are bound to understand them.
-       */
-       function xmlrpc_entity_decode($string)
-       {
-               $top=split('&', $string);
-               $op='';
-               $i=0;
-               while($i<sizeof($top))
-               {
-                       if (ereg("^([#a-zA-Z0-9]+);", $top[$i], $regs))
-                       {
-                               $op.=ereg_replace("^[#a-zA-Z0-9]+;",
-                               xmlrpc_lookup_entity($regs[1]),
-                               $top[$i]);
-                       }
-                       else
-                       {
-                               if ($i==0)
-                               {
-                                       $op=$top[$i];
-                               }
-                               else
-                               {
-                                       $op.='&' . $top[$i];
-                               }
-                       }
-                       $i++;
-               }
-               return $op;
-       }
-
-       function xmlrpc_lookup_entity($ent)
-       {
-               global $xmlEntities;
-
-               if (isset($xmlEntities[strtolower($ent)]))
-               {
-                       return $xmlEntities[strtolower($ent)];
-               }
-               if (ereg("^#([0-9]+)$", $ent, $regs))
-               {
-                       return chr($regs[1]);
-               }
-               return '?';
-       }
-
-       /**
-        * These entities originate from HTML specs (1.1, proposed 2.0, etc),
-        * and are taken directly from php-4.3.1/ext/mbstring/html_entities.c.
-        * Until php provides functionality to translate these entities in its
-        * core library, use this function.
-        */
-       function xmlrpc_html_entity_xlate($data = '')
-       {
-               $entities = array(
-                       "&nbsp;" => "&#160;",
-                       "&iexcl;" => "&#161;",
-                       "&cent;" => "&#162;",
-                       "&pound;" => "&#163;",
-                       "&curren;" => "&#164;",
-                       "&yen;" => "&#165;",
-                       "&brvbar;" => "&#166;",
-                       "&sect;" => "&#167;",
-                       "&uml;" => "&#168;",
-                       "&copy;" => "&#169;",
-                       "&ordf;" => "&#170;",
-                       "&laquo;" => "&#171;",
-                       "&not;" => "&#172;",
-                       "&shy;" => "&#173;",
-                       "&reg;" => "&#174;",
-                       "&macr;" => "&#175;",
-                       "&deg;" => "&#176;",
-                       "&plusmn;" => "&#177;",
-                       "&sup2;" => "&#178;",
-                       "&sup3;" => "&#179;",
-                       "&acute;" => "&#180;",
-                       "&micro;" => "&#181;",
-                       "&para;" => "&#182;",
-                       "&middot;" => "&#183;",
-                       "&cedil;" => "&#184;",
-                       "&sup1;" => "&#185;",
-                       "&ordm;" => "&#186;",
-                       "&raquo;" => "&#187;",
-                       "&frac14;" => "&#188;",
-                       "&frac12;" => "&#189;",
-                       "&frac34;" => "&#190;",
-                       "&iquest;" => "&#191;",
-                       "&Agrave;" => "&#192;",
-                       "&Aacute;" => "&#193;",
-                       "&Acirc;" => "&#194;",
-                       "&Atilde;" => "&#195;",
-                       "&Auml;" => "&#196;",
-                       "&Aring;" => "&#197;",
-                       "&AElig;" => "&#198;",
-                       "&Ccedil;" => "&#199;",
-                       "&Egrave;" => "&#200;",
-                       "&Eacute;" => "&#201;",
-                       "&Ecirc;" => "&#202;",
-                       "&Euml;" => "&#203;",
-                       "&Igrave;" => "&#204;",
-                       "&Iacute;" => "&#205;",
-                       "&Icirc;" => "&#206;",
-                       "&Iuml;" => "&#207;",
-                       "&ETH;" => "&#208;",
-                       "&Ntilde;" => "&#209;",
-                       "&Ograve;" => "&#210;",
-                       "&Oacute;" => "&#211;",
-                       "&Ocirc;" => "&#212;",
-                       "&Otilde;" => "&#213;",
-                       "&Ouml;" => "&#214;",
-                       "&times;" => "&#215;",
-                       "&Oslash;" => "&#216;",
-                       "&Ugrave;" => "&#217;",
-                       "&Uacute;" => "&#218;",
-                       "&Ucirc;" => "&#219;",
-                       "&Uuml;" => "&#220;",
-                       "&Yacute;" => "&#221;",
-                       "&THORN;" => "&#222;",
-                       "&szlig;" => "&#223;",
-                       "&agrave;" => "&#224;",
-                       "&aacute;" => "&#225;",
-                       "&acirc;" => "&#226;",
-                       "&atilde;" => "&#227;",
-                       "&auml;" => "&#228;",
-                       "&aring;" => "&#229;",
-                       "&aelig;" => "&#230;",
-                       "&ccedil;" => "&#231;",
-                       "&egrave;" => "&#232;",
-                       "&eacute;" => "&#233;",
-                       "&ecirc;" => "&#234;",
-                       "&euml;" => "&#235;",
-                       "&igrave;" => "&#236;",
-                       "&iacute;" => "&#237;",
-                       "&icirc;" => "&#238;",
-                       "&iuml;" => "&#239;",
-                       "&eth;" => "&#240;",
-                       "&ntilde;" => "&#241;",
-                       "&ograve;" => "&#242;",
-                       "&oacute;" => "&#243;",
-                       "&ocirc;" => "&#244;",
-                       "&otilde;" => "&#245;",
-                       "&ouml;" => "&#246;",
-                       "&divide;" => "&#247;",
-                       "&oslash;" => "&#248;",
-                       "&ugrave;" => "&#249;",
-                       "&uacute;" => "&#250;",
-                       "&ucirc;" => "&#251;",
-                       "&uuml;" => "&#252;",
-                       "&yacute;" => "&#253;",
-                       "&thorn;" => "&#254;",
-                       "&yuml;" => "&#255;",
-                       "&OElig;" => "&#338;",
-                       "&oelig;" => "&#339;",
-                       "&Scaron;" => "&#352;",
-                       "&scaron;" => "&#353;",
-                       "&Yuml;" => "&#376;",
-                       "&fnof;" => "&#402;",
-                       "&circ;" => "&#710;",
-                       "&tilde;" => "&#732;",
-                       "&Alpha;" => "&#913;",
-                       "&Beta;" => "&#914;",
-                       "&Gamma;" => "&#915;",
-                       "&Delta;" => "&#916;",
-                       "&Epsilon;" => "&#917;",
-                       "&Zeta;" => "&#918;",
-                       "&Eta;" => "&#919;",
-                       "&Theta;" => "&#920;",
-                       "&Iota;" => "&#921;",
-                       "&Kappa;" => "&#922;",
-                       "&Lambda;" => "&#923;",
-                       "&Mu;" => "&#924;",
-                       "&Nu;" => "&#925;",
-                       "&Xi;" => "&#926;",
-                       "&Omicron;" => "&#927;",
-                       "&Pi;" => "&#928;",
-                       "&Rho;" => "&#929;",
-                       "&Sigma;" => "&#931;",
-                       "&Tau;" => "&#932;",
-                       "&Upsilon;" => "&#933;",
-                       "&Phi;" => "&#934;",
-                       "&Chi;" => "&#935;",
-                       "&Psi;" => "&#936;",
-                       "&Omega;" => "&#937;",
-                       "&beta;" => "&#946;",
-                       "&gamma;" => "&#947;",
-                       "&delta;" => "&#948;",
-                       "&epsilon;" => "&#949;",
-                       "&zeta;" => "&#950;",
-                       "&eta;" => "&#951;",
-                       "&theta;" => "&#952;",
-                       "&iota;" => "&#953;",
-                       "&kappa;" => "&#954;",
-                       "&lambda;" => "&#955;",
-                       "&mu;" => "&#956;",
-                       "&nu;" => "&#957;",
-                       "&xi;" => "&#958;",
-                       "&omicron;" => "&#959;",
-                       "&pi;" => "&#960;",
-                       "&rho;" => "&#961;",
-                       "&sigmaf;" => "&#962;",
-                       "&sigma;" => "&#963;",
-                       "&tau;" => "&#964;",
-                       "&upsilon;" => "&#965;",
-                       "&phi;" => "&#966;",
-                       "&chi;" => "&#967;",
-                       "&psi;" => "&#968;",
-                       "&omega;" => "&#969;",
-                       "&thetasym;" => "&#977;",
-                       "&upsih;" => "&#978;",
-                       "&piv;" => "&#982;",
-                       "&ensp;" => "&#8194;",
-                       "&emsp;" => "&#8195;",
-                       "&thinsp;" => "&#8201;",
-                       "&zwnj;" => "&#8204;",
-                       "&zwj;" => "&#8205;",
-                       "&lrm;" => "&#8206;",
-                       "&rlm;" => "&#8207;",
-                       "&ndash;" => "&#8211;",
-                       "&mdash;" => "&#8212;",
-                       "&lsquo;" => "&#8216;",
-                       "&rsquo;" => "&#8217;",
-                       "&sbquo;" => "&#8218;",
-                       "&ldquo;" => "&#8220;",
-                       "&rdquo;" => "&#8221;",
-                       "&bdquo;" => "&#8222;",
-                       "&dagger;" => "&#8224;",
-                       "&Dagger;" => "&#8225;",
-                       "&bull;" => "&#8226;",
-                       "&hellip;" => "&#8230;",
-                       "&permil;" => "&#8240;",
-                       "&prime;" => "&#8242;",
-                       "&Prime;" => "&#8243;",
-                       "&lsaquo;" => "&#8249;",
-                       "&rsaquo;" => "&#8250;",
-                       "&oline;" => "&#8254;",
-                       "&frasl;" => "&#8260;",
-                       "&euro;" => "&#8364;",
-                       "&weierp;" => "&#8472;",
-                       "&image;" => "&#8465;",
-                       "&real;" => "&#8476;",
-                       "&trade;" => "&#8482;",
-                       "&alefsym;" => "&#8501;",
-                       "&larr;" => "&#8592;",
-                       "&uarr;" => "&#8593;",
-                       "&rarr;" => "&#8594;",
-                       "&darr;" => "&#8595;",
-                       "&harr;" => "&#8596;",
-                       "&crarr;" => "&#8629;",
-                       "&lArr;" => "&#8656;",
-                       "&uArr;" => "&#8657;",
-                       "&rArr;" => "&#8658;",
-                       "&dArr;" => "&#8659;",
-                       "&hArr;" => "&#8660;",
-                       "&forall;" => "&#8704;",
-                       "&part;" => "&#8706;",
-                       "&exist;" => "&#8707;",
-                       "&empty;" => "&#8709;",
-                       "&nabla;" => "&#8711;",
-                       "&isin;" => "&#8712;",
-                       "&notin;" => "&#8713;",
-                       "&ni;" => "&#8715;",
-                       "&prod;" => "&#8719;",
-                       "&sum;" => "&#8721;",
-                       "&minus;" => "&#8722;",
-                       "&lowast;" => "&#8727;",
-                       "&radic;" => "&#8730;",
-                       "&prop;" => "&#8733;",
-                       "&infin;" => "&#8734;",
-                       "&ang;" => "&#8736;",
-                       "&and;" => "&#8743;",
-                       "&or;" => "&#8744;",
-                       "&cap;" => "&#8745;",
-                       "&cup;" => "&#8746;",
-                       "&int;" => "&#8747;",
-                       "&there4;" => "&#8756;",
-                       "&sim;" => "&#8764;",
-                       "&cong;" => "&#8773;",
-                       "&asymp;" => "&#8776;",
-                       "&ne;" => "&#8800;",
-                       "&equiv;" => "&#8801;",
-                       "&le;" => "&#8804;",
-                       "&ge;" => "&#8805;",
-                       "&sub;" => "&#8834;",
-                       "&sup;" => "&#8835;",
-                       "&nsub;" => "&#8836;",
-                       "&sube;" => "&#8838;",
-                       "&supe;" => "&#8839;",
-                       "&oplus;" => "&#8853;",
-                       "&otimes;" => "&#8855;",
-                       "&perp;" => "&#8869;",
-                       "&sdot;" => "&#8901;",
-                       "&lceil;" => "&#8968;",
-                       "&rceil;" => "&#8969;",
-                       "&lfloor;" => "&#8970;",
-                       "&rfloor;" => "&#8971;",
-                       "&lang;" => "&#9001;",
-                       "&rang;" => "&#9002;",
-                       "&loz;" => "&#9674;",
-                       "&spades;" => "&#9824;",
-                       "&clubs;" => "&#9827;",
-                       "&hearts;" => "&#9829;",
-                       "&diams;" => "&#9830;");
-               return strtr($data, $entities);
-       }
-
-       function xmlrpc_encode_entitites($data) 
-       {
-               $length = strlen($data);
-               $escapeddata = "";
-               for($position = 0; $position < $length; $position++)
-               {
-                       $character = substr($data, $position, 1);
-                       $code = Ord($character);
-                       switch($code) {
-                               case 34:
-                               $character = "&quot;";
-                               break;
-                               case 38:
-                               $character = "&amp;";
-                               break;
-                               case 39:
-                               $character = "&apos;";
-                               break;
-                               case 60:
-                               $character = "&lt;";
-                               break;
-                               case 62:
-                               $character = "&gt;";
-                               break;
-                               default:
-                               if ($code < 32 || $code > 159)
-                                       $character = ("&#".strval($code).";");
-                               break;
-                       }
-                       $escapeddata .= $character;
-               }
-               return $escapeddata;
-       }
-
-       function xmlrpc_se($parser, $name, $attrs)
-       {
-               global $_xh, $xmlrpcDateTime, $xmlrpcString, $xmlrpc_valid_parents;
-
-               // if invalid xmlrpc already detected, skip all processing
-               if ($_xh[$parser]['isf'] < 2)
-               {
-
-               // check for correct element nesting
-               // top level element can only be of 2 types
-               if ($_xh[$parser]['sp'] == 0)
-               {
-                       if ($name != 'METHODRESPONSE' && $name != 'METHODCALL')
-                       {
-                               $_xh[$parser]['isf'] = 2;
-                               $_xh[$parser]['isf_reason'] = 'missing top level xmlrpc element';
-                               return;
-                       }
-               }
-               else
-               {
-                       // not top level element: see if parent is OK
-                       $parent = $_xh[$parser]['stack'][$_xh[$parser]['sp']-1];
-                       if (!isset($xmlrpc_valid_parents[$name][$parent]))
-                       {
-                               $_xh[$parser]['isf'] = 2;
-                               $_xh[$parser]['isf_reason'] = "xmlrpc element $name cannot be child of $parent";
-                               return;
-                       }
-               }
-
-               switch($name)
-               {
-                       case 'STRUCT':
-                       case 'ARRAY':
-                               //$_xh[$parser]['st'].='array(';
-                               //$_xh[$parser]['cm']++;
-                               // this last line turns quoting off
-                               // this means if we get an empty array we'll
-                               // simply get a bit of whitespace in the eval
-                               //$_xh[$parser]['qt']=0;
-
-                               // create an empty array to hold child values, and push it onto appropriate stack
-                               $cur_val = array();
-                               $cur_val['values'] = array();
-                               $cur_val['type'] = $name;
-                               $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']] = $cur_val;
-                               $_xh[$parser]['vsp']++;
-                               break;
-                       case 'METHODNAME':
-                       case 'NAME':
-                               //$_xh[$parser]['st'].='"';
-                               $_xh[$parser]['ac']='';
-                               break;
-                       case 'FAULT':
-                               $_xh[$parser]['isf']=1;
-                               break;
-                       case 'PARAM':
-                               //$_xh[$parser]['st']='';
-                               // clear value, so we can check later if no value will passed for this param/member
-                               $_xh[$parser]['value']='';
-                               break;
-                       case 'VALUE':
-                               //$_xh[$parser]['st'].='new xmlrpcval(';
-                               // look for a value: if this is still true by the
-                               // time we reach the end tag for value then the type is string
-                               // by implication
-                               $_xh[$parser]['vt']='value';
-                               $_xh[$parser]['ac']='';
-                               //$_xh[$parser]['qt']=0;
-                               $_xh[$parser]['lv']=1;
-                               break;
-                       case 'I4':
-                       case 'INT':
-                       case 'STRING':
-                       case 'BOOLEAN':
-                       case 'DOUBLE':
-                       case 'DATETIME.ISO8601':
-                       case 'BASE64':
-                               if ($_xh[$parser]['vt']!='value')
-                               {
-                                       //two data elements inside a value: an error occurred!
-                                       $_xh[$parser]['isf'] = 2;
-                                       $_xh[$parser]['isf_reason'] = "$name element following a {$_xh[$parser]['vt']} element inside a single value";
-                                       return;
-                               }
-
-                               // reset the accumulator
-                               $_xh[$parser]['ac']='';
-
-                               /*if ($name=='DATETIME.ISO8601' || $name=='STRING')
-                               {
-                                       $_xh[$parser]['qt']=1;
-                                       if ($name=='DATETIME.ISO8601')
-                                       {
-                                               $_xh[$parser]['vt']=$xmlrpcDateTime;
-                                       }
-                               }
-                               elseif ($name=='BASE64')
-                               {
-                                       $_xh[$parser]['qt']=2;
-                               }
-                               else
-                               {
-                                       // No quoting is required here -- but
-                                       // at the end of the element we must check
-                                       // for data format errors.
-                                       $_xh[$parser]['qt']=0;
-                               }*/
-                               break;
-                       case 'MEMBER':
-                               //$_xh[$parser]['ac']='';
-                               // avoid warnings later on if no NAME is found before VALUE inside
-                               // a struct member predefining member name as NULL
-                               $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['name'] = '';
-                               // clear value, so we can check later if no value will passed for this param/member
-                               $_xh[$parser]['value']='';
-                               break;
-                       case 'DATA':
-                       case 'METHODCALL':
-                       case 'METHODRESPONSE':
-                       case 'PARAMS':
-                               // valid elements that add little to processing
-                               break;
-                       default:
-                               /// INVALID ELEMENT: RAISE ISF so that it is later recognized!!!
-                               $_xh[$parser]['isf'] = 2;
-                               $_xh[$parser]['isf_reason'] = "found not-xmlrpc xml element $name";
-                               break;
-               }
-
-               // Save current element name to stack, to validate nesting
-               $_xh[$parser]['stack'][$_xh[$parser]['sp']] = $name;
-               $_xh[$parser]['sp']++;
-
-               if ($name!='VALUE')
-               {
-                       $_xh[$parser]['lv']=0;
-               }
-       }
-       }
-
-       function xmlrpc_ee($parser, $name)
-       {
-               global $_xh,$xmlrpcTypes,$xmlrpcString,$xmlrpcDateTime;
-
-               if ($_xh[$parser]['isf'] < 2)
-               {
-
-               // push this element name from stack
-               // NB: if XML validates, correct opening/closing is guaranteed and
-               // we do not have to check for $name == $curr_elem.
-               // we also checked for proper nesting at start of elements...
-               $_xh[$parser]['sp']--;
-               $curr_elem = $_xh[$parser]['stack'][$_xh[$parser]['sp']];
-               unset($_xh[$parser]['stack'][$_xh[$parser]['sp']]); 
-               switch($name)
-               {
-                       case 'STRUCT':
-                       case 'ARRAY':
-                               //if ($_xh[$parser]['cm'] && substr($_xh[$parser]['st'], -1) ==',')
-                               //{
-                               //      $_xh[$parser]['st']=substr($_xh[$parser]['st'],0,-1);
-                               //}
-                               //$_xh[$parser]['st'].=')';
-
-                               // fetch out of stack array of values, and promote it to current value
-                               $_xh[$parser]['vsp']--;
-                               $cur_val = $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']];
-                               unset($_xh[$parser]['valuestack'][$_xh[$parser]['vsp']]);
-                               $_xh[$parser]['value'] = $cur_val['values'];
-
-                               $_xh[$parser]['vt']=strtolower($name);
-                               //$_xh[$parser]['cm']--;
-                               break;
-                       case 'NAME':
-                               //$_xh[$parser]['st'].= $_xh[$parser]['ac'] . '" => ';
-                               $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['name'] = $_xh[$parser]['ac'];
-                               break;
-                       case 'BOOLEAN':
-                       case 'I4':
-                       case 'INT':
-                       case 'STRING':
-                       case 'DOUBLE':
-                       case 'DATETIME.ISO8601':
-                       case 'BASE64':
-                               $_xh[$parser]['vt']=strtolower($name);
-                               //if ($_xh[$parser]['qt']==1)                   
-                               if ($name=='STRING')
-                               {
-                                       // we use double quotes rather than single so backslashification works OK
-                                       //$_xh[$parser]['st'].='"'. $_xh[$parser]['ac'] . '"';
-                                       $_xh[$parser]['value']=$_xh[$parser]['ac'];
-                               }
-                               elseif ($name=='DATETIME.ISO8601')
-                               {
-                                       $_xh[$parser]['vt']=$xmlrpcDateTime;
-                                       $_xh[$parser]['value']=$_xh[$parser]['ac'];
-                               }
-                               elseif ($name=='BASE64')
-                               {
-                                       //$_xh[$parser]['st'].='base64_decode("'. $_xh[$parser]['ac'] . '")';
-
-                                       ///@todo check for failure of base64 decoding / catch warnings
-                                       $_xh[$parser]['value']=base64_decode($_xh[$parser]['ac']);
-                               }
-                               elseif ($name=='BOOLEAN')
-                               {
-                                       // special case here: we translate boolean 1 or 0 into PHP
-                                       // constants true or false
-                                       // NB: this simple checks helps a lot sanitizing input, ie no
-                                       // security problems around here
-
-                                       // [MOD] S. Verberkt (Legolas) (13/02/2006 21:16): Also accept 'true' and 'false'
-                                       if ($_xh[$parser]['ac']=='1' || strcasecmp($_xh[$parser]['ac'], 'true') == 0)
-                                       {
-                                               //$_xh[$parser]['ac']='true';   
-                                               $_xh[$parser]['value']=true;
-                                       }
-                                       else
-                                       {
-                                               //$_xh[$parser]['ac']='false';
-                                               // log if receiveing something strange, even though we set the value to false anyway
-                                               if ($_xh[$parser]['ac']!='0' && strcasecmp($_xh[$parser]['ac'], 'false') != 0)
-                                                       error_log('XML-RPC: invalid value received in BOOLEAN: '.$_xh[$parser]['ac']);
-                                               $_xh[$parser]['value']=false;
-                                       }
-                                       // [/MOD]
-
-                                       //$_xh[$parser]['st'].=$_xh[$parser]['ac'];
-                               }
-                               elseif ($name=='DOUBLE')
-                               {
-                                       // we have a DOUBLE
-                                       // we must check that only 0123456789-.<space> are characters here
-                                       if (!ereg("^[+-]?[eE0123456789 \\t\\.]+$", $_xh[$parser]['ac']))
-                                       {
-                                               // TODO: find a better way of throwing an error
-                                               // than this!
-                                               error_log('XML-RPC: non numeric value received in DOUBLE: '.$_xh[$parser]['ac']);
-                                               //$_xh[$parser]['st'].="'ERROR_NON_NUMERIC_FOUND'";
-                                               $_xh[$parser]['value']='ERROR_NON_NUMERIC_FOUND';
-                                       }
-                                       else
-                                       {
-                                               // it's ok, add it on
-                                               //$_xh[$parser]['st'].=(double)$_xh[$parser]['ac'];
-                                               $_xh[$parser]['value']=(double)$_xh[$parser]['ac'];
-                                       }
-                               }
-                               else
-                               {
-                                       // we have an I4/INT
-                                       // we must check that only 0123456789-<space> are characters here
-                                       if (!ereg("^[+-]?[0123456789 \\t]+$", $_xh[$parser]['ac']))
-                                       {
-                                               // TODO: find a better way of throwing an error
-                                               // than this!
-                                               error_log('XML-RPC: non numeric value received in INT: '.$_xh[$parser]['ac']);
-                                               //$_xh[$parser]['st'].="'ERROR_NON_NUMERIC_FOUND'";
-                                               $_xh[$parser]['value']='ERROR_NON_NUMERIC_FOUND';
-                                       }
-                                       else
-                                       {
-                                               // it's ok, add it on
-                                               //$_xh[$parser]['st'].=(int)$_xh[$parser]['ac'];
-                                               $_xh[$parser]['value']=(int)$_xh[$parser]['ac'];
-                                       }
-                               }
-                               $_xh[$parser]['ac']='';
-                               //$_xh[$parser]['qt']=0;
-                               $_xh[$parser]['lv']=3; // indicate we've found a value
-                               break;
-                       case 'VALUE':
-                               // This if() detects if no scalar was inside <VALUE></VALUE>
-                               if ($_xh[$parser]['vt']=='value')
-                               {
-                                       $_xh[$parser]['value']=$_xh[$parser]['ac'];
-                                       $_xh[$parser]['vt']=$xmlrpcString;
-                               }
-                               /*if (strlen($_xh[$parser]['ac'])>0 &&
-                                       $_xh[$parser]['vt']==$xmlrpcString)
-                               {
-                                       $_xh[$parser]['st'].='"'. $_xh[$parser]['ac'] . '"';
-                               }
-                               // This if() detects if no scalar was inside <VALUE></VALUE>
-                               // and pads an empty ''.
-                               if($_xh[$parser]['st'][strlen($_xh[$parser]['st'])-1] == '(')
-                               {
-                                       $_xh[$parser]['st'].= '""';
-                               }
-                               // G. Giunta 2005/03/12 save some chars in the reconstruction of string vals...
-                               if ($_xh[$parser]['vt'] != $xmlrpcString)
-                                       $_xh[$parser]['st'].=", '" . $_xh[$parser]['vt'] . "')";
-                               else
-                                       $_xh[$parser]['st'].=")";
-                               if ($_xh[$parser]['cm'])
-                               {
-                                       $_xh[$parser]['st'].=',';
-                               }*/
-
-                               // build the xmlrpc val out of the data received, and substitute it
-                               $temp = new xmlrpcval($_xh[$parser]['value'], $_xh[$parser]['vt']);
-                               // check if we are inside an array or struct:
-                               // if value just built is inside an array, let's move it into array on the stack
-                               if ($_xh[$parser]['vsp'] && $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['type']=='ARRAY')
-                               {
-                                       $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['values'][] = $temp;
-                               }
-                               else
-                               {
-                               $_xh[$parser]['value'] = $temp;
-                               }
-                               break;
-                       case 'MEMBER':
-                               $_xh[$parser]['ac']='';
-                               //$_xh[$parser]['qt']=0;
-                               // add to array in the stack the last element built
-                               // unless no VALUE was found
-                               if ($_xh[$parser]['value'])
-                               {
-                                       $_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['values'][$_xh[$parser]['valuestack'][$_xh[$parser]['vsp']-1]['name']] = $_xh[$parser]['value'];
-                               }
-                               else
-                                       error_log('XML-RPC: missing VALUE inside STRUCT in received xml');
-                               break;
-                       case 'DATA':
-                               $_xh[$parser]['ac']='';
-                               //$_xh[$parser]['qt']=0;
-                               break;
-                       case 'PARAM':
-                               //$_xh[$parser]['params'][]=$_xh[$parser]['st'];
-                               if ($_xh[$parser]['value'])
-                                       $_xh[$parser]['params'][]=$_xh[$parser]['value'];
-                               else
-                                       error_log('XML-RPC: missing VALUE inside PARAM in received xml');
-                               break;
-                       case 'METHODNAME':
-                               $_xh[$parser]['method']=ereg_replace("^[\n\r\t ]+", '', $_xh[$parser]['ac']);
-                               break;
-                       case 'PARAMS':
-                       case 'FAULT':
-                       case 'METHODCALL':
-                       case 'METHORESPONSE':
-                               break;
-                       default:
-                               // End of INVALID ELEMENT!
-                               // shall we add an assert here for unreachable code???
-                               break;
-               }
-               // if it's a valid type name, set the type
-               /*if (isset($xmlrpcTypes[strtolower($name)]))
-               {
-                       $_xh[$parser]['vt']=strtolower($name);
-               }*/
-
-               }
-       }
-
-       function xmlrpc_cd($parser, $data)
-       {
-               global $_xh, $xmlrpc_backslash;
-
-               //if (ereg("^[\n\r \t]+$", $data)) return;
-               // print "adding [${data}]\n";
-
-               // skip processing if xml fault already detected
-               if ($_xh[$parser]['isf'] < 2)
-               {
-               if ($_xh[$parser]['lv']!=3)
-               {
-                       // "lookforvalue==3" means that we've found an entire value
-                       // and should discard any further character data
-                       if ($_xh[$parser]['lv']==1)
-                       {
-                               // if we've found text and we're just in a <value> then
-                               // turn quoting on, as this will be a string
-                                       //$_xh[$parser]['qt']=1;
-                               // and say we've found a value
-                               $_xh[$parser]['lv']=2;
-                       }
-                       if(!@isset($_xh[$parser]['ac']))
-                       {
-                               $_xh[$parser]['ac'] = '';
-                       }
-                               //$_xh[$parser]['ac'].=str_replace('$', '\$', str_replace('"', '\"', str_replace(chr(92),$xmlrpc_backslash, $data)));
-                               $_xh[$parser]['ac'].=$data;
-                       }
-               }
-       }
-
-       function xmlrpc_dh($parser, $data)
-       {
-               global $_xh, $xmlrpc_backslash;
-
-               // skip processing if xml fault already detected
-               if ($_xh[$parser]['isf'] < 2)
-               {
-               if (substr($data, 0, 1) == '&' && substr($data, -1, 1) == ';')
-               {
-                       if ($_xh[$parser]['lv']==1)
-                       {
-                                       //$_xh[$parser]['qt']=1;
-                               $_xh[$parser]['lv']=2;
-                       }
-                               //$_xh[$parser]['ac'].=str_replace('$', '\$', str_replace('"', '\"', str_replace(chr(92),$xmlrpc_backslash, $data)));
-                               $_xh[$parser]['ac'].=$data;
-                       }
-               }
-       }
-
-       class xmlrpc_client
-       {
-               var $path;
-               var $server;
-               var $port;
-               var $errno;
-               var $errstr;
-               var $debug=0;
-               var $username='';
-               var $password='';
-               var $cert='';
-               var $certpass='';
-               var $verifypeer=1;
-               var $verifyhost=1;
-               var $no_multicall=false;
-
-               function xmlrpc_client($path, $server, $port=0)
-               {
-                       $this->port=$port; $this->server=$server; $this->path=$path;
-               }
-
-               function setDebug($in)
-               {
-                       if ($in)
-                       {
-                               $this->debug=1;
-                       }
-                       else
-                       {
-                               $this->debug=0;
-                       }
-               }
-
-               function setCredentials($u, $p)
-               {
-                       $this->username=$u;
-                       $this->password=$p;
-               }
-
-               function setCertificate($cert, $certpass)
-               {
-                       $this->cert = $cert;
-                       $this->certpass = $certpass;
-               }
-
-               function setSSLVerifyPeer($i)
-               {
-                       $this->verifypeer = $i;
-               }
-
-               function setSSLVerifyHost($i)
-               {
-                       $this->verifyhost = $i;
-               }
-
-               function send($msg, $timeout=0, $method='http')
-               {
-                       if (is_array($msg))
-                       {
-                               // $msg is an array of xmlrpcmsg's
-                               return $this->multicall($msg, $timeout, $method);
-                       }
-
-                       // where msg is an xmlrpcmsg
-                       $msg->debug=$this->debug;
-
-                       if ($method == 'https')
-                       {
-                               return $this->sendPayloadHTTPS($msg,
-                               $this->server,
-                               $this->port, $timeout,
-                               $this->username, $this->password,
-                               $this->cert,
-                               $this->certpass);
-                       }
-                       else
-                       {
-                               return $this->sendPayloadHTTP10($msg, $this->server, $this->port,
-                               $timeout, $this->username, 
-                               $this->password);
-                       }
-               }
-
-               function sendPayloadHTTP10($msg, $server, $port, $timeout=0,$username='', $password='')
-               {
-                       global $xmlrpcerr, $xmlrpcstr, $xmlrpcName, $xmlrpcVersion, $xmlrpc_defencoding;
-                       if ($port==0)
-                       {
-                               $port=80;
-                       }
-                       if($timeout>0)
-                       {
-                               $fp=@fsockopen($server, $port,$this->errno, $this->errstr, $timeout);
-                       }
-                       else
-                       {
-                               $fp=@fsockopen($server, $port,$this->errno, $this->errstr);
-                       }
-                       if ($fp)
-                       {
-                               if ($timeout>0 && function_exists('stream_set_timeout'))
-                                       stream_set_timeout($fp, $timeout);
-                       }
-                       else
-                       {
-                               $this->errstr='Connect error';
-                               $r=new xmlrpcresp(0, $xmlrpcerr['http_error'],$xmlrpcstr['http_error']);
-                               return $r;
-                       }
-                       // Only create the payload if it was not created previously
-                       if(empty($msg->payload))
-                       {
-                               $msg->createPayload();
-                       }
-
-                       // thanks to Grant Rauscher <grant7@firstworld.net>
-                       // for this
-                       $credentials='';
-                       if ($username!='')
-                       {
-                               $credentials='Authorization: Basic ' . base64_encode($username . ':' . $password) . "\r\n";
-                       }
-
-                       $op= "POST " . $this->path. " HTTP/1.0\r\n" .
-                               "User-Agent: " . $xmlrpcName . " " . $xmlrpcVersion . "\r\n" .
-                               "Host: ". $server . "\r\n" .
-                               $credentials . 
-                               "Accept-Charset: " . $xmlrpc_defencoding . "\r\n" .
-                               "Content-Type: text/xml\r\nContent-Length: " .
-                               strlen($msg->payload) . "\r\n\r\n" .
-                               $msg->payload;
-
-                       if (!fputs($fp, $op, strlen($op)))
-                       {
-                               $this->errstr='Write error';
-                               $r=new xmlrpcresp(0, $xmlrpcerr['http_error'], $xmlrpcstr['http_error']);
-                               return $r;
-                       }
-                       $resp=$msg->parseResponseFile($fp);
-                       fclose($fp);
-                       return $resp;
-               }
-
-               // contributed by Justin Miller <justin@voxel.net>
-               // requires curl to be built into PHP
-               function sendPayloadHTTPS($msg, $server, $port, $timeout=0,$username='', $password='', $cert='',$certpass='')
-               {
-                       global $xmlrpcerr, $xmlrpcstr, $xmlrpcVersion, $xmlrpc_internalencoding;
-                       if ($port == 0)
-                       {
-                               $port = 443;
-                       }
-
-                       // Only create the payload if it was not created previously
-                       if(empty($msg->payload))
-                       {
-                               $msg->createPayload();
-                       }
-
-                       if (!function_exists('curl_init'))
-                       {
-                               $this->errstr='SSL unavailable on this install';
-                               $r=new xmlrpcresp(0, $xmlrpcerr['no_ssl'], $xmlrpcstr['no_ssl']);
-                               return $r;
-                       }
-
-                       $curl = curl_init('https://' . $server . ':' . $port . $this->path);
-
-                       curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
-                       // results into variable
-                       if ($this->debug)
-                       {
-                               curl_setopt($curl, CURLOPT_VERBOSE, 1);
-                       }
-                       curl_setopt($curl, CURLOPT_USERAGENT, 'PHP XMLRPC '.$xmlrpcVersion);
-                       // required for XMLRPC
-                       curl_setopt($curl, CURLOPT_POST, 1);
-                       // post the data
-                       curl_setopt($curl, CURLOPT_POSTFIELDS, $msg->payload);
-                       // the data
-                       curl_setopt($curl, CURLOPT_HEADER, 1);
-                       // return the header too
-                       curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: text/xml', 'Accept-Charset: '.$xmlrpc_internalencoding));
-                       // whether to verify remote host's cert
-                       curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $this->verifypeer);
-                       // whether to verify cert's common name (CN); 0 for no, 1 to verify that it exists, and 2 to verify that it matches the hostname used
-                       curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, $this->verifyhost);
-                       // required for XMLRPC
-                       if ($timeout)
-                       {
-                               curl_setopt($curl, CURLOPT_TIMEOUT, $timeout == 1 ? 1 : $timeout - 1);
-                       }
-                       // timeout is borked
-                       if ($username && $password)
-                       {
-                               curl_setopt($curl, CURLOPT_USERPWD,"$username:$password");
-                       }
-                       // set auth stuff
-                       if ($cert)
-                       {
-                               curl_setopt($curl, CURLOPT_SSLCERT, $cert);
-                       }
-                       // set cert file
-                       if ($certpass)
-                       {
-                               curl_setopt($curl, CURLOPT_SSLCERTPASSWD,$certpass);
-                       }
-                       // set cert password
-
-                       $result = curl_exec($curl);
-
-                       if (!$result)
-                       {
-                               $this->errstr='no response';
-                               $resp=new xmlrpcresp(0, $xmlrpcerr['curl_fail'], $xmlrpcstr['curl_fail']. ': '. curl_error($curl));
-                               curl_close($curl);
-                       }
-                       else
-                       {
-                               curl_close($curl);
-                               $resp = $msg->parseResponse($result);
-                       }
-                       return $resp;
-               }
-
-               function multicall($msgs, $timeout=0, $method='http')
-               {
-                       $results = false;
-
-                       if (! $this->no_multicall)
-                       {
-                               $results = $this->_try_multicall($msgs, $timeout, $method);
-                               /* TODO - this is not php3-friendly */
-                               // if($results !== false)
-                               if(is_array($results))
-                               {
-                                       // Either the system.multicall succeeded, or the send
-                                       // failed (e.g. due to HTTP timeout). In either case,
-                                       // we're done for now.
-                                       return $results;
-                               }
-                               else
-                               {
-                                       // system.multicall unsupported by server,
-                                       // don't try it next time...
-                                       $this->no_multicall = true;
-                               }
-                       }
-
-                       // system.multicall is unupported by server:
-                       //   Emulate multicall via multiple requests
-                       $results = array();
-                       //foreach($msgs as $msg)
-                       @reset($msgs);
-                       while(list(,$msg) = @each($msgs))
-                       {
-                               $results[] = $this->send($msg, $timeout, $method);
-                       }
-                       return $results;
-               }
-
-               // Attempt to boxcar $msgs via system.multicall.
-               function _try_multicall($msgs, $timeout, $method)
-               {
-                       // Construct multicall message
-                       $calls = array();
-                       //foreach($msgs as $msg)
-                       @reset($msgs);
-                       while(list(,$msg) = @each($msgs))
-                       {
-                               $call['methodName'] = new xmlrpcval($msg->method(),'string');
-                               $numParams = $msg->getNumParams();
-                               $params = array();
-                               for ($i = 0; $i < $numParams; $i++)
-                               {
-                                       $params[$i] = $msg->getParam($i);
-                               }
-                               $call['params'] = new xmlrpcval($params, 'array');
-                               $calls[] = new xmlrpcval($call, 'struct');
-                       }
-                       $multicall = new xmlrpcmsg('system.multicall');
-                       $multicall->addParam(new xmlrpcval($calls, 'array'));
-
-                       // Attempt RPC call
-                       $result = $this->send($multicall, $timeout, $method);
-                       if(!is_object($result))
-                       {
-                               return ($result || 0); // transport failed
-                       }
-
-                       if($result->faultCode() != 0)
-                       {
-                               return false;           // system.multicall failed
-                       }
-
-                       // Unpack responses.
-                       $rets = $result->value();
-                       if($rets->kindOf() != 'array')
-                       {
-                               return false;           // bad return type from system.multicall
-                       }
-                       $numRets = $rets->arraysize();
-                       if($numRets != count($msgs))
-                       {
-                               return false;           // wrong number of return values.
-                       }
-
-                       $response = array();
-                       for ($i = 0; $i < $numRets; $i++)
-                       {
-                               $val = $rets->arraymem($i);
-                               switch ($val->kindOf())
-                               {
-                               case 'array':
-                                       if($val->arraysize() != 1)
-                                       {
-                                               return false;           // Bad value
-                                       }
-                                       // Normal return value
-                                       $response[$i] = new xmlrpcresp($val->arraymem(0));
-                                       break;
-                               case 'struct':
-                                       $code = $val->structmem('faultCode');
-                                       if($code->kindOf() != 'scalar' || $code->scalartyp() != 'int')
-                                       {
-                                               return false;
-                                       }
-                                       $str = $val->structmem('faultString');
-                                       if($str->kindOf() != 'scalar' || $str->scalartyp() != 'string')
-                                       {
-                                               return false;
-                                       }
-                                       $response[$i] = new xmlrpcresp(0, $code->scalarval(), $str->scalarval());
-                                       break;
-                               default:
-                                       return false;
-                               }
-                       }
-                       return $response;
-               }
-       } // end class xmlrpc_client
-
-       class xmlrpcresp
-       {
-               var $val = 0;
-               var $errno = 0;
-               var $errstr = '';
-               var $hdrs = array();
-
-               function xmlrpcresp($val, $fcode = 0, $fstr = '')
-               {
-                       if ($fcode != 0)
-                       {
-                               // error
-                               $this->errno = $fcode;
-                               $this->errstr = $fstr;
-                               //$this->errstr = htmlspecialchars($fstr); // XXX: encoding probably shouldn't be done here; fix later.
-                       }
-                       elseif (!is_object($val))
-                       {
-                               // programmer error
-                               error_log("Invalid type '" . gettype($val) . "' (value: $val) passed to xmlrpcresp. Defaulting to empty value.");
-                               $this->val = new xmlrpcval();
-                       }
-                       else
-                       {
-                               // success
-                               $this->val = $val;
-                       }
-               }
-
-               function faultCode()
-               {
-                       return $this->errno;
-               }
-
-               function faultString()
-               {
-                       return $this->errstr;
-               }
-
-               function value()
-               {
-                       return $this->val;
-               }
-
-               function serialize()
-               {
-                       $result = "<methodResponse>\n";
-                       if ($this->errno)
-                       {
-                               // G. Giunta 2005/2/13: let non-ASCII response messages be tolerated by clients
-                               $result .= '<fault>
-<value>
-<struct>
-<member>
-<name>faultCode</name>
-<value><int>' . $this->errno . '</int></value>
-</member>
-<member>
-<name>faultString</name>
-<value><string>' . xmlrpc_encode_entitites($this->errstr) . '</string></value>
-</member>
-</struct>
-</value>
-</fault>';
-                       }
-                       else
-                       {
-                               $result .= "<params>\n<param>\n" .
-                                       $this->val->serialize() . 
-                                       "</param>\n</params>";
-                       }
-                       $result .= "\n</methodResponse>";
-                       return $result;
-               }
-       }
-
-       class xmlrpcmsg
-       {
-               var $payload;
-               var $methodname;
-               var $params=array();
-               var $debug=0;
-
-               function xmlrpcmsg($meth, $pars=0)
-               {
-                       $this->methodname=$meth;
-                       if (is_array($pars) && sizeof($pars)>0)
-                       {
-                               for($i=0; $i<sizeof($pars); $i++)
-                               {
-                                       $this->addParam($pars[$i]);
-                               }
-                       }
-               }
-
-               function xml_header()
-               {
-                       return "<?xml version=\"1.0\"?" . ">\n<methodCall>\n";
-               }
-
-               function xml_footer()
-               {
-                       return "</methodCall>\n";
-               }
-
-               function createPayload()
-               {
-                       $this->payload=$this->xml_header();
-                       $this->payload.='<methodName>' . $this->methodname . "</methodName>\n";
-                       //      if (sizeof($this->params)) {
-                       $this->payload.="<params>\n";
-                       for($i=0; $i<sizeof($this->params); $i++)
-                       {
-                               $p=$this->params[$i];
-                               $this->payload.="<param>\n" . $p->serialize() .
-                               "</param>\n";
-                       }
-                       $this->payload.="</params>\n";
-                       // }
-                       $this->payload.=$this->xml_footer();
-                       //$this->payload=str_replace("\n", "\r\n", $this->payload);
-               }
-
-               function method($meth='')
-               {
-                       if ($meth!='')
-                       {
-                               $this->methodname=$meth;
-                       }
-                       return $this->methodname;
-               }
-
-               function serialize()
-               {
-                       $this->createPayload();
-                       return $this->payload;
-               }
-
-               function addParam($par) { $this->params[]=$par; }
-               function getParam($i) { return $this->params[$i]; }
-               function getNumParams() { return sizeof($this->params); }
-
-               function parseResponseFile($fp)
-               {
-                       $ipd='';
-                       while($data=fread($fp, 32768))
-                       {
-                               $ipd.=$data;
-                       }
-                       return $this->parseResponse($ipd);
-               }
-
-               function parseResponse($data='')
-               {
-                       global $_xh,$xmlrpcerr,$xmlrpcstr;
-                       global $xmlrpc_defencoding, $xmlrpc_internalencoding;
-
-                       $hdrfnd = 0;
-                       if($this->debug)
-                       {
-                               //by maHo, replaced htmlspecialchars with htmlentities
-                               print "<PRE>---GOT---\n" . htmlentities($data) . "\n---END---\n</PRE>";
-                       }
-
-                       if($data == '')
-                       {
-                               error_log('No response received from server.');
-                               $r = new xmlrpcresp(0, $xmlrpcerr['no_data'], $xmlrpcstr['no_data']);
-                               return $r;
-                       }
-                       // see if we got an HTTP 200 OK, else bomb
-                       // but only do this if we're using the HTTP protocol.
-                       if(ereg("^HTTP",$data))
-                       {
-                               // Strip HTTP 1.1 100 Continue header if present
-                               while (ereg('^HTTP/1.1 1[0-9]{2}', $data))
-                               {
-                                       $pos = strpos($data, 'HTTP', 12);
-                                       // server sent a Continue header without any (valid) content following...
-                                       // give the client a chance to know it
-                                       if (!$pos && !is_int($pos)) // works fine in php 3, 4 and 5
-                                               break;
-                                       $data = substr($data, $pos);
-                               }
-                               if (!ereg("^HTTP/[0-9\\.]+ 200 ", $data))
-                               {
-                                       $errstr= substr($data, 0, strpos($data, "\n")-1);
-                                       error_log('HTTP error, got response: ' .$errstr);
-                                       $r=new xmlrpcresp(0, $xmlrpcerr['http_error'], $xmlrpcstr['http_error']. ' (' . $errstr . ')');
-                                       return $r;
-                               }
-                       }
-                       $parser = xml_parser_create($xmlrpc_defencoding);
-
-                       // G. Giunta 2004/04/06
-                       // Clean up the accumulator, or it will grow indefinitely long
-                       // if making xmlrpc calls for a while
-                       $_xh=array();
-                       $_xh[$parser]=array();
-                       $_xh[$parser]['headers'] = array();
-                       $_xh[$parser]['stack'] = array();
-                       $_xh[$parser]['sp'] = 0;
-                       $_xh[$parser]['valuestack'] = array();
-                       $_xh[$parser]['vsp'] = 0;
-
-                       // separate HTTP headers from data
-                       if (ereg("^HTTP", $data))
-                       {
-                               // be tolerant to usage of \n instead of \r\n to separate headers and data
-                               // (even though it is not valid http)
-                               $pos = strpos($data,"\r\n\r\n");
-                               if($pos || is_int($pos))
-                                       $bd = $pos+4;
-                               else
-                               {
-                                       $pos = strpos($data,"\n\n");
-                                       if($pos || is_int($pos))
-                                               $bd = $pos+2;
-                                       else
-                                       {
-                                               // No separation between response headers and body: fault?
-                                               $bd = 0;
-                                       }
-                               }
-                               // be tolerant to line endings, and extra empty lines
-                               $ar = split("\r?\n", trim(substr($data, 0, $pos)));
-                               while (list(,$line) = @each($ar))
-                               {
-                                       // take care of multi-line headers
-                                       $arr = explode(':',$line);
-                                       if(count($arr) > 1)
-                                       {
-                                               $header_name = trim($arr[0]);
-                                               // TO DO: some headers (the ones that allow a CSV list of values)
-                                               // do allow many values to be passed using multiple header lines.
-                                               // We should add content to $_xh[$parser]['headers'][$header_name]
-                                               // instead of replacing it for those...
-                                               $_xh[$parser]['headers'][$header_name] = $arr[1];
-                                               for ($i = 2; $i < count($arr); $i++)
-                                               {
-                                                       $_xh[$parser]['headers'][$header_name] .= ':'.$arr[$i];
-                                               } // while
-                                               $_xh[$parser]['headers'][$header_name] = trim($_xh[$parser]['headers'][$header_name]);
-                                       } else if (isset($header_name))
-                                       {
-                                               $_xh[$parser]['headers'][$header_name] .= ' ' . trim($line);
-                                       }
-                               }
-                               $data = substr($data, $bd);
-
-                               if ($this->debug && count($_xh[$parser]['headers']))
-                               {
-                                       print '<PRE>';
-                                       //foreach ($_xh[$parser]['headers'] as $header)
-                                       @reset($_xh[$parser]['headers']);
-                                       while(list($header, $value) = @each($_xh[$parser]['headers']))
-                                       {
-                                               print "HEADER: $header: $value\n";
-                                       }
-                                       print "</PRE>\n";
-                               }
-                       }
-
-                       // be tolerant of extra whitespace in response body
-                       $data = trim($data);
-
-                       // be tolerant of junk after methodResponse (e.g. javascript automatically inserted by free hosts)
-                       // idea from Luca Mariano <luca.mariano@email.it> originally in PEARified version of the lib
-                       $bd = false;
-                       $pos = strpos($data, "</methodResponse>");
-                       while ($pos || is_int($pos))
-                       {
-                               $bd = $pos+17;
-                               $pos = strpos($data, "</methodResponse>", $bd);
-                       }
-                       if ($bd)
-                               $data = substr($data, 0, $bd);
-
-                       //$_xh[$parser]['st']='';
-                       //$_xh[$parser]['cm']=0;
-                       $_xh[$parser]['isf']=0;
-                       $_xh[$parser]['isf_reason']=0;
-                       $_xh[$parser]['ac']='';
-                       //$_xh[$parser]['qt']='';
-
-                       xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, true);
-                       // G. Giunta 2005/02/13: PHP internally uses ISO-8859-1, so we have to tell
-                       // the xml parser to give us back data in the expected charset
-                       xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, $xmlrpc_internalencoding);
-
-                       xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee');
-                       xml_set_character_data_handler($parser, 'xmlrpc_cd');
-                       xml_set_default_handler($parser, 'xmlrpc_dh');
-                       //$xmlrpc_value=new xmlrpcval;
-
-                       if (!xml_parse($parser, $data, sizeof($data)))
-                       {
-                               // thanks to Peter Kocks <peter.kocks@baygate.com>
-                               if((xml_get_current_line_number($parser)) == 1)
-                               {
-                                       $errstr = 'XML error at line 1, check URL';
-                               }
-                               else
-                               {
-                                       $errstr = sprintf('XML error: %s at line %d',
-                                               xml_error_string(xml_get_error_code($parser)),
-                                               xml_get_current_line_number($parser));
-                               }
-                               error_log($errstr);
-                               $r=new xmlrpcresp(0, $xmlrpcerr['invalid_return'], $xmlrpcstr['invalid_return'].' ('.$errstr.')');
-                               xml_parser_free($parser);
-                               if ($this->debug)
-                                       echo $errstr;
-                               $r->hdrs = $_xh[$parser]['headers'];
-                               return $r;
-                       }
-                       xml_parser_free($parser);
-
-                       if ($_xh[$parser]['isf'] > 1)
-                       {
-                       if ($this->debug)
-                       {
-                                       ///@todo echo something for user?
-                               }
-
-                               $r = new xmlrpcresp(0, $xmlrpcerr['invalid_return'],
-                               $xmlrpcstr['invalid_return'] . ' ' . $_xh[$parser]['isf_reason']);
-                       }
-                       //else if (strlen($_xh[$parser]['st'])==0)
-                       else if (!is_object($_xh[$parser]['value']))
-                       {
-                               // then something odd has happened
-                               // and it's time to generate a client side error
-                               // indicating something odd went on
-                               $r=new xmlrpcresp(0, $xmlrpcerr['invalid_return'],
-                               $xmlrpcstr['invalid_return']);
-                       }
-                       else
-                       {
-
-                               if ($this->debug)
-                               {
-                                       //print "<PRE>---EVALING---[" .
-                                       //strlen($_xh[$parser]['st']) . " chars]---\n" .
-                                       //htmlspecialchars($_xh[$parser]['st']) . ";\n---END---</PRE>";
-                                       print "<PRE>---PARSED---\n" ;
-                                       var_dump($_xh[$parser]['value']);
-                                       print "\n---END---</PRE>";
-                               }
-
-                               //$allOK=0;
-                               //@eval('$v=' . $_xh[$parser]['st'] . '; $allOK=1;');
-                               //if (!$allOK)
-                               //{
-                               //      $r = new xmlrpcresp(0, $xmlrpcerr['invalid_return'], $xmlrpcstr['invalid_return']);
-                               //}
-                               //else
-                               $v = $_xh[$parser]['value'];
-                               if ($_xh[$parser]['isf'])
-                               {
-                                       $errno_v = $v->structmem('faultCode');
-                                       $errstr_v = $v->structmem('faultString');
-                                       $errno = $errno_v->scalarval();
-
-                                       if ($errno == 0)
-                                       {
-                                               // FAULT returned, errno needs to reflect that
-                                               $errno = -1;
-                                       }
-
-                                       $r = new xmlrpcresp($v, $errno, $errstr_v->scalarval());
-                               }
-                               else
-                               {
-                                       $r=new xmlrpcresp($v);
-                               }
-                       }
-
-                       $r->hdrs = $_xh[$parser]['headers'];
-                       return $r;
-               }
-       }
-
-       class xmlrpcval
-       {
-               var $me=array();
-               var $mytype=0;
-
-               function xmlrpcval($val=-1, $type='')
-               {
-                       global $xmlrpcTypes;
-                       $this->me=array();
-                       $this->mytype=0;
-                       if ($val!=-1 || !is_int($val) || $type!='')
-                       {
-                               if ($type=='')
-                               {
-                                       $type='string';
-                               }
-                               if ($xmlrpcTypes[$type]==1)
-                               {
-                                       $this->addScalar($val,$type);
-                               }
-                               elseif ($xmlrpcTypes[$type]==2)
-                               {
-                                       $this->addArray($val);
-                               }
-                               elseif ($xmlrpcTypes[$type]==3)
-                               {
-                                       $this->addStruct($val);
-                               }
-                       }
-               }
-
-               function addScalar($val, $type='string')
-               {
-                       global $xmlrpcTypes, $xmlrpcBoolean;
-
-                       if ($this->mytype==1)
-                       {
-                               echo '<B>xmlrpcval</B>: scalar can have only one value<BR>';
-                               return 0;
-                       }
-                       $typeof=$xmlrpcTypes[$type];
-                       if ($typeof!=1)
-                       {
-                               echo '<B>xmlrpcval</B>: not a scalar type (${typeof})<BR>';
-                               return 0;
-                       }
-
-                       if ($type==$xmlrpcBoolean)
-                       {
-                               if (strcasecmp($val,'true')==0 || $val==1 || ($val==true && strcasecmp($val,'false')))
-                               {
-                                       $val=1;
-                               }
-                               else
-                               {
-                                       $val=0;
-                               }
-                       }
-
-                       if ($this->mytype==2)
-                       {
-                               // we're adding to an array here
-                               $ar=$this->me['array'];
-                               $ar[]=new xmlrpcval($val, $type);
-                               $this->me['array']=$ar;
-                       }
-                       else
-                       {
-                               // a scalar, so set the value and remember we're scalar
-                               $this->me[$type]=$val;
-                               $this->mytype=$typeof;
-                       }
-                       return 1;
-               }
-
-               function addArray($vals)
-               {
-                       global $xmlrpcTypes;
-                       if ($this->mytype!=0)
-                       {
-                               echo '<B>xmlrpcval</B>: already initialized as a [' . $this->kindOf() . ']<BR>';
-                               return 0;
-                       }
-
-                       $this->mytype=$xmlrpcTypes['array'];
-                       $this->me['array']=$vals;
-                       return 1;
-               }
-
-               function addStruct($vals)
-               {
-                       global $xmlrpcTypes;
-                       if ($this->mytype!=0)
-                       {
-                               echo '<B>xmlrpcval</B>: already initialized as a [' . $this->kindOf() . ']<BR>';
-                               return 0;
-                       }
-                       $this->mytype=$xmlrpcTypes['struct'];
-                       $this->me['struct']=$vals;
-                       return 1;
-               }
-
-               function dump($ar)
-               {
-                       reset($ar);
-                       while ( list( $key, $val ) = each( $ar ) )
-                       {
-                               echo "$key => $val<br>";
-                               if ($key == 'array')
-                               {
-                                       while ( list( $key2, $val2 ) = each( $val ) )
-                                       {
-                                               echo "-- $key2 => $val2<br>";
-                                       }
-                               }
-                       }
-               }
-
-               function kindOf()
-               {
-                       switch($this->mytype)
-                       {
-                               case 3:
-                                       return 'struct';
-                                       break;
-                               case 2:
-                                       return 'array';
-                                       break;
-                               case 1:
-                                       return 'scalar';
-                                       break;
-                               default:
-                                       return 'undef';
-                       }
-               }
-
-               function serializedata($typ, $val)
-               {
-                       $rs='';
-                       global $xmlrpcTypes, $xmlrpcBase64, $xmlrpcString,
-                       $xmlrpcBoolean;
-                       switch(@$xmlrpcTypes[$typ])
-                       {
-                               case 3:
-                                       // struct
-                                       $rs.="<struct>\n";
-                                       reset($val);
-                                       while(list($key2, $val2)=each($val))
-                                       {
-                                               $rs.="<member><name>${key2}</name>\n";
-                                               $rs.=$this->serializeval($val2);
-                                               $rs.="</member>\n";
-                                       }
-                                       $rs.='</struct>';
-                                       break;
-                               case 2:
-                                       // array
-                                       $rs.="<array>\n<data>\n";
-                                       for($i=0; $i<sizeof($val); $i++)
-                                       {
-                                               $rs.=$this->serializeval($val[$i]);
-                                       }
-                                       $rs.="</data>\n</array>";
-                                       break;
-                               case 1:
-                                       switch ($typ)
-                                       {
-                                               case $xmlrpcBase64:
-                                                       $rs.="<${typ}>" . base64_encode($val) . "</${typ}>";
-                                                       break;
-                                               case $xmlrpcBoolean:
-                                                       $rs.="<${typ}>" . ($val ? '1' : '0') . "</${typ}>";
-                                                       break;
-                                               case $xmlrpcString:
-                                                       // G. Giunta 2005/2/13: do NOT use htmlentities, since
-                                                       // it will produce named html entities, which are invalid xml
-                                                       // $rs.="<${typ}>" . xmlrpc_encode_entitites($val). "</${typ}>";
-                                                       // $rs.="<${typ}>" . htmlentities($val). "</${typ}>";
-                                                       
-                                                       // N. Leenheer 2005/6/30: Use CDATA instead... 
-                                                       $rs.="<${typ}><![CDATA[" . $val. "]]></${typ}>";
-                                                       break;
-                                               default:
-                                                       $rs.="<${typ}>${val}</${typ}>";
-                                       }
-                                       break;
-                               default:
-                                       break;
-                       }
-                       return $rs;
-               }
-
-               function serialize()
-               {
-                       return $this->serializeval($this);
-               }
-
-               function serializeval($o)
-               {
-                       //global $xmlrpcTypes;
-                       $rs='';
-                       $ar=$o->me;
-                       reset($ar);
-                       list($typ, $val) = each($ar);
-                       $rs.='<value>';
-                       $rs.=$this->serializedata($typ, $val);
-                       $rs.="</value>\n";
-                       return $rs;
-               }
-
-               function structmem($m)
-               {
-                       $nv=$this->me['struct'][$m];
-                       return $nv;
-               }
-
-               function structreset()
-               {
-                       reset($this->me['struct']);
-               }
-
-               function structeach()
-               {
-                       return each($this->me['struct']);
-               }
-
-               function getval()
-               {
-                       // UNSTABLE
-                       global $xmlrpcBoolean, $xmlrpcBase64;
-                       reset($this->me);
-                       list($a,$b)=each($this->me);
-                       // contributed by I Sofer, 2001-03-24
-                       // add support for nested arrays to scalarval
-                       // i've created a new method here, so as to
-                       // preserve back compatibility
-
-                       if (is_array($b))
-                       {
-                               @reset($b);
-                               while(list($id,$cont) = @each($b))
-                               {
-                                       $b[$id] = $cont->scalarval();
-                               }
-                       }
-
-                       // add support for structures directly encoding php objects
-                       if (is_object($b))
-                       {
-                               $t = get_object_vars($b);
-                               @reset($t);
-                               while(list($id,$cont) = @each($t))
-                               {
-                                       $t[$id] = $cont->scalarval();
-                               }
-                               @reset($t);
-                               while(list($id,$cont) = @each($t))
-                               {
-                                       //eval('$b->'.$id.' = $cont;');
-                                       @$b->$id = $cont;
-                               }
-                       }
-                       // end contrib
-                       return $b;
-               }
-
-               function scalarval()
-               {
-                       //global $xmlrpcBoolean, $xmlrpcBase64;
-                       reset($this->me);
-                       list($a,$b)=each($this->me);
-                       return $b;
-               }
-
-               function scalartyp()
-               {
-                       global $xmlrpcI4, $xmlrpcInt;
-                       reset($this->me);
-                       list($a,$b)=each($this->me);
-                       if ($a==$xmlrpcI4)
-                       {
-                               $a=$xmlrpcInt;
-                       }
-                       return $a;
-               }
-
-               function arraymem($m)
-               {
-                       $nv=$this->me['array'][$m];
-                       return $nv;
-               }
-
-               function arraysize()
-               {
-                       reset($this->me);
-                       list($a,$b)=each($this->me);
-                       return sizeof($b);
-               }
-       }
-
-       // date helpers
-       function iso8601_encode($timet, $utc=0)
-       {
-               // return an ISO8601 encoded string
-               // really, timezones ought to be supported
-               // but the XML-RPC spec says:
-               //
-               // "Don't assume a timezone. It should be specified by the server in its
-               // documentation what assumptions it makes about timezones."
-               // 
-               // these routines always assume localtime unless 
-               // $utc is set to 1, in which case UTC is assumed
-               // and an adjustment for locale is made when encoding
-               if (!$utc)
-               {
-                       $t=strftime("%Y%m%dT%H:%M:%S", $timet);
-               }
-               else
-               {
-                       if (function_exists('gmstrftime'))
-                       {
-                               // gmstrftime doesn't exist in some versions
-                               // of PHP
-                               $t=gmstrftime("%Y%m%dT%H:%M:%S", $timet);
-                       }
-                       else
-                       {
-                               $t=strftime("%Y%m%dT%H:%M:%S", $timet-date('Z'));
-                       }
-               }
-               return $t;
-       }
-
-       function iso8601_decode($idate, $utc=0)
-       {
-               // return a timet in the localtime, or UTC
-               $t=0;
-               if (ereg("([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})", $idate, $regs))
-               {
-                       if ($utc)
-                       {
-                               $t=gmmktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]);
-                       }
-                       else
-                       {
-                               $t=mktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]);
-                       }
-               } 
-               return $t;
-       }
-
-       /****************************************************************
-       * xmlrpc_decode takes a message in PHP xmlrpc object format and *
-       * tranlates it into native PHP types.                           *
-       *                                                               *
-       * author: Dan Libby (dan@libby.com)                             *
-       ****************************************************************/
-       function php_xmlrpc_decode($xmlrpc_val)
-       {
-               $kind = $xmlrpc_val->kindOf();
-
-               if($kind == 'scalar')
-               {
-                       return $xmlrpc_val->scalarval();
-               }
-               elseif($kind == 'array')
-               {
-                       $size = $xmlrpc_val->arraysize();
-                       $arr = array();
-
-                       for($i = 0; $i < $size; $i++)
-                       {
-                               $arr[] = php_xmlrpc_decode($xmlrpc_val->arraymem($i));
-                       }
-                       return $arr;
-               }
-               elseif($kind == 'struct')
-               {
-                       $xmlrpc_val->structreset();
-                       $arr = array();
-
-                       while(list($key,$value)=$xmlrpc_val->structeach())
-                       {
-                               $arr[$key] = php_xmlrpc_decode($value);
-                       }
-                       return $arr;
-               }
-       }
-
-       if(function_exists('xmlrpc_decode'))
-       {
-               define('XMLRPC_EPI_ENABLED','1');
-       }
-       else
-       {
-               define('XMLRPC_EPI_ENABLED','0');
-               function xmlrpc_decode($xmlrpc_val)
-               {
-                       $kind = $xmlrpc_val->kindOf();
-
-                       if($kind == 'scalar')
-                       {
-                               return $xmlrpc_val->scalarval();
-                       }
-                       elseif($kind == 'array')
-                       {
-                               $size = $xmlrpc_val->arraysize();
-                               $arr = array();
-
-                               for($i = 0; $i < $size; $i++)
-                               {
-                                       $arr[]=xmlrpc_decode($xmlrpc_val->arraymem($i));
-                               }
-                               return $arr;
-                       }
-                       elseif($kind == 'struct')
-                       {
-                               $xmlrpc_val->structreset();
-                               $arr = array();
-
-                               while(list($key,$value)=$xmlrpc_val->structeach())
-                               {
-                                       $arr[$key] = xmlrpc_decode($value);
-                               }
-                               return $arr;
-                       }
-               }
-       }
-
-       /****************************************************************
-       * xmlrpc_encode takes native php types and encodes them into    *
-       * xmlrpc PHP object format.                                     *
-       * BUG: All sequential arrays are turned into structs.  I don't  *
-       * know of a good way to determine if an array is sequential     *
-       * only.                                                         *
-       *                                                               *
-       * feature creep -- could support more types via optional type   *
-       * argument.                                                     *
-       *                                                               *
-       * author: Dan Libby (dan@libby.com)                             *
-       ****************************************************************/
-       function php_xmlrpc_encode($php_val)
-       {
-               global $xmlrpcInt;
-               global $xmlrpcDouble;
-               global $xmlrpcString;
-               global $xmlrpcArray;
-               global $xmlrpcStruct;
-               global $xmlrpcBoolean;
-
-               $type = gettype($php_val);
-               $xmlrpc_val = new xmlrpcval;
-
-               switch($type)
-               {
-                       case 'array':
-                       case 'object':
-                               $arr = array();
-                               while (list($k,$v) = each($php_val))
-                               {
-                                       $arr[$k] = php_xmlrpc_encode($v);
-                               }
-                               $xmlrpc_val->addStruct($arr);
-                               break;
-                       case 'integer':
-                               $xmlrpc_val->addScalar($php_val, $xmlrpcInt);
-                               break;
-                       case 'double':
-                               $xmlrpc_val->addScalar($php_val, $xmlrpcDouble);
-                               break;
-                       case 'string':
-                               $xmlrpc_val->addScalar($php_val, $xmlrpcString);
-                               break;
-                               // <G_Giunta_2001-02-29>
-                               // Add support for encoding/decoding of booleans, since they are supported in PHP
-                       case 'boolean':
-                               $xmlrpc_val->addScalar($php_val, $xmlrpcBoolean);
-                               break;
-                               // </G_Giunta_2001-02-29>
-                       // catch "resource", "NULL", "user function", "unknown type"
-                       //case 'unknown type':
-                       default:
-                               // giancarlo pinerolo <ping@alt.it>
-                               // it has to return 
-                               // an empty object in case (which is already
-                               // at this point), not a boolean. 
-                               break;
-                       }
-                       return $xmlrpc_val;
-       }
-
-       if(XMLRPC_EPI_ENABLED == '0')
-       {
-               function xmlrpc_encode($php_val)
-               {
-                       global $xmlrpcInt;
-                       global $xmlrpcDouble;
-                       global $xmlrpcString;
-                       global $xmlrpcArray;
-                       global $xmlrpcStruct;
-                       global $xmlrpcBoolean;
-
-                       $type = gettype($php_val);
-                       $xmlrpc_val = new xmlrpcval;
-
-                       switch($type)
-                       {
-                               case 'array':
-                               case 'object':
-                                       $arr = array();
-                                       while (list($k,$v) = each($php_val))
-                                       {
-                                               $arr[$k] = xmlrpc_encode($v);
-                                       }
-                                       $xmlrpc_val->addStruct($arr);
-                                       break;
-                               case 'integer':
-                                       $xmlrpc_val->addScalar($php_val, $xmlrpcInt);
-                                       break;
-                               case 'double':
-                                       $xmlrpc_val->addScalar($php_val, $xmlrpcDouble);
-                                       break;
-                               case 'string':
-                                       $xmlrpc_val->addScalar($php_val, $xmlrpcString);
-                                       break;
-                                       // <G_Giunta_2001-02-29>
-                                       // Add support for encoding/decoding of booleans, since they are supported in PHP
-                               case 'boolean':
-                                       $xmlrpc_val->addScalar($php_val, $xmlrpcBoolean);
-                                       break;
-                                       // </G_Giunta_2001-02-29>
-                               //case 'unknown type':
-                               default:
-                                       // giancarlo pinerolo <ping@alt.it>
-                                       // it has to return 
-                                       // an empty object in case (which is already
-                                       // at this point), not a boolean. 
-                                       break;
-                       }
-                       return $xmlrpc_val;
-               }
-       }
-?>
diff --git a/euc/nucleus/libs/xmlrpcs.inc.php b/euc/nucleus/libs/xmlrpcs.inc.php
deleted file mode 100755 (executable)
index 7e09019..0000000
+++ /dev/null
@@ -1,509 +0,0 @@
-<?php
-// by Edd Dumbill (C) 1999-2002
-// <edd@usefulinc.com>
-// $Id: xmlrpcs.inc.php,v 1.7 2007-03-22 09:23:58 kimitake Exp $
-// $NucleusJP: xmlrpcs.inc.php,v 1.9 2007/02/04 06:28:46 kimitake Exp $
-
-// Copyright (c) 1999,2000,2002 Edd Dumbill.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-//    * Redistributions of source code must retain the above copyright
-//      notice, this list of conditions and the following disclaimer.
-//
-//    * Redistributions in binary form must reproduce the above
-//      copyright notice, this list of conditions and the following
-//      disclaimer in the documentation and/or other materials provided
-//      with the distribution.
-//
-//    * Neither the name of the "XML-RPC for PHP" nor the names of its
-//      contributors may be used to endorse or promote products derived
-//      from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-       // XML RPC Server class
-       // requires: xmlrpc.inc
-
-       // listMethods: either a string, or nothing
-       $_xmlrpcs_listMethods_sig=array(array($xmlrpcArray, $xmlrpcString), array($xmlrpcArray));
-       $_xmlrpcs_listMethods_doc='This method lists all the methods that the XML-RPC server knows how to dispatch';
-       function _xmlrpcs_listMethods($server, $m)
-       {
-               global $xmlrpcerr, $xmlrpcstr, $_xmlrpcs_dmap;
-               $v=new xmlrpcval();
-               $dmap=$server->dmap;
-               $outAr=array();
-               for(reset($dmap); list($key, $val)=each($dmap); )
-               {
-                       $outAr[]=new xmlrpcval($key, 'string');
-               }
-               $dmap=$_xmlrpcs_dmap;
-               for(reset($dmap); list($key, $val)=each($dmap); )
-               {
-                       $outAr[]=new xmlrpcval($key, 'string');
-               }
-               $v->addArray($outAr);
-               return new xmlrpcresp($v);
-       }
-
-       $_xmlrpcs_methodSignature_sig=array(array($xmlrpcArray, $xmlrpcString));
-       $_xmlrpcs_methodSignature_doc='Returns an array of known signatures (an array of arrays) for the method name passed. If no signatures are known, returns a none-array (test for type != array to detect missing signature)';
-       function _xmlrpcs_methodSignature($server, $m)
-       {
-               global $xmlrpcerr, $xmlrpcstr, $_xmlrpcs_dmap;
-
-               $methName=$m->getParam(0);
-               $methName=$methName->scalarval();
-               if (ereg("^system\.", $methName))
-               {
-                       $dmap=$_xmlrpcs_dmap; $sysCall=1;
-               }
-               else
-               {
-                       $dmap=$server->dmap; $sysCall=0;
-               }
-               //      print "<!-- ${methName} -->\n";
-               if (isset($dmap[$methName]))
-               {
-                       if ($dmap[$methName]['signature'])
-                       {
-                               $sigs=array();
-                               $thesigs=$dmap[$methName]['signature'];
-                               for($i=0; $i<sizeof($thesigs); $i++)
-                               {
-                                       $cursig=array();
-                                       $inSig=$thesigs[$i];
-                                       for($j=0; $j<sizeof($inSig); $j++)
-                                       {
-                                               $cursig[]=new xmlrpcval($inSig[$j], 'string');
-                                       }
-                                       $sigs[]=new xmlrpcval($cursig, 'array');
-                               }
-                               $r=new xmlrpcresp(new xmlrpcval($sigs, 'array'));
-                       }
-                       else
-                       {
-                               $r=new xmlrpcresp(new xmlrpcval('undef', 'string'));
-                       }
-               }
-               else
-               {
-                       $r=new xmlrpcresp(0,$xmlrpcerr['introspect_unknown'], $xmlrpcstr['introspect_unknown']);
-               }
-               return $r;
-       }
-
-       $_xmlrpcs_methodHelp_sig=array(array($xmlrpcString, $xmlrpcString));
-       $_xmlrpcs_methodHelp_doc='Returns help text if defined for the method passed, otherwise returns an empty string';
-       function _xmlrpcs_methodHelp($server, $m)
-       {
-               global $xmlrpcerr, $xmlrpcstr, $_xmlrpcs_dmap;
-
-               $methName=$m->getParam(0);
-               $methName=$methName->scalarval();
-               if (ereg("^system\.", $methName))
-               {
-                       $dmap=$_xmlrpcs_dmap; $sysCall=1;
-               }
-               else
-               {
-                       $dmap=$server->dmap; $sysCall=0;
-               }
-               // print "<!-- ${methName} -->\n";
-               if (isset($dmap[$methName]))
-               {
-                       if ($dmap[$methName]['docstring'])
-                       {
-                               $r=new xmlrpcresp(new xmlrpcval($dmap[$methName]['docstring']), 'string');
-                       }
-                       else
-                       {
-                               $r=new xmlrpcresp(new xmlrpcval('', 'string'));
-                       }
-               }
-               else
-               {
-                       $r=new xmlrpcresp(0, $xmlrpcerr['introspect_unknown'], $xmlrpcstr['introspect_unknown']);
-               }
-               return $r;
-       }
-
-       $_xmlrpcs_multicall_sig = array(array($xmlrpcArray, $xmlrpcArray));
-       $_xmlrpcs_multicall_doc = 'Boxcar multiple RPC calls in one request. See http://www.xmlrpc.com/discuss/msgReader$1208 for details';
-
-       function _xmlrpcs_multicall_error($err)
-       {
-               if (is_string($err))
-               {
-                       global $xmlrpcerr, $xmlrpcstr;
-                       $str  = $xmlrpcstr["multicall_${err}"];
-                       $code = $xmlrpcerr["multicall_${err}"];
-               }
-               else
-               {
-                       $code = $err->faultCode();
-                       $str = $err->faultString();
-               }
-               $struct['faultCode'] = new xmlrpcval($code, 'int');
-               $struct['faultString'] = new xmlrpcval($str, 'string');
-               return new xmlrpcval($struct, 'struct');
-       }
-
-       function _xmlrpcs_multicall_do_call($server, $call)
-       {
-               if ($call->kindOf() != 'struct')
-               {
-                       return _xmlrpcs_multicall_error('notstruct');
-               }
-               $methName = $call->structmem('methodName');
-               if (!$methName)
-               {
-                       return _xmlrpcs_multicall_error('nomethod');
-               }
-               if ($methName->kindOf() != 'scalar' || $methName->scalartyp() != 'string')
-               {
-                       return _xmlrpcs_multicall_error('notstring');
-               }
-               if ($methName->scalarval() == 'system.multicall')
-               {
-                       return _xmlrpcs_multicall_error('recursion');
-               }
-
-               $params = $call->structmem('params');
-               if (!$params)
-               {
-                       return _xmlrpcs_multicall_error('noparams');
-               }
-               if ($params->kindOf() != 'array')
-               {
-                       return _xmlrpcs_multicall_error('notarray');
-               }
-               $numParams = $params->arraysize();
-
-               $msg = new xmlrpcmsg($methName->scalarval());
-               for ($i = 0; $i < $numParams; $i++)
-               {
-                       $msg->addParam($params->arraymem($i));
-               }
-
-               $result = $server->execute($msg);
-
-               if ($result->faultCode() != 0)
-               {
-                       return _xmlrpcs_multicall_error($result);    // Method returned fault.
-               }
-
-               return new xmlrpcval(array($result->value()), 'array');
-       }
-
-       function _xmlrpcs_multicall($server, $m)
-       {
-               $calls = $m->getParam(0);
-               $numCalls = $calls->arraysize();
-               $result = array();
-
-               for ($i = 0; $i < $numCalls; $i++)
-               {
-                       $call = $calls->arraymem($i);
-                       $result[$i] = _xmlrpcs_multicall_do_call($server, $call);
-               }
-
-               return new xmlrpcresp(new xmlrpcval($result, 'array'));
-       }
-
-       $_xmlrpcs_dmap=array(
-               'system.listMethods' => array(
-                       'function' => '_xmlrpcs_listMethods',
-                       'signature' => $_xmlrpcs_listMethods_sig,
-                       'docstring' => $_xmlrpcs_listMethods_doc),
-               'system.methodHelp' => array(
-                       'function' => '_xmlrpcs_methodHelp',
-                       'signature' => $_xmlrpcs_methodHelp_sig,
-                       'docstring' => $_xmlrpcs_methodHelp_doc),
-               'system.methodSignature' => array(
-                       'function' => '_xmlrpcs_methodSignature',
-                       'signature' => $_xmlrpcs_methodSignature_sig,
-                       'docstring' => $_xmlrpcs_methodSignature_doc),
-               'system.multicall' => array(
-                       'function' => '_xmlrpcs_multicall',
-                       'signature' => $_xmlrpcs_multicall_sig,
-                       'docstring' => $_xmlrpcs_multicall_doc
-               )
-       );
-
-       $_xmlrpc_debuginfo='';
-       function xmlrpc_debugmsg($m)
-       {
-               global $_xmlrpc_debuginfo;
-               $_xmlrpc_debuginfo=$_xmlrpc_debuginfo . $m . "\n";
-       }
-
-       class xmlrpc_server
-       {
-               var $dmap=array();
-
-               function xmlrpc_server($dispMap='', $serviceNow=1)
-               {
-                       global $HTTP_RAW_POST_DATA;
-                       // dispMap is a dispatch array of methods
-                       // mapped to function names and signatures
-                       // if a method
-                       // doesn't appear in the map then an unknown
-                       // method error is generated
-                       /* milosch - changed to make passing dispMap optional.
-                        * instead, you can use the class add_to_map() function
-                        * to add functions manually (borrowed from SOAPX4)
-                        */
-                       if($dispMap)
-                       {
-                               $this->dmap = $dispMap;
-                               if($serviceNow)
-                               {
-                                       $this->service();
-                               }
-                       }
-               }
-
-               function serializeDebug()
-               {
-                       global $_xmlrpc_debuginfo;
-                       if ($_xmlrpc_debuginfo!='')
-                       {
-                               return "<!-- DEBUG INFO:\n\n" . xmlrpc_encode_entitites($_xmlrpc_debuginfo) . "\n-->\n";
-                       }
-                       else
-                       {
-                               return '';
-                       }
-               }
-
-               function service()
-               {
-                       //global $xmlrpc_defencoding;
-
-                       $r=$this->parseRequest();
-                       //$payload='<?xml version="1.0" encoding="' . $xmlrpc_defencoding . '"?' . '>' . "\n"
-                       $payload='<?xml version="1.0" ?' . '>' . "\n"
-                               . $this->serializeDebug()
-                               . $r->serialize();
-                       header('Content-Type: text/xml');
-                       header('Content-Length: ' . (int)strlen($payload));
-                       print $payload;
-               }
-
-               /*
-               add a method to the dispatch map
-               */
-               function add_to_map($methodname,$function,$sig,$doc)
-               {
-                       $this->dmap[$methodname] = array(
-                               'function'  => $function,
-                               'signature' => $sig,
-                               'docstring' => $doc
-                       );
-               }
-
-               function verifySignature($in, $sig)
-               {
-                       for($i=0; $i<sizeof($sig); $i++)
-                       {
-                               // check each possible signature in turn
-                               $cursig=$sig[$i];
-                               if (sizeof($cursig)==$in->getNumParams()+1)
-                               {
-                                       $itsOK=1;
-                                       for($n=0; $n<$in->getNumParams(); $n++)
-                                       {
-                                               $p=$in->getParam($n);
-                                               // print "<!-- $p -->\n";
-                                               if ($p->kindOf() == 'scalar')
-                                               {
-                                                       $pt=$p->scalartyp();
-                                               }
-                                               else
-                                               {
-                                                       $pt=$p->kindOf();
-                                               }
-                                               // $n+1 as first type of sig is return type
-                                               if ($pt != $cursig[$n+1])
-                                               {
-                                                       $itsOK=0;
-                                                       $pno=$n+1; $wanted=$cursig[$n+1]; $got=$pt;
-                                                       break;
-                                               }
-                                       }
-                                       if ($itsOK)
-                                       {
-                                               return array(1,'');
-                                       }
-                               }
-                       }
-                       if (isset($wanted))
-                               return array(0, "Wanted ${wanted}, got ${got} at param ${pno})");
-                       else
-                               return array(0, "No method signature matches number of parameters");
-               }
-
-               function parseRequest($data='')
-               {
-                       global $_xh,$HTTP_RAW_POST_DATA;
-                       global $xmlrpcerr, $xmlrpcstr, $xmlrpcerrxml, $xmlrpc_defencoding,
-                       $_xmlrpcs_dmap, $xmlrpc_internalencoding;
-
-                       if ($data=='')
-                       {
-                               $data=$HTTP_RAW_POST_DATA;
-                       }
-            // G. Giunta 2005/02/13: we do NOT expect to receive html entities
-            // so we do not try to convert them into xml character entities
-                       //$data = xmlrpc_html_entity_xlate($data);
-                       $parser = xml_parser_create($xmlrpc_defencoding);
-
-                       $_xh[$parser]=array();
-                       //$_xh[$parser]['st']='';
-                       //$_xh[$parser]['cm']=0;
-                       $_xh[$parser]['isf']=0;
-                       $_xh[$parser]['isf_reason']='';
-                       $_xh[$parser]['params']=array();
-                       $_xh[$parser]['stack']=array();
-                       $_xh[$parser]['sp'] = 0;
-                       $_xh[$parser]['valuestack'] = array();
-                       $_xh[$parser]['vsp'] = 0;
-                       $_xh[$parser]['method']='';
-
-                       // decompose incoming XML into request structure
-
-                       xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, true);
-            // G. Giunta 2005/02/13: PHP internally uses ISO-8859-1, so we have to tell
-            // the xml parser to give us back data in the expected charset
-            @xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, $xmlrpc_internalencoding);
-
-                       xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee');
-                       xml_set_character_data_handler($parser, 'xmlrpc_cd');
-                       xml_set_default_handler($parser, 'xmlrpc_dh');
-                       if (!xml_parse($parser, $data, 1))
-                       {
-                               // return XML error as a faultCode
-                               $r=new xmlrpcresp(0,
-                               $xmlrpcerrxml+xml_get_error_code($parser),
-                               sprintf('XML error: %s at line %d',
-                                       xml_error_string(xml_get_error_code($parser)),
-                                       xml_get_current_line_number($parser)));
-                               xml_parser_free($parser);
-                       }
-                       else
-                       if ($_xh[$parser]['isf'])
-                       {
-                               xml_parser_free($parser);
-                               $r=new xmlrpcresp(0,
-                                       $xmlrpcerr['invalid_request'],
-                                       $xmlrpcstr['invalid_request'] . ' ' . $_xh[$parser]['isf_reason']);
-                       }
-                       else
-                       {
-                               xml_parser_free($parser);
-
-                               $m=new xmlrpcmsg($_xh[$parser]['method']);
-                               // now add parameters in
-                               $plist='';
-                               //$allOK = 1;
-                               for($i=0; $i<sizeof($_xh[$parser]['params']); $i++)
-                               {
-                                       //print "<!-- " . $_xh[$parser]['params'][$i]. "-->\n";
-                                       $plist.="$i - " .  $_xh[$parser]['params'][$i]. ";\n";
-                                       //$allOK = 0;
-                                       //@eval('$m->addParam(' . $_xh[$parser]['params'][$i]. '); $allOK=1;');
-                                       @$m->addParam($_xh[$parser]['params'][$i]);
-                                       //if (!$allOK)
-                                       //{
-                                       //      break;
-                                       //}
-                               }
-                               // uncomment this to really see what the server's getting!
-                               // xmlrpc_debugmsg($plist);
-                               //if (!$allOK)
-                               //{
-                               //      $r = new xmlrpcresp(0,
-                               //              $xmlrpcerr['incorrect_params'],
-                               //              $xmlrpcstr['incorrect_params'] . ": xml error in param " . $i);
-                               //}
-                               //else
-                               //{
-                                       $r = $this->execute($m);
-                               //}
-                       }
-                       return $r;
-               }
-
-               function execute ($m)
-               {
-                       global $xmlrpcerr, $xmlrpcstr, $_xmlrpcs_dmap;
-                       // now to deal with the method
-                       $methName = $m->method();
-                       $sysCall = ereg("^system\.", $methName);
-                       $dmap = $sysCall ? $_xmlrpcs_dmap : $this->dmap;
-
-                       if (!isset($dmap[$methName]['function']))
-                       {
-                               // No such method
-                               return new xmlrpcresp(0,
-                                       $xmlrpcerr['unknown_method'],
-                                       $xmlrpcstr['unknown_method']);
-                       }
-
-                       // Check signature.
-                       if (isset($dmap[$methName]['signature']))
-                       {
-                               $sig = $dmap[$methName]['signature'];
-                               list($ok, $errstr) = $this->verifySignature($m, $sig);
-                               if(!$ok)
-                               {
-                                       // Didn't match.
-                                       return new xmlrpcresp(
-                                               0,
-                                               $xmlrpcerr['incorrect_params'],
-                                               $xmlrpcstr['incorrect_params'] . ": ${errstr}"
-                                       );
-                               }
-                       }
-
-                       $func = $dmap[$methName]['function'];
-
-                       if ($sysCall)
-                       {
-                               return call_user_func($func, $this, $m);
-                       }
-                       else
-                       {
-                               return call_user_func($func, $m);
-                       }
-               }
-
-               function echoInput()
-               {
-                       global $HTTP_RAW_POST_DATA;
-
-                       // a debugging routine: just echos back the input
-                       // packet as a string value
-
-                       $r=new xmlrpcresp;
-                       $r->xv=new xmlrpcval( "'Aha said I: '" . $HTTP_RAW_POST_DATA, 'string');
-                       print $r->serialize();
-               }
-       }
-?>
diff --git a/euc/nucleus/media.php b/euc/nucleus/media.php
deleted file mode 100755 (executable)
index 9962177..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * Media popup window for Nucleus
- *
- * Purpose:
- *   - can be openen from an add-item form or bookmarklet popup
- *   - shows a list of recent files, allowing browsing, search and
- *     upload of new files
- *   - close the popup by selecting a file in the list. The file gets
- *     passed through to the add-item form (linkto, popupimg or inline img)
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: media.php,v 1.4 2007-03-27 12:13:47 kimitake Exp $
- * $NucleusJP: media.php,v 1.8 2007/03/20 19:32:19 kmorimatsu Exp $
- *
- */
-
-$CONF = array();
-
-// defines how much media items will be shown per page. You can override this
-// in config.php if you like. (changing it in config.php instead of here will
-// allow your settings to be kept even after a Nucleus upgrade)
-$CONF['MediaPerPage'] = 10;
-
-// include all classes and config data
-require('../config.php');
-include($DIR_LIBS . 'MEDIA.php');      // media classes
-
-sendContentType('application/xhtml+xml', 'media');
-
-// user needs to be logged in to use this
-if (!$member->isLoggedIn()) {
-       media_loginAndPassThrough();
-       exit;
-}
-
-// check if member is on at least one teamlist
-$query = 'SELECT * FROM ' . sql_table('team'). ' WHERE tmember=' . $member->getID();
-$teams = mysql_query($query);
-if (mysql_num_rows($teams) == 0)
-       media_doError(_ERROR_DISALLOWEDUPLOAD);
-
-// get action
-$action = requestVar('action');
-if ($action == '')
-       $action = 'selectmedia';
-
-// check ticket
-$aActionsNotToCheck = array('selectmedia', _MEDIA_FILTER_APPLY, _MEDIA_COLLECTION_SELECT);
-if (!in_array($action, $aActionsNotToCheck))
-{
-       if (!$manager->checkTicket())
-               media_doError(_ERROR_BADTICKET);
-}
-
-
-switch($action) {
-       case 'chooseupload':
-       case _MEDIA_UPLOAD_TO:
-       case _MEDIA_UPLOAD_NEW:
-               media_choose();
-               break;
-       case 'uploadfile':
-               media_upload();
-               break;
-       case _MEDIA_FILTER_APPLY:
-       case 'selectmedia':
-       case _MEDIA_COLLECTION_SELECT:
-       default:
-               media_select();
-               break;
-}
-
-// select a file
-function media_select() {
-       global $member, $CONF, $DIR_MEDIA, $manager;
-
-       media_head();
-
-       // show 10 files + navigation buttons
-       // show msg when no files
-       // show upload form
-       // files sorted according to last modification date
-
-       // currently selected collection
-       $currentCollection = requestVar('collection');
-       if (!$currentCollection || !@is_dir($DIR_MEDIA . $currentCollection))
-               $currentCollection = $member->getID();
-
-
-       // get collection list
-       $collections = MEDIA::getCollectionList();
-
-       if (sizeof($collections) > 1) {
-       ?>
-               <form method="post" action="media.php"><div>
-                       <label for="media_collection"><?php echo htmlspecialchars(_MEDIA_COLLECTION_LABEL)?></label>
-                       <select name="collection" id="media_collection">
-                               <?php                                   foreach ($collections as $dirname => $description) {
-                                               echo '<option value="',htmlspecialchars($dirname),'"';
-                                               if ($dirname == $currentCollection) {
-                                                       echo ' selected="selected"';
-                                               }
-                                               echo '>',htmlspecialchars($description),'</option>';
-                                       }
-                               ?>
-                       </select>
-                       <input type="submit" name="action" value="<?php echo htmlspecialchars(_MEDIA_COLLECTION_SELECT) ?>" title="<?php echo htmlspecialchars(_MEDIA_COLLECTION_TT)?>" />
-                       <input type="submit" name="action" value="<?php echo htmlspecialchars(_MEDIA_UPLOAD_TO) ?>" title="<?php echo htmlspecialchars(_MEDIA_UPLOADLINK) ?>" />
-                       <?php $manager->addTicketHidden() ?>
-               </div></form>
-       <?php   } else {
-       ?>
-               <form method="post" action="media.php" style="float:right"><div>
-                       <input type="hidden" name="collection" value="<?php echo htmlspecialchars($currentCollection)?>" />
-                       <input type="submit" name="action" value="<?php echo htmlspecialchars(_MEDIA_UPLOAD_NEW) ?>" title="<?php echo htmlspecialchars(_MEDIA_UPLOADLINK) ?>" />
-                       <?php $manager->addTicketHidden() ?>
-               </div></form>
-       <?php   } // if sizeof
-
-       $filter = requestVar('filter');
-       $offset = intRequestVar('offset');
-       $arr = MEDIA::getMediaListByCollection($currentCollection, $filter);
-
-       ?>
-               <form method="post" action="media.php"><div>
-                       <label for="media_filter"><?php echo htmlspecialchars(_MEDIA_FILTER_LABEL)?></label>
-                       <input id="media_filter" type="text" name="filter" value="<?php echo htmlspecialchars($filter)?>" />
-                       <input type="submit" name="action" value="<?php echo htmlspecialchars(_MEDIA_FILTER_APPLY) ?>" />
-                       <input type="hidden" name="collection" value="<?php echo htmlspecialchars($currentCollection)?>" />
-                       <input type="hidden" name="offset" value="<?php echo intval($offset)?>" />
-               </div></form>
-
-       <?php
-
-       ?>
-               <table width="100%">
-               <caption><?php echo _MEDIA_COLLECTION_LABEL . htmlspecialchars($collections[$currentCollection])?></caption>
-               <tr>
-                <th><?php echo _MEDIA_MODIFIED?></th><th><?php echo _MEDIA_FILENAME?></th><th><?php echo _MEDIA_DIMENSIONS?></th>
-               </tr>
-
-       <?php
-
-       if (sizeof($arr)>0) {
-
-               if (($offset + $CONF['MediaPerPage']) >= sizeof($arr))
-                       $offset = sizeof($arr) - $CONF['MediaPerPage'];
-
-               if ($offset < 0) $offset = 0;
-
-               $idxStart = $offset;
-               $idxEnd = $offset + $CONF['MediaPerPage'];
-               $idxNext = $idxEnd;
-               $idxPrev = $idxStart - $CONF['MediaPerPage'];
-
-               if ($idxPrev < 0) $idxPrev = 0;
-
-               if ($idxEnd > sizeof($arr))
-                       $idxEnd = sizeof($arr);
-
-               for($i=$idxStart;$i<$idxEnd;$i++) {
-                       $obj = $arr[$i];
-                       $filename = $DIR_MEDIA . $currentCollection . '/' . $obj->filename;
-
-                       $old_level = error_reporting(0);
-                       $size = @GetImageSize($filename);
-                       error_reporting($old_level);
-                       $width = $size[0];
-                       $height = $size[1];
-                       $filetype = $size[2];
-
-                       echo "<tr>";
-                       echo "<td>". date("Y-m-d",$obj->timestamp) ."</td>";
-
-                       // strings for javascript
-                       $jsCurrentCollection = str_replace("'","\\'",$currentCollection);
-                       $jsFileName = str_replace("'","\\'",$obj->filename);
-
-                       if ($filetype != 0) {
-                               // image (gif/jpg/png/swf)
-                               echo "<td><a href=\"media.php\" onclick=\"chooseImage('", htmlspecialchars($jsCurrentCollection), "','", htmlspecialchars($jsFileName), "',"
-                                                          . "'", htmlspecialchars($width), "','" , htmlspecialchars($height), "'"
-                                                          . ")\" title=\"" . htmlspecialchars($obj->filename). "\">"
-                                                          . htmlspecialchars(shorten($obj->filename,25,'...'))
-                                                          ."</a>";
-                               echo ' (<a href="', htmlspecialchars($CONF['MediaURL'] . $currentCollection . '/' . $obj->filename), '" onclick="window.open(this.href); return false;" title="',htmlspecialchars(_MEDIA_VIEW_TT),'">',_MEDIA_VIEW,'</a>)';
-                               echo "</td>";
-                       } else {
-                               // no image (e.g. mpg)
-                               echo "<td><a href='media.php' onclick=\"chooseOther('" , htmlspecialchars($jsCurrentCollection), "','", htmlspecialchars($jsFileName), "'"
-                                                          . ")\" title=\"" . htmlspecialchars($obj->filename). "\">"
-                                                          . htmlspecialchars(shorten($obj->filename,30,'...'))
-                                                          ."</a></td>";
-
-                       }
-                       echo '<td>' , htmlspecialchars($width) , 'x' , htmlspecialchars($height) , '</td>';
-                       echo '</tr>';
-               }
-       } // if (sizeof($arr)>0)
-       ?>
-
-               </table>
-       <?php
-       if ($idxStart > 0)
-               echo "<a href='media.php?offset=$idxPrev&amp;collection=".urlencode($currentCollection)."'>". _LISTS_PREV."</a> ";
-       if ($idxEnd < sizeof($arr))
-               echo "<a href='media.php?offset=$idxNext&amp;collection=".urlencode($currentCollection)."'>". _LISTS_NEXT."</a> ";
-
-       ?>
-               <input id="typeradio0" type="radio" name="typeradio" onclick="setType(0);" checked="checked" /><label for="typeradio0"><?php echo _MEDIA_INLINE?></label>
-               <input id="typeradio1" type="radio" name="typeradio" onclick="setType(1);" /><label for="typeradio1"><?php echo _MEDIA_POPUP?></label>
-       <?php
-       media_foot();
-
-
-}
-
-/**
-  * Shows a screen where you can select the file to upload
-  */
-function media_choose() {
-       global $CONF, $member, $manager;
-
-       $currentCollection = requestVar('collection');
-
-       $collections = MEDIA::getCollectionList();
-
-       media_head();
-       ?>
-       <h1><?php echo _UPLOAD_TITLE?></h1>
-
-       <p><?php echo _UPLOAD_MSG?></p>
-
-       <form method="post" enctype="multipart/form-data" action="media.php">
-       <div>
-         <input type="hidden" name="action" value="uploadfile" />
-         <?php $manager->addTicketHidden() ?>
-         <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $CONF['MaxUploadSize']?>" />
-         File:
-         <br />
-         <input name="uploadfile" type="file" size="40" />
-       <?php           if (sizeof($collections) > 1) {
-       ?>
-               <br /><br /><label for="upload_collection">Collection:</label>
-               <br /><select name="collection" id="upload_collection">
-                       <?php                           foreach ($collections as $dirname => $description) {
-                                       echo '<option value="',htmlspecialchars($dirname),'"';
-                                       if ($dirname == $currentCollection) {
-                                               echo ' selected="selected"';
-                                       }
-                                       echo '>',htmlspecialchars($description),'</option>';
-                               }
-                       ?>
-               </select>
-       <?php           } else {
-       ?>
-               <input name="collection" type="hidden" value="<?php echo htmlspecialchars(requestVar('collection'))?>" />
-       <?php           } // if sizeof
-       ?>
-         <br /><br />
-         <input type="submit" value="<?php echo _UPLOAD_BUTTON?>" />
-       </div>
-       </form>
-
-       <?php
-       media_foot();
-}
-
-
-/**
-  * accepts a file for upload
-  */
-function media_upload() {
-       global $DIR_MEDIA, $member, $CONF;
-
-       $uploadInfo = postFileInfo('uploadfile');
-
-       $filename = $uploadInfo['name'];
-       $filetype = $uploadInfo['type'];
-       $filesize = $uploadInfo['size'];
-       $filetempname = $uploadInfo['tmp_name'];
-       $fileerror = intval($uploadInfo['error']);
-       
-       switch ($fileerror)
-       {
-               case 0: // = UPLOAD_ERR_OK
-                       break;
-               case 1: // = UPLOAD_ERR_INI_SIZE
-               case 2: // = UPLOAD_ERR_FORM_SIZE
-                       media_doError(_ERROR_FILE_TOO_BIG);
-               case 3: // = UPLOAD_ERR_PARTIAL
-               case 4: // = UPLOAD_ERR_NO_FILE
-               case 6: // = UPLOAD_ERR_NO_TMP_DIR
-               case 7: // = UPLOAD_ERR_CANT_WRITE
-               default:
-                       // include error code for debugging
-                       // (see http://www.php.net/manual/en/features.file-upload.errors.php)
-                       media_doError(_ERROR_BADREQUEST . ' (' . $fileerror . ')');
-       }
-
-       if ($filesize > $CONF['MaxUploadSize'])
-               media_doError(_ERROR_FILE_TOO_BIG);
-
-       // check file type against allowed types
-       $ok = 0;
-       $allowedtypes = explode (',', $CONF['AllowedTypes']);
-       foreach ( $allowedtypes as $type )
-               if (eregi("\." .$type. "$",$filename)) $ok = 1;
-       if (!$ok) media_doError(_ERROR_BADFILETYPE);
-
-       if (!is_uploaded_file($filetempname))
-               media_doError(_ERROR_BADREQUEST);
-
-       // prefix filename with current date (YYYY-MM-DD-)
-       // this to avoid nameclashes
-       if ($CONF['MediaPrefix'])
-               $filename = strftime("%Y%m%d-", time()) . $filename;
-
-       $collection = requestVar('collection');
-       $res = MEDIA::addMediaObject($collection, $filetempname, $filename);
-
-       if ($res != '')
-               media_doError($res);
-
-       // shows updated list afterwards
-       media_select();
-}
-
-function media_loginAndPassThrough() {
-       media_head();
-       ?>
-               <h1><?php echo _LOGIN_PLEASE?></h1>
-
-               <form method="post" action="media.php">
-               <div>
-                       <input name="action" value="login" type="hidden" />
-                       <input name="collection" value="<?php echo htmlspecialchars(requestVar('collection'))?>" type="hidden" />
-                       <?php echo _LOGINFORM_NAME?>: <input name="login" />
-                       <br /><?php echo _LOGINFORM_PWD?>: <input name="password" type="password" />
-                       <br /><input type="submit" value="<?php echo _LOGIN?>" />
-               </div>
-               </form>
-               <p><a href="media.php" onclick="window.close();"><?php echo _POPUP_CLOSE?></a></p>
-       <?php   media_foot();
-       exit;
-}
-
-function media_doError($msg) {
-       media_head();
-       ?>
-       <h1><?php echo _ERROR?></h1>
-       <p><?php echo $msg?></p>
-       <p><a href="media.php" onclick="history.back()"><?php echo _BACK?></a></p>
-       <?php   media_foot();
-       exit;
-}
-
-
-function media_head() {
-?>
-       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-       <html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <meta http-equiv="Content-Type" content="text/html; charset=<?php echo _CHARSET ?>" />
-               <title>Nucleus Media</title>
-               <link rel="stylesheet" type="text/css" href="styles/popups.css" />
-               <script type="text/javascript">
-                       var type = 0;
-                       function setType(val) { type = val; }
-
-                       function chooseImage(collection, filename, width, height) {
-                               window.opener.focus();
-                               window.opener.includeImage(collection,
-                                                                                  filename,
-                                                                                  type == 0 ? 'inline' : 'popup',
-                                                                                  width,
-                                                                                  height
-                                                                                  );
-                               window.close();
-                       }
-
-                       function chooseOther(collection, filename) {
-                               window.opener.focus();
-                               window.opener.includeOtherMedia(collection, filename);
-                               window.close();
-
-                       }
-               </script>
-       </head>
-       <body>
-<?php }
-
-function media_foot() {
-?>
-       </body>
-       </html>
-<?php }
-
-?>
diff --git a/euc/nucleus/nucleus.gif b/euc/nucleus/nucleus.gif
deleted file mode 100755 (executable)
index 1cdf680..0000000
Binary files a/euc/nucleus/nucleus.gif and /dev/null differ
diff --git a/euc/nucleus/nucleus2.gif b/euc/nucleus/nucleus2.gif
deleted file mode 100755 (executable)
index 68d44ed..0000000
Binary files a/euc/nucleus/nucleus2.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/NP_SkinFiles.php b/euc/nucleus/plugins/NP_SkinFiles.php
deleted file mode 100644 (file)
index 0a5ecf9..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-class NP_SkinFiles extends NucleusPlugin {
-
-   /* ==========================================================================================
-       * Nucleus SkinFiles Plugin
-       *
-       * Copyright 2005-2007 by Jeff MacMichael and Niels Leenheer
-       *
-       * @version $Id: NP_SkinFiles.php,v 1.2 2007-03-22 09:24:07 kimitake Exp $
-       * @version $NucleusJP: NP_SkinFiles.php,v 1.4 2007/02/04 06:28:46 kimitake Exp $
-       *
-       * ==========================================================================================
-       * This program is free software and open source software; you can redistribute
-       * it and/or modify it under the terms of the GNU General Public License as
-       * published by the Free Software Foundation; either version 2 of the License,
-       * or (at your option) any later version.
-       *
-       * This program 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 General Public License for
-       * more details.
-       *
-       * You should have received a copy of the GNU General Public License along
-       * with this program; if not, write to the Free Software Foundation, Inc.,
-       * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  or visit
-       * http://www.gnu.org/licenses/gpl.html
-       * ==========================================================================================
-       *
-       * Changes:
-       * v0.91 ged   - added ICO, PHPx files, fixed/added some icons
-       *             - changed perms on file or folder creation or upload to 0755 from 0640
-       *             - changed 'cancel' links for delete actions to $parent dir from http_referer
-       *             - changed order of links next to files... moved 'del' over a bit.  ;)
-       * v0.92 ged   - changed order of links next to dirs
-       *               $privateskins = FALSE by default
-       * v1.0  ged   - fixed security catch so it actually quits the script
-       *               "columnated" the files & dirs display for easier viewing
-       *               Made the edit cancel link more intuitive
-       * v1.01 ged   - fixed event_QuickMenu to properly skip for non-admins
-       *               lined up columns for directories & added <tr> highlights
-       * v2.00 rakaz - Almost complete rewrite
-       * v2.01 yama  - modified form button for IE
-       * v2.02 kimitake - multilingual support, modified form button for IE
-       */
-
-
-       function getName()                { return 'SkinFiles'; }
-       function getAuthor()      { return 'Misc authors'; }
-       function getURL()                 { return 'http://www.nucleuscms.org/'; }
-       function getVersion()     { return '2.02'; }
-       function getDescription() { return 'A simple file manager for skins.';  }
-
-       function supportsFeature($what) {
-               switch($what)
-               { case 'SqlTablePrefix':
-                               return 1;
-                       default:
-                               return 0; }
-       }
-
-       function install() {
-       }
-       
-       function unInstall() {
-       }
-
-       function getEventList() {
-               return array('QuickMenu');
-       }
-       
-       function hasAdminArea() {
-               return 1;
-       }
-
-       function init()
-       {
-               // include language file for this plugin
-               $language = ereg_replace( '[\\|/]', '', getLanguageName());
-               if (file_exists($this->getDirectory().$language.'.php'))
-                       include_once($this->getDirectory().$language.'.php');
-               else
-                       include_once($this->getDirectory().'english.php');
-       }
-       
-       function event_QuickMenu(&$data) {
-               global $member;
-
-               // only show to admins
-               if (!($member->isLoggedIn() && $member->isAdmin())) return;
-
-               array_push(
-                       $data['options'], 
-                       array(
-                               'title' => _SKINFILES_TITLE,
-                               'url' => $this->getAdminURL(),
-                               'tooltip' => _SKINFILES_TOOLTIP
-                       )
-               );
-       }
-}
-
-?>
diff --git a/euc/nucleus/plugins/index.html b/euc/nucleus/plugins/index.html
deleted file mode 100755 (executable)
index 50f792c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/plugins/skinfiles/dir.gif b/euc/nucleus/plugins/skinfiles/dir.gif
deleted file mode 100644 (file)
index 4b8ac3b..0000000
Binary files a/euc/nucleus/plugins/skinfiles/dir.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/english.php b/euc/nucleus/plugins/skinfiles/english.php
deleted file mode 100644 (file)
index 77494df..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-   /*
-       * @version $Id: english.php,v 1.2 2007-04-18 23:21:48 kimitake Exp $
-       * @version $NucleusJP: english.php,v 1.3 2007/02/04 06:28:46 kimitake Exp $
-       */
-
-define('_SKINFILES_TITLE',                             'Skin Files');
-define('_SKINFILES_TOOLTIP',                   'Manage skin files');
-
-define('_SKINFILES_MANAGEMENT',                        'Skin File Management');
-define('_SKINFILES_CURRENT_LOCATION',  'Current location: ');
-define('_SKINFILES_NAME',                              'Name');
-define('_SKINFILES_SIZE',                              'Size');
-define('_SKINFILES_LAST_MODIFIED',             'Last Modified');
-define('_SKINFILES_ACTIONS',                   'Actions');
-
-define('_SKINFILES_RENAME',                            'Rename');
-define('_SKINFILES_RENAME_DIR_MSG',            'Rename directory');
-define('_SKINFILES_RENAME_DIR_MSG2',   'to:');
-define('_SKINFILES_EDIT_FILE_MSG',             'Edit file');
-define('_SKINFILES_RENAME_FILE_MSG',   'Rename file ');
-define('_SKINFILES_RENAME_FILE_MSG2',  'to:');
-define('_SKINFILES_DELETE',                            'Delete');
-define('_SKINFILES_EDIT',                              'Edit');
-define('_SKINFILES_CANCEL',                            'Cancel');
-define('_SKINFILES_DOWNLOAD',                  'Download');
-define('_SKINFILES_SAVE_CHANGES',              'Save Changes');
-
-define('_SKINFILES_DATE_FORMAT',               'M d Y, H:i');
-
-define('_SKINFILES_CREATE_NEW_FILE',   'Create a new file');
-define('_SKINFILES_CREATE_NEW_DIR',            'Create a new directory');
-define('_SKINFILES_CREATE_FILE',               'Create file');
-define('_SKINFILES_CREATE',                            'Create');
-define('_SKINFILES_UPLOAD',                            'Upload');
-define('_SKINFILES_DELETE_FILE',               'Delete file');
-define('_SKINFILES_DELETE_FILE2',              '?');
-define('_SKINFILES_DELETE_DIR',                        'Delete directory');
-define('_SKINFILES_DELETE_DIR2',               '?');
-define('_SKINFILES_DELETE_ALL',                        'Delete All');
-define('_SKINFILES_DELETE_FILE_MSG',   'Delete the following files from directory');
-define('_SKINFILES_DELETE_FILE_MSG2',  '?');
-define('_SKINFILES_UPLOAD_NEW_FILE',   'Upload new file');
-define('_SKINFILES_DEL_ALL_FILES',             'Delete all files in this directory');
-define('_SKINFILES_DEL_ALL_FILES_MSG', 'Delete all files? (will ask for confirmation)');
-
-define('_SKINFILES_VIEW_FILE',                         'View file ');
-define('_SKINFILES_VIEW_FILE_IMG_INFO',                'Image information');
-define('_SKINFILES_VIEW_FILE_TYPE',                    'Type:');
-define('_SKINFILES_VIEW_FILE_WIDTH',           'Width:');
-define('_SKINFILES_VIEW_FILE_HEIGHT',          'Height:');
-define('_SKINFILES_VIEW_FILE_PX',                      ' px');
-define('_SKINFILES_VIEW_FILE_CHANNELS',                'Channels:');
-define('_SKINFILES_VIEW_FILE_COLOR_DEPTH',     'Color depth:');
-define('_SKINFILES_VIEW_FILE_BITS',                    ' bits');
-define('_SKINFILES_VIEW_FILE_COLORS',          'Colors:');
-define('_SKINFILES_VIEW_FILE_COLORS2',         ' colors');
-
-
-
-define('_SKINFILES_ERR_DIR_DOES_NOT_CONTAIN',  'This directory does not contain any files or directories.');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST1',   'Error: The directory ');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST2',   'does not exist ');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST3',   'or you do not have permission to rename the directory.');
-
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR1', 'Error: Could not rename the directory ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR2', 'because no new name was supplied.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR3', 'Error: Could not rename the directory ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR4', 'because the supplied name contains one or more illegal characters.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR5', 'Error: Could not rename the directory ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR6', 'because the supplied name is the same as the original name.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR7', ' Please use a different name.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR8', 'Error: Could not rename the directory ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR9', 'because the supplied name is already used by another file or directory.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR10',        'Consider using a different name, or delete the existing file or directory first.');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR11',        'Error: Could not rename the directory ');
-
-define('_SKINFILES_RENAMED_DIR1',                              'Message: The directory ');
-define('_SKINFILES_RENAMED_DIR2',                              'has been renamed ');
-define('_SKINFILES_RENAMED_DIR3',                              'to ');
-define('_SKINFILES_RENAMED_DIR4',                              '.');
-
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR1', 'Error: Could not create a new directory because there was no name supplied. ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR2', 'Error: Could not create the directory ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR3', 'because the supplied name contains one or more illegal characters.');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR4', 'Error: Could not create the directory ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR5', 'because the supplied name is already used by another file or directory.');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR6', ' Consider using a different name, or delete the existing file or directory first.');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR7', 'Message: The directory ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR8', 'has been created.');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR9', 'Error: The directory ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR10',        'does not exist ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR11',        'or you do not have permission to access that directory.');
-
-define('_SKINFILES_ERR_DELETE_DIR1',                   'Error: The directory ');
-define('_SKINFILES_ERR_DELETE_DIR2',                   'does not exist ');
-define('_SKINFILES_ERR_DELETE_DIR3',                   'or you do not have permission to delete the directory.');
-define('_SKINFILES_ERR_DELETE_DIR4',                   'Error: Could not delete the directory.');
-define('_SKINFILES_ERR_DELETE_DIR5',                   'Message: The directory ');
-define('_SKINFILES_ERR_DELETE_DIR6',                   'has been deleted.');
-define('_SKINFILES_ERR_DELETE_DIR7',                   'There are currently no files in this directory that can be deleted.');
-
-define('_SKINFILES_ERR_EMPTY_DIR1',                            'Message: The file ');
-define('_SKINFILES_ERR_EMPTY_DIR2',                            'has been deleted.');
-define('_SKINFILES_ERR_EMPTY_DIR3',                            'Error: The file ');
-define('_SKINFILES_ERR_EMPTY_DIR4',                            'could not be deleted.');
-define('_SKINFILES_ERR_EMPTY_DIR5',                            'Error: The directory ');
-define('_SKINFILES_ERR_EMPTY_DIR6',                            'does not exist ');
-define('_SKINFILES_ERR_EMPTY_DIR7',                            'or you do not have permission to access that directory.');
-
-define('_SKINFILES_ERR_DOWNLOAD_FILE1',                        'Error: Could not access the file.');
-define('_SKINFILES_ERR_DOWNLOAD_FILE2',                        'Error: No permission to access the file.');
-
-define('_SKINFILES_ERR_VIEW_FILE1',                            'Error: The file ');
-define('_SKINFILES_ERR_VIEW_FILE2',                            'does not exist ');
-define('_SKINFILES_ERR_VIEW_FILE3',                            'or you do not have permission to view the file.');
-
-define('_SKINFILES_ERR_EDIT_FILE1',                            'Error: The file ');
-define('_SKINFILES_ERR_EDIT_FILE2',                            'does not exist ');
-define('_SKINFILES_ERR_EDIT_FILE3',                            'or you do not have permission to edit the file.');
-define('_SKINFILES_ERR_EDIT_FILE4',                            'Message: The file ');
-define('_SKINFILES_ERR_EDIT_FILE5',                            'has been saved.');
-define('_SKINFILES_ERR_EDIT_FILE6',                            'Error: The file ');
-define('_SKINFILES_ERR_EDIT_FILE7',                            'could not be saved.');
-
-define('_SKINFILES_ERR_RENAME_FILE1',                  'Error: The file ');
-define('_SKINFILES_ERR_RENAME_FILE2',                  'does not exist ');
-define('_SKINFILES_ERR_RENAME_FILE3',                  'or you do not have permission to rename the file.');
-define('_SKINFILES_ERR_RENAME_FILE4',                  'Error: Could not rename the file ');
-define('_SKINFILES_ERR_RENAME_FILE5',                  'because no new name was supplied.');
-define('_SKINFILES_ERR_RENAME_FILE6',                  'Error: Could not rename the file ');
-define('_SKINFILES_ERR_RENAME_FILE7',                  'because the supplied file name contains one or more illegal characters.');
-define('_SKINFILES_ERR_RENAME_FILE8',                  'Error: Could not rename the file ');
-define('_SKINFILES_ERR_RENAME_FILE9',                  'because the supplied name is the same as the original name. Please use a different name.');
-define('_SKINFILES_ERR_RENAME_FILE10',                 'Error: Could not rename the file ');
-define('_SKINFILES_ERR_RENAME_FILE11',                 'because the supplied name is already used by another file or directory. Consider using a different name, or ');
-define('_SKINFILES_ERR_RENAME_FILE12',                 'delete the existing file or directory first.');
-define('_SKINFILES_ERR_RENAME_FILE13',                 'Error: Could not rename the file ');
-define('_SKINFILES_ERR_RENAME_FILE14',                 '.');
-define('_SKINFILES_ERR_RENAME_FILE15',                 'Message: The file ');
-define('_SKINFILES_ERR_RENAME_FILE16',                 'has been renamed ');
-define('_SKINFILES_ERR_RENAME_FILE17',                 'to ');
-define('_SKINFILES_ERR_RENAME_FILE18',                 '.');
-
-define('_SKINFILES_ERR_CREATE_FILE1',                  'Error: Could not create a new file because there was no name supplied.');
-define('_SKINFILES_ERR_CREATE_FILE2',                  'Error: Could not create the file ');
-define('_SKINFILES_ERR_CREATE_FILE3',                  'because the supplied file name contains one or more illegal characters.');
-define('_SKINFILES_ERR_CREATE_FILE4',                  'Error: Could not create the file ');
-define('_SKINFILES_ERR_CREATE_FILE5',                  'because the supplied name is already used by another file or directory. Consider using a different name, or ');
-define('_SKINFILES_ERR_CREATE_FILE6',                  'delete the existing file or directory first.');
-define('_SKINFILES_ERR_CREATE_FILE7',                  'Error: Could not create the file ');
-define('_SKINFILES_ERR_CREATE_FILE8',                  '.');
-define('_SKINFILES_ERR_CREATE_FILE9',                  'Message: The file ');
-define('_SKINFILES_ERR_CREATE_FILE10',                 'has been created.');
-define('_SKINFILES_ERR_CREATE_FILE11',                 'Error: The directory ');
-define('_SKINFILES_ERR_CREATE_FILE12',                 'does not exist ');
-define('_SKINFILES_ERR_CREATE_FILE13',                 'or you do not have permission to access that directory.');
-
-define('_SKINFILES_ERR_DELETE_FILE1',                  'Error: The file ');
-define('_SKINFILES_ERR_DELETE_FILE2',                  'does not exist ');
-define('_SKINFILES_ERR_DELETE_FILE3',                  'or you do not have permission to delete the file.');
-define('_SKINFILES_ERR_DELETE_FILE4',                  'Error: Could not delete the file.');
-define('_SKINFILES_ERR_DELETE_FILE5',                  'Message: The file ');
-define('_SKINFILES_ERR_DELETE_FILE6',                  'has been delete.');
-
-define('_SKINFILES_ERR_UPLOAD_FILE1',                  'Error: Could not upload the file ');
-define('_SKINFILES_ERR_UPLOAD_FILE2',                  '. ');
-define('_SKINFILES_ERR_UPLOAD_FILE3',                  'Max / Current size: ');
-define('_SKINFILES_ERR_UPLOAD_FILE4',                  '.');
-define('_SKINFILES_ERR_UPLOAD_FILE5',                  'Error: Could not upload the file ');
-define('_SKINFILES_ERR_UPLOAD_FILE6',                  ',because the supplied file name contains one or more illegal characters.');
-define('_SKINFILES_ERR_UPLOAD_FILE7',                  'Message: The file ');
-define('_SKINFILES_ERR_UPLOAD_FILE8',                  'has been uploaded.');
-define('_SKINFILES_ERR_UPLOAD_FILE9',                  'Error: The directory ');
-define('_SKINFILES_ERR_UPLOAD_FILE10',                 'does not exist ');
-define('_SKINFILES_ERR_UPLOAD_FILE11',                 'or you do not have permission to access that directory.');
-
-?>
diff --git a/euc/nucleus/plugins/skinfiles/generic.gif b/euc/nucleus/plugins/skinfiles/generic.gif
deleted file mode 100644 (file)
index 1f11633..0000000
Binary files a/euc/nucleus/plugins/skinfiles/generic.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/home.gif b/euc/nucleus/plugins/skinfiles/home.gif
deleted file mode 100644 (file)
index fec3f68..0000000
Binary files a/euc/nucleus/plugins/skinfiles/home.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/html.gif b/euc/nucleus/plugins/skinfiles/html.gif
deleted file mode 100644 (file)
index f7a5a76..0000000
Binary files a/euc/nucleus/plugins/skinfiles/html.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/image.gif b/euc/nucleus/plugins/skinfiles/image.gif
deleted file mode 100644 (file)
index a9cbcd7..0000000
Binary files a/euc/nucleus/plugins/skinfiles/image.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/index.php b/euc/nucleus/plugins/skinfiles/index.php
deleted file mode 100644 (file)
index 602f58f..0000000
+++ /dev/null
@@ -1,1515 +0,0 @@
-<?php
-
-   /* ==========================================================================================
-       * Nucleus SkinFiles Plugin
-       *
-       * Copyright 2005-2007 by Jeff MacMichael and Niels Leenheer
-       *
-       * @version $Id: index.php,v 1.2 2007-03-22 09:16:11 kimitake Exp $
-       * @version $NucleusJP: index.php,v 1.6 2007/03/20 19:32:47 kmorimatsu Exp $
-       *
-       * ==========================================================================================
-       * This program is free software and open source software; you can redistribute
-       * it and/or modify it under the terms of the GNU General Public License as
-       * published by the Free Software Foundation; either version 2 of the License,
-       * or (at your option) any later version.
-       *
-       * This program 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 General Public License for
-       * more details.
-       *
-       * You should have received a copy of the GNU General Public License along
-       * with this program; if not, write to the Free Software Foundation, Inc.,
-       * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  or visit
-       * http://www.gnu.org/licenses/gpl.html
-       * ==========================================================================================
-       */
-
-       $strRel = '../../../'; 
-       require($strRel . 'config.php');
-       include($DIR_LIBS . 'PLUGINADMIN.php');
-
-       $language = ereg_replace( '[\\|/]', '', getLanguageName());
-       $langfile = $language.'.php';
-       if (file_exists($langfile))
-               include_once($langfile);
-       else
-               include_once('english.php');
-
-       /**
-         * Create admin area
-         */
-
-       $oPluginAdmin  = new PluginAdmin('SkinFiles');
-
-       if (!($member->isLoggedIn() && $member->isAdmin()))
-       {
-               $oPluginAdmin->start();
-               echo '<p>' . _ERROR_DISALLOWED . '</p>';
-               $oPluginAdmin->end();
-               exit;
-       }
-
-
-       
-       /**
-         * Setup main variables
-         */
-
-       $rootDirectory = sfRealPath($DIR_SKINS);                        
-       $rootUrl       = $CONF['SkinsURL'];
-       $pluginUrl         = $oPluginAdmin->plugin->getAdminURL();
-
-       $filetypes = array (
-               'text'  => array ('inc', 'txt', 'css', 'js', 'php'),
-               'html'  => array ('htm', 'html'),
-               'img'   => array ('png', 'gif', 'jpg', 'jpeg', 'bmp', 'ico', 'swf'),
-       );
-       
-       
-       /**
-         * Bypass admin area for downloads
-         */
-       
-       $action = requestVar('action');
-
-       if ($action == 'download') { 
-               _skinfiles_download();
-               exit;
-       }
-
-
-       /**
-         * Build admin area
-         */
-
-       $oPluginAdmin->start("<style type='text/css'>
-       <!--
-       
-               div#content a {
-                       text-decoration: none;
-               }
-               div#content img {
-                       vertical-align: middle;
-                       margin-top: -3px;
-               }
-               p.message {
-                       font-weight: bold;
-               }
-               p.error {
-                       font-size: 100%;
-                       font-weight: bold;
-                       color: #880000;
-               }
-               pre {
-                       overflow: auto;
-                       height: 400px;
-               }
-               iframe {
-                       width: 100%;
-                       height: 400px;
-                       border: 1px solid gray;
-               }
-               div.dialogbox {
-                       border: 1px solid #ddd;
-                       background-color: #F6F6F6;
-                       margin: 18px 0 1.5em 0;
-               }
-               div.dialogbox h4 {
-                       background-color: #bbc;
-                       color: #000;
-                       margin: 0;
-                       padding: 5px;
-               }
-               div.dialogbox h4.light {
-                       background-color: #ddd;
-               }
-               div.dialogbox div {
-                       margin: 0;
-                       padding: 10px;
-               }
-               div.dialogbox button {
-                       margin: 10px 0 0 6px;
-                       float: right;
-               }
-               div.dialogbox p {
-                       margin: 0;
-               }
-               div.dialogbox p.buttons {
-                       text-align: right;
-                       overflow: auto;
-               }
-               div.dialogbox textarea {
-                       width: 100%;
-                       margin: 0;
-               }
-       
-       -->
-       </style>");
-       
-       echo "<h2>" . _SKINFILES_MANAGEMENT . "</h2>";
-       
-       $actions = array (
-               'renfile', 'renfile_process', 'delfile', 'delfile_process', 
-               'editfile', 'editfile_process', 'uploadfile', 'createfile', 'viewfile',
-               'rendir', 'rendir_process', 'deldir', 'deldir_process',
-               'emptydir', 'emptydir_process', 'createdir'
-       );
-       
-       if (in_array($action, $actions)) 
-       { 
-               if (!$manager->checkTicket())
-               {
-                       echo '<p class="error">Error: ' . _ERROR_BADTICKET . '</p>';
-                       sfShowDirectory();
-                       
-               } 
-               else 
-               {
-                       call_user_func('_skinfiles_' . $action);
-               }
-       } 
-       else 
-       {
-               sfShowDirectory();
-       }
-
-       $oPluginAdmin->end();
-       exit;
-       
-       
-
-
-
-
-
-       /* Helper functions **************************************************************************************************************/
-
-       function sfExpandDirectory ($path) {
-          /* IN:  relative directory
-               * OUT: full path to directory
-               */
-
-               global $rootDirectory;
-               return sfRealPath($rootDirectory . $path);
-       }
-       
-       function sfRealPath ($path) {
-          /* IN:  full path 
-               * OUT: canonicalized absolute pathname
-               */
-
-               $path = realpath($path);
-               $path = str_replace('\\', '/', $path);  
-               $path = substr($path, strlen($path) - 1) != '/' ? $path . '/' : $path;
-               return $path;
-       }
-
-       function sfFullUrl ($path) {
-          /* IN:  full path including filename
-               * OUT: url including filename
-               */
-
-               global $rootDirectory, $rootUrl;
-               
-               $path = str_replace($rootDirectory, '', $path);
-               $path = rawurlencode($path);
-               $path = str_replace('%2F', '/', $path);
-               return $rootUrl . $path;
-       }
-
-       function sfValidPath ($path) {
-          /* IN:  full path excluding or including filename
-               * OUT: boolean, true if full path is or is within rootDirectory
-               */
-
-               global $rootDirectory;
-               return substr($path, 0, strlen($rootDirectory)) == $rootDirectory;
-       }
-       
-       function sfRelativePath ($path) {
-          /* IN:  full path including or excluding filename
-               * OUT: relative path from rootDirectory
-               */
-
-               global $rootDirectory;
-               return str_replace($rootDirectory, '', $path);
-       }
-       
-       function sfIsFileType ($type, $file) {
-
-               global $filetypes;
-               return isset($filetypes[$type]) && in_array(strtolower(substr(strrchr($file, "."), 1)), $filetypes[$type]);
-       }
-
-       function sfAllowEditing ($file) {
-               return sfIsFileType('html', $file) || sfIsFileType('text', $file);
-       }
-       
-       function sfAllowViewing ($file) {
-               return sfIsFileType('html', $file) || sfIsFileType('text', $file) || sfIsFileType('img', $file);
-       }
-
-
-       function sfDisplayPath ($relative) {
-       
-               global $pluginUrl;
-               
-               $result  = '<a href="' . htmlspecialchars($pluginUrl) . '" title="Go back to &laquo;skins&raquo;">';
-               $result .= '<img src="' . htmlspecialchars($pluginUrl . 'home.gif') . '" alt="" /> skins</a> / ';
-
-               $parts = explode('/', $relative);
-               $part = '';
-               
-               while (list(,$v) = each ($parts)) {
-                       if ($v != '') {
-                               $part .= $v . '/';
-                               
-                               $result .= '<a href="' . htmlspecialchars($pluginUrl . '?dir=' . rawurlencode($part)) . '" ';
-                               $result .= 'title="Go back to &laquo;' . htmlspecialchars($v) . '&raquo;">';
-                               $result .= '<img src="' . htmlspecialchars($pluginUrl . 'dir.gif') . '" alt="" /> ';
-                               $result .= htmlspecialchars($v) . '</a> / ';
-                       }
-               }
-               
-               return $result;
-       }
-
-       function sfIcon ($file) {
-       
-               global $pluginUrl;
-       
-               $ext = strtolower(substr(strrchr($file, "."), 1));
-               
-               switch ($ext) {
-                       case 'htm':
-                       case 'html':
-                               return $pluginUrl . 'html.gif';
-                               break;
-
-                       case 'txt':
-                       case 'js':
-                       case 'css':
-                       case 'inc':
-                               return $pluginUrl . 'text.gif';
-                               break;
-
-                       case 'gif':
-                       case 'png':
-                       case 'jpg':
-                       case 'jpeg':
-                       case 'bmp':
-                       case 'xbmp':
-                       case 'ico':
-                               return $pluginUrl . 'image.gif';
-                               break;
-
-                       case 'php':
-                       case 'php3':
-                       case 'php4':
-                               return $pluginUrl . 'php.gif';
-                               break;
-                               
-                       default:
-                               return $pluginUrl . 'generic.gif';
-                               break;
-               }
-       }
-
-       function sfIllegalFilename($name) {
-               return preg_match('#[\n\r\\\/\:\*\?\"\<\>\|]#', $name);
-       }
-
-       function sfDirectoryIsEmpty($dir) {
-               
-               $count = 0;
-               
-               if ($dh = opendir($dir)) 
-               {
-                       while (($file = readdir($dh)) !== false) 
-                               $count++;
-                       
-                       closedir($dh);
-               }
-               
-               // $count must be smaller or equal than 2, because '.' 
-               // and '..' are always returned by readdir().
-               return $count <= 2;
-       }
-
-
-
-
-
-
-
-
-
-       /* Show directory ****************************************************************************************************************/
-
-       function sfShowDirectory($default = '') {
-
-               global $pluginUrl, $rootDirectory, $CONF, $manager;
-               
-               $directory = $default != '' ? 
-                       $default : 
-                       sfExpandDirectory(trim(requestVar('dir')));
-               
-               if (!sfValidPath($directory) || !is_dir($directory)) {
-                       $directory = $rootDirectory;
-               }
-
-               $relative  = sfRelativePath ($directory);
-               
-               echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative) . '</p>';                  
-
-                       
-               $dirs = array();
-               $files = array();
-
-               if ($dh = @opendir($directory)) { 
-                       while (($file = readdir($dh)) !== false) { 
-                               if (!preg_match("/^\.{1,2}$/", $file)) {
-                                       $fstat = @stat($directory . $file);
-                               
-                                       if ($fstat['mode'] & 040000)
-                                               $dirs[$file] = $fstat;
-                                       else
-                                               $files[$file] = $fstat;
-                               }
-                       }
-                       closedir($dh); 
-               }                       
-               
-               ksort($dirs);
-               ksort($files);
-               
-               echo '<table><thead><tr>';
-               echo '<th>' . _SKINFILES_NAME . '</th><th>' . _SKINFILES_SIZE . '</th><th>' . _SKINFILES_LAST_MODIFIED . '</th><th colspan="4">' . _SKINFILES_ACTIONS . '</th>';
-               echo '</tr></thead>';
-
-               while (list($name, $stat) = each($dirs)) {
-                       
-                       $dir = sfRelativePath($directory . $name . '/');
-                               
-                       echo '<tr onmouseover="focusRow(this);" onmouseout="blurRow(this);"><td>';
-                       
-                       if (is_readable ($directory . $name)) 
-                       {
-                               echo '<a href="' . htmlspecialchars($pluginUrl . '?dir=' . rawurlencode($dir)) . '">';
-                               echo '<img src="' . htmlspecialchars($pluginUrl . 'dir.gif') . '" alt="folder" /> ';
-                               echo htmlspecialchars($name).'</a>';                    
-                       }
-                       else
-                       {
-                               echo '<img src="' . htmlspecialchars($pluginUrl . 'dir.gif') . '" alt="folder" /> ';
-                               echo htmlspecialchars($name);                   
-                       }
-                                               
-                       echo '</td>';
-                               
-                       $renUrl = $manager->addTicketToUrl($pluginUrl . '?action=rendir&dir=' . rawurlencode($dir));
-                       $delUrl = $manager->addTicketToUrl($pluginUrl . '?action=deldir&dir=' . rawurlencode($dir));
-                               
-                       echo '<td>&ndash;</td>';
-                       echo '<td>' . date(_SKINFILES_DATE_FORMAT, $stat['mtime']);
-                       
-                       
-                       if (is_writable($directory . $name)) {
-                               echo '<td><a href="' . htmlspecialchars($renUrl) . '" title="' . _SKINFILES_RENAME . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_RENAME . '</a></td>';
-                       } else {
-                               echo '<td>&nbsp;</td>';
-                       }
-                       
-                       if (is_writable($directory . $name) && sfDirectoryIsEmpty($directory . $name)) {
-                               echo '<td><a href="' . htmlspecialchars($delUrl) . '" title="' . _SKINFILES_DELETE . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_DELETE . '</a></td>';
-                       } else {
-                               echo '<td>&nbsp;</td>';
-                       }
-                       
-                       echo '<td>&nbsp;</td><td>&nbsp;</td>';
-                       echo '</tr>';
-               }
-
-
-               while (list($name, $stat) = each($files)) {
-
-                       $file = sfRelativePath($directory . $name);
-
-                       $renUrl   = $manager->addTicketToUrl($pluginUrl . '?action=renfile&file='  . rawurlencode($file));
-                       $delUrl   = $manager->addTicketToUrl($pluginUrl . '?action=delfile&file='  . rawurlencode($file));
-                       $editUrl  = $manager->addTicketToUrl($pluginUrl . '?action=editfile&file=' . rawurlencode($file));
-                       $viewUrl  = $manager->addTicketToUrl($pluginUrl . '?action=viewfile&file=' . rawurlencode($file));
-                       $dlUrl    = $manager->addTicketToUrl($pluginUrl . '?action=download&file=' . rawurlencode($file));
-
-                       echo '<tr onmouseover="focusRow(this);" onmouseout="blurRow(this);"><td>';
-                       
-                       if (is_readable ($directory . $name) && sfAllowViewing($name)) 
-                       {
-                               echo '<a href="' . htmlspecialchars($viewUrl) . '">';
-                               echo '<img src="' . htmlspecialchars(sfIcon($name)) . '" alt="" /> ';
-                               echo htmlspecialchars($name).'</a>';
-                       }
-                       else
-                       {
-                               echo '<img src="' . htmlspecialchars(sfIcon($name)) . '" alt="" /> ';
-                               echo htmlspecialchars($name);
-                       }
-
-                       echo '</td><td>';
-                       echo ceil($stat['size'] / 1024) . ' kB';
-                       echo '</td><td>';
-                       echo date(_SKINFILES_DATE_FORMAT, $stat['mtime']);
-                       echo '</td><td>';
-                               
-                       if (is_writable($directory . $name)) {
-                               echo '<a href="' . htmlspecialchars($renUrl) . '" title="' . _SKINFILES_RENAME . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_RENAME . '</a>';
-                       } else {
-                               echo '&nbsp;';
-                       }
-                               
-                       echo '</td><td>';
-
-                       if (is_writable($directory . $name)) {
-                               echo '<a href="' . htmlspecialchars($delUrl) . '" title="' . _SKINFILES_DELETE . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_DELETE . '</a>';
-                       } else {
-                               echo '&nbsp;';
-                       }
-                               
-                       echo '</td><td>';
-                       
-                       if (is_writable($directory . $name) && sfAllowEditing($name))
-                               echo '<a href="'. htmlspecialchars($editUrl) . '" title="' . _SKINFILES_EDIT . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_EDIT . '</a>';
-                       else
-                               echo '&nbsp;';
-
-                       echo '</td><td>';
-                       
-                       if (is_readable ($directory . $name))
-                               echo '<a href="' . htmlspecialchars($dlUrl) . '" title="' . _SKINFILES_DOWNLOAD . ' &laquo;' . htmlspecialchars($name) . '&raquo;">' . _SKINFILES_DOWNLOAD . '</a>';
-                       else
-                               echo '&nbsp;';
-                               
-                       echo '</td></tr>';
-               }
-
-               if (!count($dirs) && !count($files)) {
-                       echo '<tr><td colspan="7">' . _SKINFILES_ERR_DIR_DOES_NOT_CONTAIN . '</td></tr>';
-               }
-
-               echo '</table>';
-
-               if ($relative != '') {
-               
-                       if (is_writable($directory)) {
-                               echo '<div class="dialogbox">';
-                               echo '<h4 class="light">' . _SKINFILES_CREATE_NEW_FILE . '</h4><div>';
-                               echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                               $manager->addTicketHidden();
-                               echo '<input type="hidden" name="action" value="createfile" />';
-                               echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative) . '" />';
-                               echo '<input type="text" name="name" size="40" value="untitled.txt" />';
-                               echo '<p class="buttons"><input type="submit" value="' . _SKINFILES_CREATE_FILE . '" /></p></form>';
-                               echo '</div></div>';
-       
-                               echo '<div class="dialogbox">';
-                               echo '<h4 class="light">' . _SKINFILES_UPLOAD_NEW_FILE . '</h4><div>';
-                               echo '<form method="post" enctype="multipart/form-data" action="' . htmlspecialchars($pluginUrl) . '">';
-                               $manager->addTicketHidden();
-                               echo '<input type="hidden" name="action" value="uploadfile" />';
-                               echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative) . '" />';
-                               echo '<input type="hidden" name="MAX_FILE_SIZE" value="' . $CONF['MaxUploadSize'] . '" />';
-                               echo '<input type="file" name="name" size="40" />';
-                               echo '<p class="buttons"><input type="submit" value="' . _SKINFILES_UPLOAD . '" /></p></form>';
-                               echo '</div></div>';
-                       }
-       
-                       if (count($files)) {
-                               echo '<div class="dialogbox">';
-                               echo '<h4 class="light">' . _SKINFILES_DEL_ALL_FILES . '</h4><div>';
-                               echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                               $manager->addTicketHidden();
-                               echo '<input type="hidden" name="action" value="emptydir" />';
-                               echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative) . '" />';
-                               echo _SKINFILES_DEL_ALL_FILES_MSG;
-                               echo '<p class="buttons"><input type="submit" value="' . _SKINFILES_DELETE_ALL . '" tabindex="140" onclick="return checkSubmit();" /></p>';
-                               echo '</form>';
-                               echo '</div></div>';
-                       }
-               }
-       
-               if (is_writable($directory)) {
-                       echo '<div class="dialogbox">';
-                       echo '<h4 class="light">' . _SKINFILES_CREATE_NEW_DIR . '</h4><div>';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="createdir" />';
-                       echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative) . '" />';
-                       echo '<input type="text" name="name" value="untitled" tabindex="90" size="40" />';
-                       echo '<p class="buttons"><input type="submit" value="' . _SKINFILES_CREATE . '" tabindex="140" onclick="return checkSubmit();" /></p>';
-                       echo '</form>';
-                       echo '</div></div>';
-               }
-       }
-       
-       
-       
-
-       /* Rename directory **************************************************************************************************************/
-
-       function _skinfiles_rendir($preset = '') {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory . $file) && file_exists($directory . $file) && 
-                       is_dir($directory . $file) && is_writable($directory . $file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $editUrl  = $manager->addTicketToUrl($pluginUrl . '?action=rendir&dir=' . rawurlencode($relative . $file));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($editUrl) . '" title="' . _SKINFILES_RENAME . ' &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . $pluginUrl . 'dir.gif' . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="rendir_process" />';
-                       echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative . $file) . '" />';
-
-                       echo '<h4>' . _SKINFILES_RENAME_DIR_MSG . ' &laquo;' . htmlspecialchars($file) . '&raquo; ' . _SKINFILES_RENAME_DIR_MSG2 . '</h4><div>';
-                       echo '<p><input type="text" name="name" size="40" value="' . htmlspecialchars($preset != '' ? $preset : $file) . '" /></p>';
-                       echo '<p class="buttons">';
-                       echo '<input type="hidden" name="sure" value="yes" />';
-                       echo '<input type="submit" value="' . _SKINFILES_RENAME . '" />';
-                       echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                       echo '</p>';
-                       echo '</div></form></div>';
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_DIR_DOES_NOT_EXIST1 . " &laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DIR_DOES_NOT_EXIST2;
-                       echo _SKINFILES_ERR_DIR_DOES_NOT_EXIST3 . "</p>";
-               }
-       }
-       
-       function _skinfiles_rendir_process() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory . $file) && file_exists($directory . $file) && 
-                               is_dir($directory . $file) && is_writable($directory . $file)) 
-                       {
-                               $name = requestVar('name');
-                               
-                               if ($name == '') {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_RENAME_DIR1 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_COULD_NOT_RENAME_DIR2 . "</p>";
-                                       _skinfiles_rendir($name);
-                                       return;
-                               }
-                               
-                               if (sfIllegalFilename($name)) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_RENAME_DIR3 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_COULD_NOT_RENAME_DIR4 . "</p>";
-                                       _skinfiles_rendir($name);
-                                       return;
-                               } 
-                               
-                               if ($name == $file) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_RENAME_DIR5 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_COULD_NOT_RENAME_DIR6 . _SKINFILES_ERR_COULD_NOT_RENAME_DIR7 . "</p>";
-                                       _skinfiles_rendir($name);
-                                       return;
-                               }
-                               
-                               if (file_exists($directory . $name)) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_RENAME_DIR8 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_COULD_NOT_RENAME_DIR9 . _SKINFILES_ERR_COULD_NOT_RENAME_DIR10 . "</p>";
-                                       _skinfiles_rendir($name);
-                                       return;
-                               }
-                               
-                               if (!@rename($directory . $file, $directory . $name)) 
-                               {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_RENAME_DIR11 . "&laquo;" . htmlspecialchars($file) . "&raquo;</p>";
-                                       _skinfiles_rendir($name);
-                                       return;
-                               }
-       
-                               echo "<p class='message'>" . _SKINFILES_RENAMED_DIR1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_RENAMED_DIR2;
-                               echo _SKINFILES_RENAMED_DIR3 . "&laquo;" . htmlspecialchars($name) . "&raquo;" . _SKINFILES_RENAMED_DIR4 . "</p>";
-                               sfShowDirectory($directory);
-                       }               
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_DIR_DOES_NOT_EXIST1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DIR_DOES_NOT_EXIST2;
-                               echo _SKINFILES_ERR_DIR_DOES_NOT_EXIST3 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory);
-               }
-       }
-
-
-
-
-       /* Create directory **************************************************************************************************************/
-
-       function _skinfiles_createdir() {
-       
-               $directory = trim(requestVar('dir'));
-               $directory = sfExpandDirectory($directory);
-
-               if (sfValidPath($directory) && is_dir($directory) && is_writable($directory)) 
-               {
-                       $name = requestVar('name');
-                       
-                       if ($name == '') {
-                               echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR1 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       if (sfIllegalFilename($name)) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR2 . "&laquo;" . htmlspecialchars($name) . "&raquo; ";
-                               echo _SKINFILES_ERR_COULD_NOT_CREATE_DIR3 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       } 
-                       
-                       if (file_exists($directory . $name)) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR4 . "&laquo;" . htmlspecialchars($name) . "&raquo; ";
-                               echo _SKINFILES_ERR_COULD_NOT_CREATE_DIR5 . _SKINFILES_ERR_COULD_NOT_CREATE_DIR6 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       $mask = @umask(0000);
-
-                       if (!@mkdir($directory . $name, 0755)) 
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR2 . "&laquo;" . htmlspecialchars($name) . "&raquo;</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-
-                       @umask($mask);
-                       
-                       echo "<p class='message'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR7 . "&laquo;" . htmlspecialchars($name) . "&raquo; " . _SKINFILES_ERR_COULD_NOT_CREATE_DIR8 . "</p>";
-                       sfShowDirectory($directory);
-               }               
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_COULD_NOT_CREATE_DIR9 . "&laquo;" . htmlspecialchars(basename($directory)) . "&raquo; " .  _SKINFILES_ERR_COULD_NOT_CREATE_DIR10;
-                       echo _SKINFILES_ERR_COULD_NOT_CREATE_DIR11 . "</p>";
-               }
-       }
-       
-       
-       
-
-       /* Delete directory **************************************************************************************************************/
-
-       function _skinfiles_deldir() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory . $file) && file_exists($directory . $file) && 
-                       is_dir($directory . $file) && is_writable($directory . $file) &&
-                       sfDirectoryIsEmpty($directory . $file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $delUrl  = $manager->addTicketToUrl($pluginUrl . '?action=deldir&dir=' . rawurlencode($relative . $file));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($delUrl) . '" title="' . _SKINFILES_DELETE . ' &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . $pluginUrl . 'dir.gif' . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="deldir_process" />';
-                       echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative . $file) . '" />';
-
-                       echo '<h4>' . _SKINFILES_DELETE_DIR . ' &laquo;' . htmlspecialchars($file) . '&raquo; ' . _SKINFILES_DELETE_DIR2 . '</h4><div>';
-                       echo '<p class="buttons">';
-                       echo '<input type="hidden" name="sure" value="yes" />';
-                       echo '<input type="submit" value="' . _SKINFILES_DELETE . '" />';
-                       echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                       echo '</p>';
-                       echo '</div></form></div>';
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_DELETE_DIR1 . " &laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_DIR2;
-                       echo _SKINFILES_ERR_DELETE_DIR3 . "</p>";
-               }
-       }
-       
-       function _skinfiles_deldir_process() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory . $file) && file_exists($directory . $file) && 
-                               is_dir($directory . $file) && is_writable($directory . $file) &&
-                               sfDirectoryIsEmpty($directory . $file)) 
-                       {
-                               if (!@rmdir($directory . $file)) 
-                               {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_DELETE_DIR4 . "&laquo;" . htmlspecialchars($file) . "&raquo;</p>";
-                                       sfShowDirectory($directory);
-                                       return;
-                               }
-       
-                               echo "<p class='message'>" . _SKINFILES_ERR_DELETE_DIR5 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_DIR6 . "</p>";
-                               sfShowDirectory($directory);
-                       }               
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_DELETE_DIR1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_DIR2;
-                               echo _SKINFILES_ERR_DELETE_DIR3 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory);
-               }
-       }       
-       
-       
-       
-       
-       /* Empty directory ***************************************************************************************************************/
-
-       function _skinfiles_emptydir() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory . $file) && file_exists($directory . $file) && is_dir($directory . $file)) 
-               {
-                       $files = array();
-       
-                       if ($dh = @opendir($directory . $file)) 
-                       { 
-                               while (($name = readdir($dh)) !== false) {
-                                       if(!preg_match("/^\.{1,2}$/", $name) && 
-                                          !is_dir($directory . $file . '/' . $name) &&
-                                          is_writable($directory . $file . '/' . $name)) 
-                                                       $files[] = $name;
-                               }
-                               
-                               closedir($dh); 
-                               sort($files);
-                       }
-                       
-                       $relative = sfRelativePath ($directory);
-                       $emptyUrl  = $manager->addTicketToUrl($pluginUrl . '?action=emptydir&dir=' . rawurlencode($relative . $file));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($emptyUrl) . '" title="Empty &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . $pluginUrl . 'dir.gif' . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="emptydir_process" />';
-                       echo '<input type="hidden" name="dir" value="' . htmlspecialchars($relative . $file) . '" />';
-
-                       echo '<h4>' . _SKINFILES_DELETE_FILE_MSG . ' &laquo;' . htmlspecialchars($file) . '&raquo;' . _SKINFILES_DELETE_FILE_MSG2 . '</h4><div>';
-                       
-                       if (count($files)) 
-                       {
-                               echo '<ul>';
-                               foreach ($files as $name) {     echo '<li>' . htmlspecialchars($name) . '</li>'; }
-                               echo '</ul>';
-       
-                               echo '<p class="buttons">';
-                               echo '<input type="hidden" name="sure" value="yes" />';
-                               echo '<input type="submit" value="' . _SKINFILES_DELETE . '" />';
-                               echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                               echo '</p>';
-                       }
-                       else
-                       {
-                               echo '<p>' . _SKINFILES_ERR_DELETE_DIR7 . '</p>';
-                               echo '<p class="buttons">';
-                               echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                               echo '</p>';
-                       }
-                       
-                       echo '</div></form></div>';
-                       
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_DELETE_DIR1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_DIR2;
-                       echo _SKINFILES_ERR_DELETE_DIR3 . "</p>";
-               }
-       }
-
-       function _skinfiles_emptydir_process() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = trim(basename(requestVar('dir')));
-               $directory = trim(dirname(requestVar('dir')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory . $file) && file_exists($directory . $file) && is_dir($directory . $file)) 
-                       {
-                               if ($dh = @opendir($directory . $file)) 
-                               { 
-                                       while (($name = readdir($dh)) !== false) 
-                                       {
-                                               if(!preg_match("/^\.{1,2}$/", $name) &&  !is_dir($directory . $file . '/' . $name) &&
-                                                  is_writable($directory . $file . '/' . $name)) 
-                                               {
-                                                       if (unlink ($directory .$file . '/' . $name)) 
-                                                               echo "<p class='message'>" . _SKINFILES_ERR_EMPTY_DIR1 . "&laquo;" . htmlspecialchars($name) . "&raquo; " . _SKINFILES_ERR_EMPTY_DIR2 . "</p>";
-                                                       else
-                                                               echo "<p class='error'>" . _SKINFILES_ERR_EMPTY_DIR3 . "&laquo;" . htmlspecialchars($name) . "&raquo; " . _SKINFILES_ERR_EMPTY_DIR4 . "</p>";
-                                               }
-                                       }
-                                       
-                                       closedir($dh); 
-       
-                                       sfShowDirectory($directory . $file . '/');
-                               }
-                       }
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_EMPTY_DIR5 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_EMPTY_DIR6;
-                               echo _SKINFILES_ERR_EMPTY_DIR7 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory . $file . '/');
-               }
-       }
-
-
-
-
-       /* Download file *****************************************************************************************************************/
-
-       function _skinfiles_download() {
-
-               global $pluginUrl, $manager;
-               
-               $file = basename(trim(requestVar('file')));
-
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory) && file_exists($directory . $file) && 
-                       is_file($directory . $file) && is_readable($directory . $file)) 
-               {
-                       if (strstr(serverVar('HTTP_USER_AGENT'), "MSIE"))
-                               $name = preg_replace('/\./', '%2e', $file, substr_count($file, '.') - 1);
-                       else
-                               $name = $file;
-                               
-                       if ($fp = @fopen($directory . $file, 'r')) {
-                               header("Cache-Control: ");      // leave blank to avoid IE errors
-                               header("Pragma: ");                     // leave blank to avoid IE errors
-                               header("Content-type: application/octet-stream");
-                               header('Content-Disposition: attachment; filename="'.$name.'"');
-                               header("Content-length: ".(string)(filesize($directory . $file)));
-                               sleep(1);
-                               
-                               fpassthru($fp);
-                               fclose($fp);
-                       }
-                       else
-                       {
-                               echo _SKINFILES_ERR_DOWNLOAD_FILE1;
-                       }
-               }
-               else
-               {
-                       echo _SKINFILES_ERR_DOWNLOAD_FILE2;
-               }
-
-               exit;
-       }
-
-
-
-
-       /* View file *********************************************************************************************************************/
-
-       function _skinfiles_viewfile() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory) && file_exists($directory . $file) && 
-                       is_file($directory . $file) && is_readable($directory . $file) && sfAllowViewing($file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $viewUrl  = $manager->addTicketToUrl($pluginUrl . '?action=viewfile&file=' . rawurlencode(sfRelativePath($directory . $file)));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($viewUrl) . '" title="View &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . htmlspecialchars(sfIcon($file)) . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<h4>' . _SKINFILES_VIEW_FILE . '&laquo;' . htmlspecialchars($file) . '&raquo;</h4>';
-
-                       if (sfIsFileType('html', $file))
-                       {
-                               echo '<iframe src="' . sfFullUrl($directory . $file) . '"></iframe>';
-                       }
-
-                       if (sfIsFileType('text', $file))
-                       {
-                               $content = implode('', file($directory . $file));
-
-                               echo '<pre>';
-                               echo htmlspecialchars($content);
-                               echo '</pre>';
-                       }
-
-                       if (sfIsFileType('img', $file))
-                       {
-                               $size = getimagesize($directory . $file, $info);
-                               
-                               switch ($size[2]) {
-                                       case IMAGETYPE_GIF:             $type = 'GIF document'; break;
-                                       case IMAGETYPE_JPEG:    $type = 'JPEG photograph'; break;
-                                       case IMAGETYPE_PNG:             $type = 'PNG document'; break;
-                                       case IMAGETYPE_SWF:             $type = 'Flash animation'; break;
-                                       case IMAGETYPE_PSD:             $type = 'Photoshop document'; break;
-                                       case IMAGETYPE_BMP:             $type = 'BMP document'; break;
-                                       case IMAGETYPE_TIFF_II: $type = 'TIFF document (Intel Byte Order)'; break;
-                                       case IMAGETYPE_TIFF_MM: $type = 'TIFF document (Motorola Byte Order)'; break;
-                                       case IMAGETYPE_JPC:             $type = 'JPEG2000 photograph'; break;
-                                       case IMAGETYPE_JP2:     $type = 'JPEG2000 photograph'; break;
-                                       case IMAGETYPE_JPX:     $type = 'JPEG2000 photograph'; break;
-                                       case IMAGETYPE_JB2:     $type = 'Slowview document'; break;
-                                       case IMAGETYPE_SWC:     $type = 'Flash animation (compressed)'; break;
-                                       case IMAGETYPE_IFF:     $type = 'IFF document'; break;
-                                       case IMAGETYPE_WBMP:    $type = 'WBMP document'; break;
-                                       case IMAGETYPE_XBM:     $type = 'XBM document'; break;
-                                       default:                                $type = 'Unknown document'; break;
-                               }
-
-                               if ($size[2] == IMAGETYPE_GIF || $size[2] == IMAGETYPE_JPEG ||
-                                       $size[2] == IMAGETYPE_PNG)
-                               {
-                                       echo '<p><img src="' . sfFullUrl($directory . $file) . '" alt="" /></p>';
-                               }
-                               
-                               echo '<table>';
-                               echo '<tr><th colspan="2">' . _SKINFILES_VIEW_FILE_IMG_INFO . '</th></tr>';
-                               echo '<tr><td>' . _SKINFILES_VIEW_FILE_TYPE . '</td><td>' . htmlspecialchars($type) . '</td></tr>';
-                               echo '<tr><td>' . _SKINFILES_VIEW_FILE_WIDTH . '</td><td>' . htmlspecialchars($size[0]) . _SKINFILES_VIEW_FILE_PX . '</td></tr>';
-                               echo '<tr><td>' . _SKINFILES_VIEW_FILE_HEIGHT . '</td><td>' . htmlspecialchars($size[1]) . _SKINFILES_VIEW_FILE_PX . '</td></tr>';      
-                               
-                               if (isset($size['channels']) || isset($size['bits'])) 
-                               {
-                                       $channels = isset($size['channels']) ? $size['channels'] : 3;
-                                       $depth    = $size[2] == IMAGETYPE_GIF ? $size['bits'] : $size['bits'] * $channels;
-                                       echo '<tr><td>' . _SKINFILES_VIEW_FILE_CHANNELS . '</td><td>' . htmlspecialchars($channels) . '</td></tr>';
-                                       echo '<tr><td>' . _SKINFILES_VIEW_FILE_COLOR_DEPTH . '</td><td>' . htmlspecialchars($depth) . _SKINFILES_VIEW_FILE_BITS . '</td></tr>';
-                                       echo '<tr><td>' . _SKINFILES_VIEW_FILE_COLORS . '</td><td>' . htmlspecialchars(pow(2, $depth)) . _SKINFILES_VIEW_FILE_COLORS2 . '</td></tr>';
-                               }
-
-                               
-                               if (function_exists('exif_read_data') && ($size[2] == IMAGETYPE_JPEG || 
-                                       $size[2] == IMAGETYPE_TIFF_II || $size[2] == IMAGETYPE_TIFF_MM))
-                               {
-                                       $exif = exif_read_data($directory . $file, 'EXIF');
-                                       
-                                       if ($exif) 
-                                       {
-                                               echo '<tr><th colspan="2">Exif information</th></tr>';
-                                               
-                                               if (isset($exif['Make']) && isset($exif['Model']))
-                                                       echo '<tr><td>Camera:</td><td>' . htmlspecialchars($exif['Make'] . ' ' . $exif['Model']) . '</td></tr>';
-                                               
-                                               if (isset($exif['DateTime']))
-                                                       echo '<tr><td>Created on:</td><td>' . htmlspecialchars($exif['DateTime']) . '</td></tr>';
-                                               
-                                               if (isset($exif['XResolution']))
-                                                       echo '<tr><td>Horizontal resolution:</td><td>' . htmlspecialchars(_skinfiles_exif_prepare($exif['XResolution'])) . ' dpi</td></tr>';
-                                               
-                                               if (isset($exif['YResolution']))
-                                                       echo '<tr><td>Vertical resolution:</td><td>' . htmlspecialchars(_skinfiles_exif_prepare($exif['YResolution'])) . ' dpi</td></tr>';
-                                               
-                                               if (isset($exif['FocalLength']))
-                                                       echo '<tr><td>Focal length:</td><td>' . htmlspecialchars(_skinfiles_exif_prepare($exif['FocalLength'])) . ' mm</td></tr>';
-                                               
-                                               if (isset($exif['FNumber']))
-                                                       echo '<tr><td>F-number:</td><td>F/' . htmlspecialchars(_skinfiles_exif_prepare($exif['FNumber'])) . '</td></tr>';
-                                               
-                                               if (isset($exif['ExposureTime']))
-                                                       echo '<tr><td>Exposuretime:</td><td>' . htmlspecialchars(_skinfiles_exif_prepare($exif['ExposureTime'])) . ' sec</td></tr>';
-                                               
-                                               if (isset($exif['ISOSpeedRatings']))
-                                                       echo '<tr><td>ISO-speed:</td><td>' . htmlspecialchars(_skinfiles_exif_prepare($exif['ISOSpeedRatings'])) . '</td></tr>';
-                                       }
-                               }
-
-                               echo '</table>';
-                       }
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_VIEW_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_VIEW_FILE2;
-                       echo _SKINFILES_ERR_VIEW_FILE3 . "</p>";
-               }
-       }
-
-       function _skinfiles_exif_prepare($value) {
-               if (preg_match('#([0-9]+)/([0-9]+)#', $value, $matches))
-                       if ($matches[1] < $matches[2])
-                               return '1/' . round($matches[2] / $matches[1]);
-                       else
-                               return round($matches[1] / $matches[2]);
-               else
-                       return $value;
-       }
-
-
-
-
-       /* Edit file *********************************************************************************************************************/
-
-       function _skinfiles_editfile() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory) && file_exists($directory . $file) && 
-                       is_file($directory . $file) && is_writable($directory . $file) && sfAllowEditing($file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $editUrl  = $manager->addTicketToUrl($pluginUrl . '?action=editfile&file=' . rawurlencode(sfRelativePath($directory . $file)));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($editUrl) . '" title="Edit &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . htmlspecialchars(sfIcon($file)) . '" alt="" /> ' . $file . '</a></p>';
-
-                       $content = implode('', file($directory . $file));
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="editfile_process" />';
-                       echo '<input type="hidden" name="file" value="' . htmlspecialchars(sfRelativePath($directory . $file)) . '" />';
-
-                       echo '<h4>' . _SKINFILES_EDIT_FILE_MSG . ' &laquo;' . htmlspecialchars($file) . '&raquo;</h4><div>';
-                       echo '<p><textarea class="skinedit" tabindex="8" rows="20" cols="80" name="content">';
-                       echo htmlspecialchars($content);
-                       echo '</textarea></p>';
-                       
-                       echo '<p class="buttons">';
-                       echo '<input type="hidden" name="sure" value="yes" /">';
-                       echo '<input type="submit" value="' .  _SKINFILES_SAVE_CHANGES . '" />';
-                       echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                       echo '</p>';
-                       echo '</div></form></div>';
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_EDIT_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_EDIT_FILE2;
-                       echo _SKINFILES_ERR_EDIT_FILE3 . "</p>";
-               }
-       }
-
-       function _skinfiles_editfile_process() {
-
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory) && file_exists($directory . $file) && 
-                               is_file($directory . $file) && is_writable($directory . $file) && sfAllowEditing($file)) 
-                       {
-                               $content = postVar('content');
-                               $success = false;
-                               
-                               if ($fh = @fopen($directory . $file, 'wb')) { 
-                                       
-                                       if (@fwrite($fh, $content) !== false)
-                                               $success = true;
-                                               
-                                       @fclose($fh);
-                               }
-                               
-                               if ($success)
-                                       echo "<p class='message'>" . _SKINFILES_ERR_EDIT_FILE4 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_EDIT_FILE5 . "</p>";
-                               else
-                                       echo "<p class='error'>" . _SKINFILES_ERR_EDIT_FILE6 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_EDIT_FILE7 . "</p>";
-                       
-                               _skinfiles_editfile();
-                       }
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_EDIT_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_EDIT_FILE2;
-                               echo _SKINFILES_ERR_EDIT_FILE3 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory);
-               }
-       }
-
-
-
-       /* Rename file *******************************************************************************************************************/
-
-       function _skinfiles_renfile($preset = '') {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory) && file_exists($directory . $file) && 
-                       is_file($directory . $file) && is_writable($directory . $file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $editUrl  = $manager->addTicketToUrl($pluginUrl . '?action=renfile&file=' . rawurlencode(sfRelativePath($directory . $file)));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($editUrl) . '" title="' . _SKINFILES_RENAME . ' &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . htmlspecialchars(sfIcon($file)) . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="renfile_process" />';
-                       echo '<input type="hidden" name="file" value="' . htmlspecialchars(sfRelativePath($directory . $file)) . '" />';
-
-                       echo '<h4>' . _SKINFILES_RENAME_FILE_MSG . '&laquo;' . htmlspecialchars($file) . '&raquo; ' . _SKINFILES_RENAME_FILE_MSG2 . '</h4><div>';
-                       echo '<p><input type="text" name="name" size="40" value="' . htmlspecialchars($preset != '' ? $preset : $file) . '" /></p>';
-                       echo '<p class="buttons">';
-                       echo '<input type="hidden" name="sure" value="yes" /">';
-                       echo '<input type="submit" value="' . _SKINFILES_RENAME . '" />';
-                       echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                       echo '</p>';
-                       echo '</div></form></div>';
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_RENAME_FILE2;
-                       echo _SKINFILES_ERR_RENAME_FILE3 . "</p>";
-               }
-       }
-       
-       function _skinfiles_renfile_process() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory) && file_exists($directory . $file) && 
-                               is_file($directory . $file) && is_writable($directory . $file)) 
-                       {
-                               $name = requestVar('name');
-
-                               if ($name == '') {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE4 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_RENAME_FILE5 . "</p>";
-                                       _skinfiles_renfile($name);
-                                       return;
-                               }
-                               
-                               if (sfIllegalFilename($name)) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE6 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_RENAME_FILE7 . "</p>";
-                                       _skinfiles_renfile($name);
-                                       return;
-                               } 
-                               
-                               if ($name == $file) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE8 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_RENAME_FILE9 . "</p>";
-                                       _skinfiles_renfile($name);
-                                       return;
-                               }
-                               
-                               if (file_exists($directory . $name)) {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE10 . "&laquo;" . htmlspecialchars($file) . "&raquo; ";
-                                       echo _SKINFILES_ERR_RENAME_FILE11;
-                                       echo _SKINFILES_ERR_RENAME_FILE12 . "</p>";
-                                       _skinfiles_renfile($name);
-                                       return;
-                               }
-
-                               if (!@rename($directory . $file, $directory . $name)) 
-                               {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE13 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_RENAME_FILE14 . "</p>";
-                                       _skinfiles_renfile($name);
-                                       return;
-                               }
-       
-                               echo "<p class='message'>" . _SKINFILES_ERR_RENAME_FILE15 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_RENAME_FILE16;
-                               echo _SKINFILES_ERR_RENAME_FILE17 . "&laquo;" . htmlspecialchars($name) . "&raquo;" . _SKINFILES_ERR_RENAME_FILE18 . "</p>";
-                               sfShowDirectory($directory);
-                       }               
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_RENAME_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_RENAME_FILE2;
-                               echo _SKINFILES_ERR_RENAME_FILE3 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory);
-               }
-       }
-
-
-
-
-       /* Create file *******************************************************************************************************************/
-
-       function _skinfiles_createfile() {
-       
-               $directory = trim(requestVar('dir'));
-               $directory = sfExpandDirectory($directory);
-
-               if (sfValidPath($directory) && is_dir($directory) && is_writable($directory)) 
-               {
-                       $name = requestVar('name');
-                       
-                       if ($name == '') {
-                               echo "<p class='error'>" . _SKINFILES_ERR_CREATE_FILE1 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       if (sfIllegalFilename($name)) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_CREATE_FILE2 . "&laquo;" . htmlspecialchars($name) . "&raquo; ";
-                               echo _SKINFILES_ERR_CREATE_FILE3 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       } 
-                       
-                       if (file_exists($directory . $name)) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_CREATE_FILE4 . "&laquo;" . htmlspecialchars($name) . "&raquo; ";
-                               echo _SKINFILES_ERR_CREATE_FILE5;
-                               echo _SKINFILES_ERR_CREATE_FILE6 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       if (!@touch($directory . $name)) 
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_CREATE_FILE7 . "&laquo;" . htmlspecialchars($name) . "&raquo; " . _SKINFILES_ERR_CREATE_FILE8 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-
-                       $mask = @umask(0000);
-                       @chmod($directory . $name, 0755);
-                       @umask($mask);
-                       
-                       echo "<p class='message'>" . _SKINFILES_ERR_CREATE_FILE9 . "&laquo;" . htmlspecialchars($name) . "&raquo; " . _SKINFILES_ERR_CREATE_FILE10 . "</p>";
-                       sfShowDirectory($directory);
-               }               
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_CREATE_FILE11 . "&laquo;" . htmlspecialchars(basename($directory)) . "&raquo; " . _SKINFILES_ERR_CREATE_FILE12;
-                       echo _SKINFILES_ERR_CREATE_FILE13 . "</p>";
-               }
-       }
-
-
-
-
-       /* Delete file *******************************************************************************************************************/
-
-       function _skinfiles_delfile() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (sfValidPath($directory) && file_exists($directory . $file) && 
-                       is_file($directory . $file) && is_writable($directory . $file)) 
-               {
-                       $relative = sfRelativePath ($directory);
-                       $delUrl  = $manager->addTicketToUrl($pluginUrl . '?action=delfile&file=' . rawurlencode(sfRelativePath($directory . $file)));
-
-                       echo '<p class="location">' . _SKINFILES_CURRENT_LOCATION . sfDisplayPath($relative);
-                       echo '<a href="' . htmlspecialchars($delUrl) . '" title="' . _SKINFILES_DELETE . ' &laquo;' . $file . '&raquo;">';
-                       echo '<img src="' . htmlspecialchars(sfIcon($file)) . '" alt="" /> ' . $file . '</a></p>';
-
-                       echo '<div class="dialogbox">';
-                       echo '<form method="post" action="' . htmlspecialchars($pluginUrl) . '">';
-                       $manager->addTicketHidden();
-                       echo '<input type="hidden" name="action" value="delfile_process" />';
-                       echo '<input type="hidden" name="file" value="' . htmlspecialchars(sfRelativePath($directory . $file)) . '" />';
-
-                       echo '<h4>' . _SKINFILES_DELETE_FILE . ' &laquo;' . htmlspecialchars($file) . '&raquo; ' . _SKINFILES_DELETE_FILE2 . '</h4><div>';
-                       echo '<p class="buttons">';
-                       echo '<input type="hidden" name="sure" value="yes" />';
-                       echo '<input type="submit" value="' . _SKINFILES_DELETE . '" />';
-                       echo '<input type="button" name="sure" value="' . _SKINFILES_CANCEL . '" onclick="history.back();" />';
-                       echo '</p>';
-                       echo '</div></form></div>';
-               }
-               else
-               {
-                       echo "<p class='error'>"  . _SKINFILES_ERR_DELETE_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_FILE2;
-                       echo _SKINFILES_ERR_DELETE_FILE3 . "</p>";
-               }
-       }
-
-       function _skinfiles_delfile_process() {
-
-               global $pluginUrl, $manager;
-               
-               $file      = basename(trim(requestVar('file')));
-               $directory = dirname(trim(requestVar('file')));
-               $directory = sfExpandDirectory ($directory);
-               
-               if (requestVar('sure') == 'yes')
-               {
-                       if (sfValidPath($directory) && file_exists($directory . $file) && 
-                               is_file($directory . $file) && is_writable($directory . $file)) 
-                       {
-                               if (!@unlink($directory . $file)) 
-                               {
-                                       echo "<p class='error'>" . _SKINFILES_ERR_DELETE_FILE4 . "&laquo;" . htmlspecialchars($file) . "&raquo;</p>";
-                                       sfShowDirectory($directory);
-                                       return;
-                               }
-       
-                               echo "<p class='message'>" . _SKINFILES_ERR_DELETE_FILE5 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_FILE6 . "</p>";
-                               sfShowDirectory($directory);
-                       }               
-                       else
-                       {
-                               echo "<p class='error'>" . _SKINFILES_ERR_DELETE_FILE1 . "&laquo;" . htmlspecialchars($file) . "&raquo; " . _SKINFILES_ERR_DELETE_FILE2;
-                               echo _SKINFILES_ERR_DELETE_FILE3 . "</p>";
-                       }
-               }
-               else
-               {
-                       // User cancelled
-                       sfShowDirectory($directory);
-               }
-       }
-
-
-
-       /* Upload file *******************************************************************************************************************/
-
-       function _skinfiles_uploadfile() {
-
-               global $pluginUrl, $manager, $CONF;
-               
-               $directory = trim(requestVar('dir'));
-               $directory = sfExpandDirectory($directory);
-
-               if (sfValidPath($directory) && is_dir($directory) && is_writable($directory)) 
-               {
-                       $file = postFileInfo('name');
-
-                       if ($file['size'] > $CONF['MaxUploadSize']) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE1 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE2 . _ERROR_FILE_TOO_BIG . "<br />";
-                               echo _SKINFILES_ERR_UPLOAD_FILE3 . $CONF['MaxUploadSize'] . " / ";
-                               echo $file['size'] . " bytes</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-
-                       if (!is_uploaded_file($file['tmp_name'])) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE1 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE2 . _ERROR_BADREQUEST .  _SKINFILES_ERR_UPLOAD_FILE4 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       if (sfIllegalFilename($file['name'])) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE5 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; ";
-                               echo _SKINFILES_ERR_UPLOAD_FILE6 . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-                       
-                       if (file_exists($directory . $file['name'])) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE1 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE2 . _ERROR_UPLOADDUPLICATE . "</p>";
-                               sfShowDirectory($directory);
-                               return;
-                       }
-
-                       if (!@move_uploaded_file($file['tmp_name'], $directory . $file['name'])) {
-                               echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE1 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE2 . _ERROR_UPLOADMOVEP . _SKINFILES_ERR_UPLOAD_FILE4 . "</p>";
-                               sfShowDirectory($directory);
-                       }
-
-                       $mask = @umask(0000);
-                       @chmod($directory . $file['name'], 0755);
-                       @umask($mask);
-
-                       echo "<p class='message'>" . _SKINFILES_ERR_UPLOAD_FILE7 . "&laquo;" . htmlspecialchars($file['name']) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE8 . "</p>";
-                       sfShowDirectory($directory);
-               }
-               else
-               {
-                       echo "<p class='error'>" . _SKINFILES_ERR_UPLOAD_FILE9 . "&laquo;" . htmlspecialchars(basename($directory)) . "&raquo; " . _SKINFILES_ERR_UPLOAD_FILE10;
-                       echo _SKINFILES_ERR_UPLOAD_FILE11 . "</p>";
-               }       
-       }
-
-
-
-
-       
-?>
diff --git a/euc/nucleus/plugins/skinfiles/japanese-euc.php b/euc/nucleus/plugins/skinfiles/japanese-euc.php
deleted file mode 100644 (file)
index 8ee279c..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-
-   /*
-       * @version $Id: japanese-euc.php,v 1.2 2007-03-22 09:16:11 kimitake Exp $
-       * @version $NucleusJP: japanese-euc.php,v 1.3 2007/02/04 06:28:46 kimitake Exp $
-       */
-
-define('_SKINFILES_TITLE',                             '¥¹¥­¥ó¥Õ¥¡¥¤¥ë');
-define('_SKINFILES_TOOLTIP',                   '¥¹¥­¥ó¥Õ¥¡¥¤¥ë¤Î´ÉÍý');
-
-define('_SKINFILES_MANAGEMENT',                        '¥¹¥­¥ó¥Õ¥¡¥¤¥ë´ÉÍý');
-define('_SKINFILES_CURRENT_LOCATION',  '¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê: ');
-define('_SKINFILES_NAME',                              '̾Á°');
-define('_SKINFILES_SIZE',                              '¥µ¥¤¥º');
-define('_SKINFILES_LAST_MODIFIED',             'ºÇ½ª¹¹¿·Æü');
-define('_SKINFILES_ACTIONS',                   '¥¢¥¯¥·¥ç¥ó');
-
-define('_SKINFILES_RENAME',                            '̾Á°Êѹ¹');
-define('_SKINFILES_RENAME_DIR_MSG',            '¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê̾');
-define('_SKINFILES_RENAME_DIR_MSG2',   '¤ò²¼µ­¤Î̾Á°¤ËÊѹ¹');
-define('_SKINFILES_EDIT_FILE_MSG',             '¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸');
-define('_SKINFILES_RENAME_FILE_MSG',   '¥Õ¥¡¥¤¥ë');
-define('_SKINFILES_RENAME_FILE_MSG2',  '¤Î̾Á°¤ò²¼µ­¤ËÊѹ¹:');
-define('_SKINFILES_DELETE',                            'ºï½ü');
-define('_SKINFILES_EDIT',                              'ÊÔ½¸');
-define('_SKINFILES_CANCEL',                            '¥­¥ã¥ó¥»¥ë');
-define('_SKINFILES_DOWNLOAD',                  '¥À¥¦¥ó¥í¡¼¥É');
-define('_SKINFILES_SAVE_CHANGES',              'Êݸ');
-
-define('_SKINFILES_DATE_FORMAT',               'Y/m/d H:i');
-
-define('_SKINFILES_CREATE_NEW_FILE',   '¿·µ¬¥Õ¥¡¥¤¥ë¤ÎºîÀ®');
-define('_SKINFILES_CREATE_NEW_DIR',            '¿·µ¬¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®');
-define('_SKINFILES_CREATE_FILE',               '¥Õ¥¡¥¤¥ëºîÀ®');
-define('_SKINFILES_CREATE',                            'ºîÀ®');
-define('_SKINFILES_UPLOAD',                            '¥¢¥Ã¥×¥í¡¼¥É');
-define('_SKINFILES_DELETE_FILE',               '¥Õ¥¡¥¤¥ë');
-define('_SKINFILES_DELETE_FILE2',              ' ¤òºï½ü¤·¤Þ¤¹¤«¡©');
-define('_SKINFILES_DELETE_DIR',                        '¥Ç¥£¥ì¥¯¥È¥ê');
-define('_SKINFILES_DELETE_DIR2',               ' ¤òºï½ü¤·¤Þ¤¹¤«¡©');
-define('_SKINFILES_DELETE_ALL',                        'Á´ºï½ü');
-define('_SKINFILES_DELETE_FILE_MSG',   '¥Ç¥£¥ì¥¯¥È¥ê');
-define('_SKINFILES_DELETE_FILE_MSG2',  ' ¤«¤é²¼µ­¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¤«¡©');
-define('_SKINFILES_UPLOAD_NEW_FILE',   '¿·µ¬¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É');
-define('_SKINFILES_DEL_ALL_FILES',             '¸½¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁ´¥Õ¥¡¥¤¥ëºï½ü');
-define('_SKINFILES_DEL_ALL_FILES_MSG', 'Á´¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¤«¡© ¡ÊºÇ½ª³Îǧ¤¢¤ê¡Ë');
-
-define('_SKINFILES_VIEW_FILE',                         '¥Õ¥¡¥¤¥ëɽ¼¨ ');
-define('_SKINFILES_VIEW_FILE_IMG_INFO',                '¥¤¥á¡¼¥¸¾ðÊó');
-define('_SKINFILES_VIEW_FILE_TYPE',                    '¼ïÊÌ');
-define('_SKINFILES_VIEW_FILE_WIDTH',           '²£¥µ¥¤¥º');
-define('_SKINFILES_VIEW_FILE_HEIGHT',          '½Ä¥µ¥¤¥º');
-define('_SKINFILES_VIEW_FILE_PX',                      ' ¥Ô¥¯¥»¥ë');
-define('_SKINFILES_VIEW_FILE_CHANNELS',                '¥Á¥ã¥ó¥Í¥ë¿ô');
-define('_SKINFILES_VIEW_FILE_COLOR_DEPTH',     '¿§¿¼ÅÙ');
-define('_SKINFILES_VIEW_FILE_BITS',                    ' ¥Ó¥Ã¥È');
-define('_SKINFILES_VIEW_FILE_COLORS',          '¿§¿ô');
-define('_SKINFILES_VIEW_FILE_COLORS2',         ' ¿§');
-
-
-define('_SKINFILES_ERR_DIR_DOES_NOT_CONTAIN',  '¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Þ¤»¤ó¡£');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST1',   '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST2',   '¤Ï¸ºß¤·¤Ê¤¤¤«¡¢');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST3',   '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤òÊѹ¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR1', '¥¨¥é¡¼: ¿·¤·¤¤Ì¾Á°¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR2', '¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR3', '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ë£±¤Ä°Ê¾å¤Î̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR4', '¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR5', '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï¸µ¤Î̾Á°¤ÈƱ¤¸¤Ç¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR6', '¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR7', 'Ê̤Î̾Á°¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR8', '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï´û¤Ë¾¤Î¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR9', '¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR10',        'Ê̤Î̾Á°¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤º´û¸¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ²¼¤µ¤¤¡£');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR11',        '¥¨¥é¡¼: ¼¡¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ');
-
-define('_SKINFILES_RENAMED_DIR1',                              '¥á¥Ã¥»¡¼¥¸: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_RENAMED_DIR2',                              '¤Î̾Á°¤ò ');
-define('_SKINFILES_RENAMED_DIR3',                              '');
-define('_SKINFILES_RENAMED_DIR4',                              ' ¤ËÊѹ¹¤·¤Þ¤·¤¿¡£');
-
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR1', '¥¨¥é¡¼: Ì¾Á°¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢¿·µ¬¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR2', '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ë£±¤Ä°Ê¾å¤Î̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR3', '¿·µ¬¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR4', '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï´û¤Ë¾¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR5', ' ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¿·µ¬¤ÇºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR6', 'Ê̤Î̾Á°¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤º´û¸¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ²¼¤µ¤¤¡£');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR7', '¥á¥Ã¥»¡¼¥¸: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR8', '¤òºîÀ®¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR9', '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR10',        '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR11',        '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_DELETE_DIR1',                   '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_DELETE_DIR2',                   '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_DELETE_DIR3',                   '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-define('_SKINFILES_ERR_DELETE_DIR4',                   '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_DELETE_DIR5',                   '¥á¥Ã¥»¡¼¥¸: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_DELETE_DIR6',                   '¤òºï½ü¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_DELETE_DIR7',                   '¸½ºß¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ïºï½ü¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_EMPTY_DIR1',                            '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_EMPTY_DIR2',                            '¤òºï½ü¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_EMPTY_DIR3',                            '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_EMPTY_DIR4',                            '¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_EMPTY_DIR5',                            '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_EMPTY_DIR6',                            '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_EMPTY_DIR7',                            '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_DOWNLOAD_FILE1',                        '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_DOWNLOAD_FILE2',                        '¥¨¥é¡¼: ¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-
-define('_SKINFILES_ERR_VIEW_FILE1',                            '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_VIEW_FILE2',                            '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_VIEW_FILE3',                            '¤½¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_EDIT_FILE1',                            '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_EDIT_FILE2',                            '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_EDIT_FILE3',                            '¤½¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-define('_SKINFILES_ERR_EDIT_FILE4',                            '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_EDIT_FILE5',                            '¤òÊݸ¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_EDIT_FILE6',                            '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_EDIT_FILE7',                            '¤ÏÊݸ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-
-define('_SKINFILES_ERR_RENAME_FILE1',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_RENAME_FILE2',                  '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_RENAME_FILE3',                  '¤½¤Î¥Õ¥¡¥¤¥ë̾¤òÊѹ¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-define('_SKINFILES_ERR_RENAME_FILE4',                  '¥¨¥é¡¼: ¿·¤·¤¤Ì¾Á°¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢');
-define('_SKINFILES_ERR_RENAME_FILE5',                  '¤Î̾Á°¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ');
-define('_SKINFILES_ERR_RENAME_FILE6',                  '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ë£±¤Ä°Ê¾å¤Î̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_RENAME_FILE7',                  '¤Î̾Á°¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ');
-define('_SKINFILES_ERR_RENAME_FILE8',                  '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï¸µ¤Î̾Á°¤ÈƱ¤¸¤Ç¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_RENAME_FILE9',                  '¤Î̾Á°¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£Ê̤Î̾Á°¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤¡£ ');
-define('_SKINFILES_ERR_RENAME_FILE10',                 '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï´û¤Ë¾¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç ');
-define('_SKINFILES_ERR_RENAME_FILE11',                 '¤Î̾Á°¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_RENAME_FILE12',                 'Ê̤Î̾Á°¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤º´û¸¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ²¼¤µ¤¤¡£');
-define('_SKINFILES_ERR_RENAME_FILE13',                 '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_RENAME_FILE14',                 '¤Î̾Á°¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_RENAME_FILE15',                 '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_RENAME_FILE16',                 '¤ò ');
-define('_SKINFILES_ERR_RENAME_FILE17',                 ' ');
-define('_SKINFILES_ERR_RENAME_FILE18',                 ' ¤Ø̾Á°¤òÊѹ¹¤·¤Þ¤·¤¿¡£');
-
-define('_SKINFILES_ERR_CREATE_FILE1',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë̾¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_CREATE_FILE2',                  '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ë£±¤Ä°Ê¾å¤Î̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç¡¢');
-define('_SKINFILES_ERR_CREATE_FILE3',                  '¤Ï¿·µ¬¤ËºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_CREATE_FILE4',                  '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ï¤¹¤Ç¤Ë¾¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç¡¢');
-define('_SKINFILES_ERR_CREATE_FILE5',                  '¤Ï¿·µ¬¤ËºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_CREATE_FILE6',                  'Ê̤Î̾Á°¤ò»ÈÍѤ¹¤ë¤«¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò¤Þ¤ººï½ü¤·¤Æ²¼¤µ¤¤¡£');
-define('_SKINFILES_ERR_CREATE_FILE7',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_CREATE_FILE8',                  '¤Ï¿·µ¬¤ËºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_CREATE_FILE9',                  '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_CREATE_FILE10',                 ' ¤ò¿·µ¬¤ËºîÀ®¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_CREATE_FILE11',                 '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_CREATE_FILE12',                 ' ¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_CREATE_FILE13',                 '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-define('_SKINFILES_ERR_DELETE_FILE1',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_DELETE_FILE2',                  '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_DELETE_FILE3',                  '¤½¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-define('_SKINFILES_ERR_DELETE_FILE4',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ');
-define('_SKINFILES_ERR_DELETE_FILE5',                  '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_DELETE_FILE6',                  '¤òºï½ü¤·¤Þ¤·¤¿¡£');
-
-define('_SKINFILES_ERR_UPLOAD_FILE1',                  '¥¨¥é¡¼: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_UPLOAD_FILE2',                  '¤Î¥¢¥Ã¥×¥í¡¼¥É¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_UPLOAD_FILE3',                  'ºÇÂç / ¸½ºß¤Î¥µ¥¤¥º: ');
-define('_SKINFILES_ERR_UPLOAD_FILE4',                  '¡£');
-define('_SKINFILES_ERR_UPLOAD_FILE5',                  '¥¨¥é¡¼: ÀßÄꤷ¤¿Ì¾Á°¤Ë£±¤Ä°Ê¾å¤Î̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_UPLOAD_FILE6',                  '¤Î¥¢¥Ã¥×¥í¡¼¥É¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£');
-define('_SKINFILES_ERR_UPLOAD_FILE7',                  '¥á¥Ã¥»¡¼¥¸: ¥Õ¥¡¥¤¥ë ');
-define('_SKINFILES_ERR_UPLOAD_FILE8',                  '¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤Þ¤·¤¿¡£');
-define('_SKINFILES_ERR_UPLOAD_FILE9',                  '¥¨¥é¡¼: ¥Ç¥£¥ì¥¯¥È¥ê ');
-define('_SKINFILES_ERR_UPLOAD_FILE10',                 '¤Ï¸ºß¤·¤Ê¤¤¤«');
-define('_SKINFILES_ERR_UPLOAD_FILE11',                 '¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£');
-
-?>
diff --git a/euc/nucleus/plugins/skinfiles/japanese-utf8.php b/euc/nucleus/plugins/skinfiles/japanese-utf8.php
deleted file mode 100644 (file)
index 866f1ac..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-
-   /*
-       * @version $Id: japanese-utf8.php,v 1.2 2007-03-22 09:16:11 kimitake Exp $
-       * @version $NucleusJP: japanese-utf8.php,v 1.3 2007/02/04 06:28:46 kimitake Exp $
-       */
-
-define('_SKINFILES_TITLE',                             'スキンファイル');
-define('_SKINFILES_TOOLTIP',                   'スキンファイルの管理');
-
-define('_SKINFILES_MANAGEMENT',                        'スキンファイル管理');
-define('_SKINFILES_CURRENT_LOCATION',  '現在のディレクトリ: ');
-define('_SKINFILES_NAME',                              '名前');
-define('_SKINFILES_SIZE',                              'サイズ');
-define('_SKINFILES_LAST_MODIFIED',             '最終更新日');
-define('_SKINFILES_ACTIONS',                   'アクション');
-
-define('_SKINFILES_RENAME',                            '名前変更');
-define('_SKINFILES_RENAME_DIR_MSG',            'このディレクトリ名');
-define('_SKINFILES_RENAME_DIR_MSG2',   'を下記の名前に変更');
-define('_SKINFILES_EDIT_FILE_MSG',             'ファイルの編集');
-define('_SKINFILES_RENAME_FILE_MSG',   'ファイル');
-define('_SKINFILES_RENAME_FILE_MSG2',  'の名前を下記に変更:');
-define('_SKINFILES_DELETE',                            '削除');
-define('_SKINFILES_EDIT',                              '編集');
-define('_SKINFILES_CANCEL',                            'キャンセル');
-define('_SKINFILES_DOWNLOAD',                  'ダウンロード');
-define('_SKINFILES_SAVE_CHANGES',              '保存');
-
-define('_SKINFILES_DATE_FORMAT',               'Y/m/d H:i');
-
-define('_SKINFILES_CREATE_NEW_FILE',   '新規ファイルの作成');
-define('_SKINFILES_CREATE_NEW_DIR',            '新規ディレクトリの作成');
-define('_SKINFILES_CREATE_FILE',               'ファイル作成');
-define('_SKINFILES_CREATE',                            '作成');
-define('_SKINFILES_UPLOAD',                            'アップロード');
-define('_SKINFILES_DELETE_FILE',               'ファイル');
-define('_SKINFILES_DELETE_FILE2',              ' を削除しますか?');
-define('_SKINFILES_DELETE_DIR',                        'ディレクトリ');
-define('_SKINFILES_DELETE_DIR2',               ' を削除しますか?');
-define('_SKINFILES_DELETE_ALL',                        '全削除');
-define('_SKINFILES_DELETE_FILE_MSG',   'ディレクトリ');
-define('_SKINFILES_DELETE_FILE_MSG2',  ' から下記のファイルを削除しますか?');
-define('_SKINFILES_UPLOAD_NEW_FILE',   '新規ファイルのアップロード');
-define('_SKINFILES_DEL_ALL_FILES',             '現ディレクトリの全ファイル削除');
-define('_SKINFILES_DEL_ALL_FILES_MSG', '全ファイルを削除しますか? (最終確認あり)');
-
-define('_SKINFILES_VIEW_FILE',                         'ファイル表示 ');
-define('_SKINFILES_VIEW_FILE_IMG_INFO',                'イメージ情報');
-define('_SKINFILES_VIEW_FILE_TYPE',                    '種別');
-define('_SKINFILES_VIEW_FILE_WIDTH',           '横サイズ');
-define('_SKINFILES_VIEW_FILE_HEIGHT',          '縦サイズ');
-define('_SKINFILES_VIEW_FILE_PX',                      ' ピクセル');
-define('_SKINFILES_VIEW_FILE_CHANNELS',                'チャンネル数');
-define('_SKINFILES_VIEW_FILE_COLOR_DEPTH',     '色深度');
-define('_SKINFILES_VIEW_FILE_BITS',                    ' ビット');
-define('_SKINFILES_VIEW_FILE_COLORS',          '色数');
-define('_SKINFILES_VIEW_FILE_COLORS2',         ' 色');
-
-
-define('_SKINFILES_ERR_DIR_DOES_NOT_CONTAIN',  'このディレクトリにはファイル・ディレクトリが存在しません。');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST1',   'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST2',   'は存在しないか、');
-define('_SKINFILES_ERR_DIR_DOES_NOT_EXIST3',   'そのディレクトリ名を変更する権限がありません。');
-
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR1', 'エラー: 新しい名前が設定されませんでしたので ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR2', 'は変更できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR3', 'エラー: 設定した名前に1つ以上の無効な文字が含まれていましたので ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR4', 'は変更できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR5', 'エラー: 設定した名前は元の名前と同じでしたので ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR6', 'は変更できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR7', '別の名前を設定して下さい。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR8', 'エラー: 設定した名前は既に他のファイルやディレクトリに使用されていましたので ');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR9', 'は変更できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR10',        '別の名前を使用するか、まず既存のファイルまたはディレクトリを削除して下さい。');
-define('_SKINFILES_ERR_COULD_NOT_RENAME_DIR11',        'エラー: 次のディレクトリ名を変更できませんでした。 ');
-
-define('_SKINFILES_RENAMED_DIR1',                              'メッセージ: ディレクトリ ');
-define('_SKINFILES_RENAMED_DIR2',                              'の名前を ');
-define('_SKINFILES_RENAMED_DIR3',                              '');
-define('_SKINFILES_RENAMED_DIR4',                              ' に変更しました。');
-
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR1', 'エラー: 名前が設定されませんでしたので、新規にディレクトリを作成できませんでした。 ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR2', 'エラー: 設定した名前に1つ以上の無効な文字が含まれていましたので ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR3', '新規にディレクトリを作成できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR4', 'エラー: 設定した名前は既に他のファイルまたはディレクトリに使用されていましたので ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR5', ' のディレクトリを新規で作成できませんでした。');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR6', '別の名前を使用するか、まず既存のファイルまたはディレクトリを削除して下さい。');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR7', 'メッセージ: ディレクトリ ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR8', 'を作成しました。');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR9', 'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR10',        'は存在しないか');
-define('_SKINFILES_ERR_COULD_NOT_CREATE_DIR11',        'そのディレクトリにアクセスする権限がありません。');
-
-define('_SKINFILES_ERR_DELETE_DIR1',                   'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_DELETE_DIR2',                   'は存在しないか');
-define('_SKINFILES_ERR_DELETE_DIR3',                   'そのディレクトリを削除する権限がありません。');
-define('_SKINFILES_ERR_DELETE_DIR4',                   'エラー: ディレクトリを削除できませんでした。');
-define('_SKINFILES_ERR_DELETE_DIR5',                   'メッセージ: ディレクトリ ');
-define('_SKINFILES_ERR_DELETE_DIR6',                   'を削除しました。');
-define('_SKINFILES_ERR_DELETE_DIR7',                   '現在このディレクトリには削除できるファイルはありません。');
-
-define('_SKINFILES_ERR_EMPTY_DIR1',                            'メッセージ: ファイル ');
-define('_SKINFILES_ERR_EMPTY_DIR2',                            'を削除しました。');
-define('_SKINFILES_ERR_EMPTY_DIR3',                            'エラー: ファイル ');
-define('_SKINFILES_ERR_EMPTY_DIR4',                            'は削除できませんでした。');
-define('_SKINFILES_ERR_EMPTY_DIR5',                            'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_EMPTY_DIR6',                            'は存在しないか');
-define('_SKINFILES_ERR_EMPTY_DIR7',                            'そのディレクトリにアクセスする権限がありません。');
-
-define('_SKINFILES_ERR_DOWNLOAD_FILE1',                        'エラー: ファイルにアクセスできませんでした。');
-define('_SKINFILES_ERR_DOWNLOAD_FILE2',                        'エラー: そのファイルにアクセスする権限がありませんでした。');
-
-define('_SKINFILES_ERR_VIEW_FILE1',                            'エラー: ファイル ');
-define('_SKINFILES_ERR_VIEW_FILE2',                            'は存在しないか');
-define('_SKINFILES_ERR_VIEW_FILE3',                            'そのファイルを参照する権限がありません。');
-
-define('_SKINFILES_ERR_EDIT_FILE1',                            'エラー: ファイル ');
-define('_SKINFILES_ERR_EDIT_FILE2',                            'は存在しないか');
-define('_SKINFILES_ERR_EDIT_FILE3',                            'そのファイルを編集する権限がありません。');
-define('_SKINFILES_ERR_EDIT_FILE4',                            'メッセージ: ファイル ');
-define('_SKINFILES_ERR_EDIT_FILE5',                            'を保存しました。');
-define('_SKINFILES_ERR_EDIT_FILE6',                            'エラー: ファイル ');
-define('_SKINFILES_ERR_EDIT_FILE7',                            'は保存できませんでした。');
-
-define('_SKINFILES_ERR_RENAME_FILE1',                  'エラー: ファイル ');
-define('_SKINFILES_ERR_RENAME_FILE2',                  'は存在しないか');
-define('_SKINFILES_ERR_RENAME_FILE3',                  'そのファイル名を変更する権限がありません。');
-define('_SKINFILES_ERR_RENAME_FILE4',                  'エラー: 新しい名前が設定されませんでしたので、');
-define('_SKINFILES_ERR_RENAME_FILE5',                  'の名前は変更できませんでした。 ');
-define('_SKINFILES_ERR_RENAME_FILE6',                  'エラー: 設定した名前に1つ以上の無効な文字が含まれていましたので ');
-define('_SKINFILES_ERR_RENAME_FILE7',                  'の名前は変更できませんでした。 ');
-define('_SKINFILES_ERR_RENAME_FILE8',                  'エラー: 設定した名前は元の名前と同じでしたので ');
-define('_SKINFILES_ERR_RENAME_FILE9',                  'の名前は変更できませんでした。別の名前を使用して下さい。 ');
-define('_SKINFILES_ERR_RENAME_FILE10',                 'エラー: 設定した名前は既に他のファイルまたはディレクトリに使用されていましたので ');
-define('_SKINFILES_ERR_RENAME_FILE11',                 'の名前は変更できませんでした。');
-define('_SKINFILES_ERR_RENAME_FILE12',                 '別の名前を使用するか、まず既存のファイルまたはディレクトリを削除して下さい。');
-define('_SKINFILES_ERR_RENAME_FILE13',                 'エラー: ファイル ');
-define('_SKINFILES_ERR_RENAME_FILE14',                 'の名前は変更できませんでした。');
-define('_SKINFILES_ERR_RENAME_FILE15',                 'メッセージ: ファイル ');
-define('_SKINFILES_ERR_RENAME_FILE16',                 'を ');
-define('_SKINFILES_ERR_RENAME_FILE17',                 ' ');
-define('_SKINFILES_ERR_RENAME_FILE18',                 ' へ名前を変更しました。');
-
-define('_SKINFILES_ERR_CREATE_FILE1',                  'エラー: ファイル名が設定されませんでしたので、新しいファイルが作成できませんでした。');
-define('_SKINFILES_ERR_CREATE_FILE2',                  'エラー: 設定した名前に1つ以上の無効な文字が含まれていましたので、');
-define('_SKINFILES_ERR_CREATE_FILE3',                  'は新規に作成できませんでした。');
-define('_SKINFILES_ERR_CREATE_FILE4',                  'エラー: 設定した名前はすでに他のファイルまたはディレクトリで使用されていましたので、');
-define('_SKINFILES_ERR_CREATE_FILE5',                  'は新規に作成できませんでした。');
-define('_SKINFILES_ERR_CREATE_FILE6',                  '別の名前を使用するか、既存のファイルまたはディレクトリをまず削除して下さい。');
-define('_SKINFILES_ERR_CREATE_FILE7',                  'エラー: ファイル ');
-define('_SKINFILES_ERR_CREATE_FILE8',                  'は新規に作成できませんでした。');
-define('_SKINFILES_ERR_CREATE_FILE9',                  'メッセージ: ファイル ');
-define('_SKINFILES_ERR_CREATE_FILE10',                 ' を新規に作成しました。');
-define('_SKINFILES_ERR_CREATE_FILE11',                 'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_CREATE_FILE12',                 ' は存在しないか');
-define('_SKINFILES_ERR_CREATE_FILE13',                 'そのディレクトリにアクセスする権限がありません。');
-
-define('_SKINFILES_ERR_DELETE_FILE1',                  'エラー: ファイル ');
-define('_SKINFILES_ERR_DELETE_FILE2',                  'は存在しないか');
-define('_SKINFILES_ERR_DELETE_FILE3',                  'そのファイルを削除する権限がありません。');
-define('_SKINFILES_ERR_DELETE_FILE4',                  'エラー: ファイルを削除できませんでした。 ');
-define('_SKINFILES_ERR_DELETE_FILE5',                  'メッセージ: ファイル ');
-define('_SKINFILES_ERR_DELETE_FILE6',                  'を削除しました。');
-
-define('_SKINFILES_ERR_UPLOAD_FILE1',                  'エラー: ファイル ');
-define('_SKINFILES_ERR_UPLOAD_FILE2',                  'のアップロードができませんでした。');
-define('_SKINFILES_ERR_UPLOAD_FILE3',                  '最大 / 現在のサイズ: ');
-define('_SKINFILES_ERR_UPLOAD_FILE4',                  '。');
-define('_SKINFILES_ERR_UPLOAD_FILE5',                  'エラー: 設定した名前に1つ以上の無効な文字が含まれていましたので、ファイル ');
-define('_SKINFILES_ERR_UPLOAD_FILE6',                  'のアップロードができませんでした。');
-define('_SKINFILES_ERR_UPLOAD_FILE7',                  'メッセージ: ファイル ');
-define('_SKINFILES_ERR_UPLOAD_FILE8',                  'をアップロードしました。');
-define('_SKINFILES_ERR_UPLOAD_FILE9',                  'エラー: ディレクトリ ');
-define('_SKINFILES_ERR_UPLOAD_FILE10',                 'は存在しないか');
-define('_SKINFILES_ERR_UPLOAD_FILE11',                 'そのディレクトリにアクセスする権限がありません。');
-
-?>
diff --git a/euc/nucleus/plugins/skinfiles/php.gif b/euc/nucleus/plugins/skinfiles/php.gif
deleted file mode 100644 (file)
index bfbacdf..0000000
Binary files a/euc/nucleus/plugins/skinfiles/php.gif and /dev/null differ
diff --git a/euc/nucleus/plugins/skinfiles/text.gif b/euc/nucleus/plugins/skinfiles/text.gif
deleted file mode 100644 (file)
index 102cedd..0000000
Binary files a/euc/nucleus/plugins/skinfiles/text.gif and /dev/null differ
diff --git a/euc/nucleus/styles/addedit.css b/euc/nucleus/styles/addedit.css
deleted file mode 100755 (executable)
index f8e85b2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-       This stylesheet serves to make item previews look nicer, and to markup the 
-       buttonbar
-       
-       $Id: addedit.css,v 1.4 2007-03-22 09:18:16 kimitake Exp $
-       $NucleusJP: addedit.css,v 1.6 2006/07/17 20:03:45 kimitake Exp $
-*/
-
-.leftbox, .rightbox {
-       margin: 3px;
-       padding: 3px;
-       font-size: larger;
-       width: 20%;
-}
-.leftbox {
-       float: left;
-       border-right: 2px solid #888;   
-}
-.rightbox {
-       float: right;
-       border-left: 2px solid #888;    
-}
-
-/* markup buttons */
-.jsbutton {
-       text-align: center; 
-
-       padding: 3px;
-       border: 1px solid #dddddd;
-}
-
-.jsbuttonspacer {
-       padding-right: 10px;
-}
-
-.jsbuttonbar {
-       padding: 3px;
-       cursor: default;
-}
-
diff --git a/euc/nucleus/styles/admin.css b/euc/nucleus/styles/admin.css
deleted file mode 100755 (executable)
index 57dc07c..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
-       admin area style
-       
-       $Id: admin.css,v 1.7 2007-03-22 09:18:16 kimitake Exp $
-       $NucleusJP: admin.css,v 1.7 2006/07/18 08:43:24 kimitake Exp $
-*/
-
-body {
-       background: #ffffff; 
-}
-body, td, th, a, li, ul, textarea {
-       color: #000;
-       font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
-}
-
-textarea {
-  font-size: small;
-  font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", sans-serif;
-}
-*>textarea {
-  width: 95%;
-}
-
-/* textareas for skin/template editing have monospace fonts */
-textarea.skinedit, textarea.templateedit
-{
-  font-family: "Hiragino Kaku Gothic Pro W3", "MS PGothic", "Osaka", monospace;
-/* except MacIE \*/
-       font-family: monospace;
-/* end */
-       font-size: medium;
-}
-
-img                    { border: none; }
-.skip          { display: none; }
-label          { cursor: pointer; }
-.error                 { color: red; font-size: 1.2em; }
-
-/* header */
-h1 {
-       text-align: right;
-       font-size: 30px;
-       font-weight: 900;
-       letter-spacing: 0.1em;
-       /*color: #0001AA;       */
-       color: #596d9d;
-       margin: 0 0 5px 135px;
-       height: 35px;
-       /*display: none;        hide the header if you don't want it*/
-
-}
-
-/* page content */
-#content {
-   margin-left:155px;
-       font-style: normal;
-       text-decoration: none;
-       color: black;
-       text-align: justify;
-       line-height: 13pt;
-
-       border-width: 1px;
-       border-style: solid;
-       border-color: black;
-       
-       /* rounded borders in gecko-based browsers? why not :) */
-       -moz-border-radius: 10px;       
-
-       padding: 10px 10px 0 10px;      
-       
-       background-color: white;
-       
-}
-
-/* quick menu on left */
-/* 
-       It's a real pain getting this absolute positioning to work correctly
-       in all browsers. IE in particular seems to have a lot of trouble, even
-       when a valid doctype is present. Because of the way it is solved currently,
-       the top of the quickmenu and the contents will not line up
-*/
-#quickmenu {
-       position: absolute;
-       overflow: hidden;
-       
-       top: 10px;
-       left: 10px;
-
-       width: 130px;
-       margin: 0px;
-       padding: 0px;
-       
-       font-size: 70%;
-       
-       border-width: 1px;
-       border-style: solid;
-       border-color: black;
-
-       background: #ffffff url(quickb.jpg) top left fixed repeat-y; 
-}
-
-#quickmenu ul {
-       list-style-type: none;
-       margin: 0;
-       padding: 0;
-}
-#quickmenu p {
-       padding: 5px;
-       margin: 0px;
-       text-align: justify;
-}
-#quickmenu li {
-       padding: 0;
-       margin: 0;
-       text-align: center;
-       border-bottom: 1px solid #ccc;
-}
-#quickmenu a {
-       display: block;
-       padding: 5px;
-       font-size: 1em;
-       line-height: 1.5em;
-       text-decoration: none;
-       font-family: verdana, lucida, arial, helvetica, sans-serif;
-}
-*>#quickmenu a {
-       font-family: "Trebuchet MS", "Bitstream Vera Sans", verdana, lucida, arial, helvetica, sans-serif;
-}
-#quickmenu a:hover {
-       background: #ffffff url(quickb-hover.jpg) top left fixed repeat-y; 
-       color: #000;
-       letter-spacing: 1px;
-}
-
-#quickmenu h2 {
-       font-size: small;
-       text-align: center;
-       padding: 1px 0px 1px 0px;
-       margin: 0px;
-       border-bottom: 1px solid #bbb;  
-       background-color: #ddd;
-       color: #000;
-}
-#quickmenu form {
-       margin: 0;
-       padding: 5px;
-       text-align: center;
-}
-#quickmenu option {
-       font-size: 0.9em;
-}
-
-.loginname {
-       float: right;
-       font-size: small;
-       text-align: right;
-       line-height: normal;
-       padding-left: 5px;
-       background-color: white;
-}
-
-#content h2 {
-       color: #596d9d; 
-
-       border-color: gray;
-       border-style: dashed;
-       border-width: 0px 0px 1px 0px;
-
-       font-size: large;
-       line-height: 120%;
-
-       text-decoration: none;
-       font-weight: bold; 
-
-}
-
-#content h3 {
-       border-color: gray;
-       border-style: dotted;
-       border-width: 0px 0px 1px 0px;
-       font-size: medium;
-       font-weight: normal;
-       line-height: 120%;
-
-       color: gray;
-       padding-left: 20px;
-       letter-spacing: 2;
-}
-
-#content .note, pre {
-       background-color: #ddd;
-       padding: 5px;
-}
-
-pre {
-       margin-left: 10px;
-}
-
-table {
-       border: none;
-       width: 100%;
-       border-collapse: collapse;
-       margin-bottom: 10px;
-       margin-top: 10px;       
-}
-
-.batchoperations {
-       background-color: #eef;
-       width: auto;
-       padding: 5px;
-       text-align: right;
-}
-
-th {
-       background-color: #bbc;
-       color: #000;
-       font-size: small;
-}
-
-th, td {
-       padding: 4px;
-       empty-cells: show;      
-}
-
-td {
-       background-color: #fff;
-       border: 1px solid #ddd;
-       font-size: small;
-       vertical-align: top;
-       text-align: left;
-}
-
-td a:link, td a:visited { 
-       text-decoration: underline;
-       color: black;
-       font-weight: normal;
-}
-td a:hover {
-       color: #1D3565;
-       text-decoration: underline;
-}
-
-td.draft, td.future {
-       background-color: #ffe;
-}
-
-tr.highlighted td {
-       background-color: green;
-}
-
-a:link, a:visited {
-       color: #1D3565;
-       font-weight: bold;
-       text-decoration: none;
-}
-a:hover {
-       text-decoration: underline;
-}
-
-table.navigation td, table.navigation th {
-       border: none;
-}
-
-/* footer */
-.foot {
-
- padding: 2px 0px 2px 10px;
- margin:10px -10px 0 -10px;
- text-align: center;
-}
-
-form {
-       margin-bottom: 0px;
-}
-
-input.transparent {
-       background-color: transparent;
-}
-
-/* a div that has an indent */
-div.indent {
-       margin-left: 40px;
-}
-
-/* 
-       font size tricks, to make it work in all browsers
-       
-       See: 
-       http://diveintoaccessibility.org/day_26_using_relative_font_sizes.html
-
-       (netscape 4 trick is left out, Nucleus doesn't work anyway in that browser)     
-       #content should be 'small' (in standard-compliant browsers)
-       
-*/
-
-#content {
-  font-size: small;
-  voice-family: "\"}\"";
-  voice-family: inherit;
-  font-size: small;
-}
-html>body #content { font-size: small; }
-
-
-img.skinpreview {
-       border: 1px solid #ccc;
-}
diff --git a/euc/nucleus/styles/bookmarklet.css b/euc/nucleus/styles/bookmarklet.css
deleted file mode 100755 (executable)
index ddf5366..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/* 
-       style definitions for the bookmarklet 
-       
-       $Id: bookmarklet.css,v 1.4 2007-03-22 09:18:16 kimitake Exp $
-       $NucleusJP: bookmarklet.css,v 1.6 2007/01/30 07:35:20 kimitake Exp $
-*/
-
-body {
-       font-size: small;
-       background: #fff;
-       color: #000;
-    font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif;
-}              
-
-textarea {
-       font-family: "Hiragino Kaku Gothic Pro W3", "MS P Gothic", "Osaka", sans-serif;
-}
-
-h1 {
-       border-bottom: 1px dotted gray;
-       font-size: medium;
-       color: #596d9d;
-}
-
-/* 
-       Hide switch buttons initially, we'll enable them again if we are sure
-       the browser supports DOM
-*/
-#switchbuttons {
-       display: none;
-}
-/*
-       Hide preview also when no DOM is supported
-*/
-#preview {
-       display: none;
-}
-
-.buttonbar {
-   margin-bottom: 5px;
-   background: rgb(187, 187, 204);
-   padding: 3px;
-}
-
-.buttonbar input {
-   background: #C5C5D3;
-    border: 1px solid #CACAD7;
-    border-right: 2px solid #8E8EAB;
-    border-bottom: 2px solid #8E8EAB;
-    color: #000000;
-    font-family: "Trebuchet MS",Trebuchet,"Bitstream Vera Sans",verdana,lucida,arial,helvetica,sans-serif;
-    font-weight: bold;   
-}
-
-.contentblock {
-       /*background: #ddd;*/
-       height: 400px;
-       overflow: auto; /* temporary removed, to make the select box work in Mozilla */
-       padding: 1px;
-    margin: 0px;
-       vertical-align: top;
-}
-
-.shortcuts {
-       float: right; 
-       text-align: right;
-       font-size: x-small;
-}
-
-#options {
-   margin-top:-15px;
-   }
-#options h2 {
-   margin:15px 0 0 0;
-}
-
-h2 {
-   font-size: 1.5em;
-   color: gray;
-    margin-top: 0px;
-    padding-top: 0px;
-    padding-bottom: 0px;
-    margin-top: 0px;
-}
-
-a:link, a:visited {
-       color: #1D3565; 
-       font-weight: bold;
-       text-decoration: none;
-}
-
-a:hover {
-       text-decoration: underline;
-}                      
-
-img { 
-       border: none;
-}
-
-.indent {
-       margin-left: 40px;
-}
-
-label          { cursor: pointer; }
-
-table {
-       border: none;
-       width: 95%;
-       border-collapse: collapse;
-       margin-bottom: 10px;
-       margin-top: 10px;       
-}
-
-th {
-       background: #bbc;
-       color: #000;
-       font-size: small;
-}
-
-th, td {
-       padding: 4px;
-       empty-cells: show;      
-}
-
-td {
-       background: #fff;
-       border: 1px solid #ddd;
-       font-size: small;
-       vertical-align: top;
-       text-align: left;
-}
-
-td a:link, td a:visited { 
-       text-decoration: underline;
-       color: black;
-       font-weight: normal;
-}
-td a:hover {
-       color: #1D3565;
-       text-decoration: underline;
-}
-
-td.draft, td.future {
-       background: #ffe;
-}
-
-tr.highlighted td {
-       background: green;
-}
-
-ul.nobullets {
-       list-style-type: none;
-       padding: 0;
-       margin: 0;
-}
\ No newline at end of file
diff --git a/euc/nucleus/styles/logo.gif b/euc/nucleus/styles/logo.gif
deleted file mode 100755 (executable)
index 1e1b1df..0000000
Binary files a/euc/nucleus/styles/logo.gif and /dev/null differ
diff --git a/euc/nucleus/styles/manual.css b/euc/nucleus/styles/manual.css
deleted file mode 100755 (executable)
index aa1e621..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-       documentation style
-       
-       $Id: manual.css,v 1.4 2007-03-22 09:18:16 kimitake Exp $
-       $NucleusJP: manual.css,v 1.5 2006/07/17 20:03:45 kimitake Exp $
-*/
-
-body {
-       background-color: #fff;
-       color: #000;
-       font-family: verdana, arial;
-       font-size: small;
-}
-
-@media screen {
-       body {
-               margin-left: 10%;
-               margin-right: 10%;
-       }
-}
-
-@media print {
-       pre, .note, td, th {
-               border: 1px dashed gray;
-       }
-}
-
-img {
-       border: none;
-}
-
-a:link, a:visited {
-       color: #1D3565; 
-       font-weight: bold;
-       text-decoration: none;
-}
-a: hover {
-       text-decoration: underline;
-}
-
-.heading {
-       text-align: center;
-       font-size: xx-large;
-       font-weight: bold;
-       color: gray;    
-}
-
-.heading i {
-       position: absolute;
-       top: 5px;
-       right: 5px;
-       font-size: small;
-       font-style: normal;
-       font-weight: normal;
-}
-
-p:first-letter {
-       font-size: large;
-}
-
-p {
-       text-indent: 20px;
-}
-
-h1 {
-       border-bottom: 1px dotted gray;
-       font-size: x-large;
-       color: #596d9d;
-}
-
-h2 {
-       color: gray;
-       font-size: large;
-       margin-left: 20px;
-       text-indent: 10px;
-       border-bottom: 1px solid #ddd;
-}
-
-pre, .note, .faq .answer {
-       background-color: #ddd;
-       padding: 10px;
-       font-size: small;
-}
-
-.screenshot {
-       text-align: center;
-       background-color: #ddd;
-       padding: 10px;
-}
-
-.faq .question {
-       font-weight: bold;
-       margin-bottom: 0px;
-}
-
-.faq .answer {
-
-}
-
-.faq {
-       margin-bottom: 20px;
-}
-
-table {
-       border: none;
-}
-
-th {
-       background-color: linen;
-       font-size: medium;
-}
-
-th, td {
-       padding: 5px;
-}
-
-td {
-       background-color: #dddddd;
-       font-size: small;
-       vertical-align: top;
-       text-align: left;
-}
-
-input, select, option, textarea {
-       background-color: transparent;
-}
-
-.deprecated {
-       border: 3px solid red;
-       padding: 5px;
-       font-size: medium;
-}
-
-tt, code, samp {
-       font-size: small;
-}
-
-.warning {
-       color: red;
-}
-.ok {
-       color: green;
-}
-
-acronym, abbr {
-       border-bottom: 1px dotted gray;
-       cursor: help;
-}
-
-label {
-       cursor: hand;
-}
diff --git a/euc/nucleus/styles/popups.css b/euc/nucleus/styles/popups.css
deleted file mode 100755 (executable)
index be61847..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-       media library popup
-       
-       $Id: popups.css,v 1.4 2007-03-22 09:18:16 kimitake Exp $
-       $NucleusJP: popups.css,v 1.5 2006/07/17 20:03:45 kimitake Exp $
-*/
-
-body {
-       font-family: verdana, arial;
-       font-size: small;
-       background-color: #fff;
-       color: #000;
-}
-
-img {
-       border: none;
-}
-
-a:link, a:visited {
-       color: #1D3565; 
-       font-weight: bold;
-       text-decoration: none;
-}
-a:hover {
-       text-decoration: underline;
-}
-
-.heading {
-       text-align: center;
-       font-size: xx-large;
-       font-weight: bold;
-       color: gray;    
-}
-
-.heading i {
-       position: absolute;
-       top: 5px;
-       right: 5px;
-       font-size: small;
-       font-style: normal;
-       font-weight: normal;
-}
-
-p {
-       text-indent: 20px;
-}
-
-h1 {
-       border-bottom: 1px dotted gray;
-       font-size: x-large;
-       color: #596d9d;
-}
-
-h2 {
-       color: gray;
-       font-size: large;
-       margin-left: 20px;
-       text-indent: 10px;
-       border-bottom: 1px solid #ddd;
-}
-
-pre, .note, .faq .answer {
-       background-color: #ddd;
-       padding: 10px;
-       font-size: small;
-}
-
-.faq .question {
-       font-weight: bold;
-       margin-bottom: 0px;
-}
-
-.faq .answer {
-
-}
-
-.faq {
-       margin-bottom: 20px;
-}
-
-table {
-       border: none;
-}
-
-th {
-       background-color: linen;
-       font-size: medium;
-}
-
-th, td {
-       padding: 5px;
-}
-
-td {
-       background-color: #dddddd;
-       font-size: small;
-       vertical-align: top;
-       text-align: left;
-}
-
-label {
-       cursor: pointer;
-}
\ No newline at end of file
diff --git a/euc/nucleus/styles/quickb-hover.jpg b/euc/nucleus/styles/quickb-hover.jpg
deleted file mode 100755 (executable)
index 87d7e5a..0000000
Binary files a/euc/nucleus/styles/quickb-hover.jpg and /dev/null differ
diff --git a/euc/nucleus/styles/quickb.jpg b/euc/nucleus/styles/quickb.jpg
deleted file mode 100755 (executable)
index b617305..0000000
Binary files a/euc/nucleus/styles/quickb.jpg and /dev/null differ
diff --git a/euc/nucleus/xmlrpc/api_blogger.inc.php b/euc/nucleus/xmlrpc/api_blogger.inc.php
deleted file mode 100755 (executable)
index d087a4e..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * This file contains definitions for the methods in the Blogger API
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: api_blogger.inc.php,v 1.4 2007-03-27 12:14:05 kimitake Exp $
- * $NucleusJP: api_blogger.inc.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-
-
-       // blogger.newPost
-       $f_blogger_newPost_sig = array(array(
-                       // return type
-                       $xmlrpcString,  // itemid of the new item
-
-                       // params:
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // content
-                       $xmlrpcBoolean, // publish boolean (set to false to create draft)
-
-               ));
-       $f_blogger_newPost_doc = "Adds a new item to the given blog. Adds it as a draft when publish is false";
-       function f_blogger_newPost($m) {
-               $blogid = _getScalar($m,1);
-               $username = _getScalar($m,2);
-               $password = _getScalar($m,3);
-               $content = _getScalar($m,4);
-               $publish = _getScalar($m,5);
-
-               $title = blogger_extractTitle($content);
-               $category = blogger_extractCategory($content);
-               $content = blogger_removeSpecialTags($content);
-
-               return _addItem($blogid, $username, $password, $title, $content, '', $publish, 0, $category);
-       }
-
-       // blogger.editPost
-       $f_blogger_editPost_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // true or false
-
-                       // params:
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // postid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // content
-                       $xmlrpcBoolean, // publish boolean (only considered when dealing with a draft)
-
-               ));
-       $f_blogger_editPost_doc = "Edits an item of a blog";
-       function f_blogger_editPost($m) {
-               global $manager;
-
-               $itemid = intval(_getScalar($m,1));
-               $username = _getScalar($m,2);
-               $password = _getScalar($m,3);
-               $content = _getScalar($m,4);
-               $publish = _getScalar($m,5);
-
-               $title = blogger_extractTitle($content);
-               $category = blogger_extractCategory($content);
-               $content = blogger_removeSpecialTags($content);
-
-               // get old title and extended part
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-               $old =& $manager->getItem($itemid,1,1);
-
-               $blogid = getBlogIDFromItemID($itemid);
-
-               $blog = new BLOG($blogid);
-               $catid = $blog->getCategoryIdFromName($category);
-
-               if ($old['draft'] && $publish) {
-                       $wasdraft = 1;
-                       $publish = 1;
-               } else {
-                       $wasdraft = 0;
-               }
-
-               return _edititem($itemid, $username, $password, $catid, $title, $content, $old['more'], $wasdraft, $publish, $old['closed']);
-       }
-
-
-       // blogger.getUsersBlogs
-       $f_blogger_getUsersBlogs_sig = array(array(
-                       // return type
-                       $xmlrpcArray,   // array containing structs containing blog info
-
-                       // params:
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-               ));
-       $f_blogger_getUsersBlogs_doc = "Returns a list of all the blogs where the given member is on the team";
-       function f_blogger_getUsersBlogs($m) {
-               $username = _getScalar($m,1);
-               $password = _getScalar($m,2);
-
-               return _getUsersBlogs($username, $password);
-       }
-
-       // blogger.getRecentPosts
-       $f_blogger_getRecentPosts_sig = array(array(
-                       // return type
-                       $xmlrpcArray,   // array of strucs (representing items)
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcInt,     // amount of items to return (max = 20)
-               ));
-       $f_blogger_getRecentPosts_doc = "Returns a maximum of 20 recent items";
-       function f_blogger_getRecentPosts($m) {
-               $blogid = _getScalar($m, 1);
-               $username = _getScalar($m, 2);
-               $password = _getScalar($m, 3);
-               $amount = _getScalar($m, 4);
-
-               return _getRecentItemsBlogger($blogid, $username, $password, $amount);
-       }
-
-
-       // blogger.getPost
-       $f_blogger_getPost_sig = array(array(
-                       // return type
-                       $xmlrpcStruct,  // A struct representing the item
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // postid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-               ));
-       $f_blogger_getPost_doc = "Returns an item (only the item body!)";
-       function f_blogger_getPost($m) {
-               $postid = _getScalar($m, 1);
-               $username = _getScalar($m, 2);
-               $password = _getScalar($m, 3);
-
-               return _getItemBlogger($postid, $username, $password);
-       }
-
-
-       // blogger.deletePost
-       $f_blogger_deletePost_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // boolean (ok or not ok)
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // postid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcBoolean, // publish (ignored)
-               ));
-       $f_blogger_deletePost_doc = "Deletes an item";
-       function f_blogger_deletePost($m) {
-               $postid = _getScalar($m,1);
-               $username = _getScalar($m, 2);
-               $password = _getScalar($m, 3);
-
-               return _deleteItem($postid, $username, $password);
-       }
-
-       // blogger.getTemplate
-       $f_blogger_getTemplate_sig = array(array(
-                       // return type
-                       $xmlrpcString,  // the template
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // type of template (main/archiveIndex)
-                               ));
-       $f_blogger_getTemplate_doc = "Returns the required part of the default skin for the given blog";
-       function f_blogger_getTemplate($m) {
-               $blogid = _getScalar($m,1);
-               $username = _getScalar($m,2);
-               $password = _getScalar($m,3);
-               $type = _getScalar($m,4);
-
-               switch($type) {
-                       case "main":
-                               $type = "index";
-                               break;
-                       case "archiveIndex":
-                               $type = "archivelist";
-                               break;
-               }
-
-               return _getSkinPart($blogid, $username, $password, $type);
-       }
-
-       // blogger.setTemplate
-       $f_blogger_setTemplate_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // OK or not OK
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // template contents
-                       $xmlrpcString,  // type of template (main/archiveIndex)
-                       ));
-       $f_blogger_setTemplate_doc = "Changes a part of the default skin for the selected blog";
-       function f_blogger_setTemplate($m) {
-               $blogid = _getScalar($m,1);
-               $username = _getScalar($m,2);
-               $password = _getScalar($m,3);
-               $content = _getScalar($m,4);
-               $type = _getScalar($m,5);
-
-               switch($type) {
-                       case "main":
-                               $type = "index";
-                               break;
-                       case "archiveIndex":
-                               $type = "archivelist";
-                               break;
-               }
-
-               return _setSkinPart($blogid, $username, $password, $content, $type);
-       }
-
-       // blogger.getUserInfo
-       $f_blogger_getUserInfo_sig = array(array(
-                       // return type
-                       $xmlrpcStruct,  // Struct
-
-                       // params
-                       $xmlrpcString,  // appkey (ignored)
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       ));
-       $f_blogger_getUserInfo_doc = "Returns info on the user";
-       function f_blogger_getUserInfo($m) {
-               $username = _getScalar($m,1);
-               $password = _getScalar($m,2);
-
-               return _getUserInfo($username, $password);
-       }
-
-
-       /**
-         * Returns a list of recent items
-         */
-       function _getRecentItemsBlogger($blogid, $username, $password, $amount) {
-
-               $blogid = intval($blogid);
-               $amount = intval($amount);
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-               $amount = intval($amount);
-               if (($amount < 1) or ($amount > 20))
-                       return _error(5,"Amount parameter must be in range 1..20");
-
-               // 3. create and return list of recent items
-               // Struct returned has dateCreated, userid, blogid and content
-
-               $blog = new BLOG($blogid);
-
-               $structarray = array();         // the array in which the structs will be stored
-
-               $query = "SELECT mname, ibody, iauthor, ibody, inumber, ititle as title, itime, cname as category"
-                          .' FROM '.sql_table('item').', '.sql_table('category').', '.sql_table('member')
-                          ." WHERE iblog=$blogid and icat=catid and iauthor=mnumber"
-                          ." ORDER BY itime DESC"
-                          ." LIMIT $amount";
-               $r = sql_query($query);
-
-               while ($row = mysql_fetch_assoc($r)) {
-
-                       // remove linebreaks if needed
-                       if ($blog->convertBreaks())
-                               $row['ibody'] = removeBreaks($row['ibody']);
-
-                       $content = blogger_specialTags($row) . $row['ibody'];
-
-                       $newstruct = new xmlrpcval(array(
-                               "userid" => new xmlrpcval($row['iauthor'],"string"),
-                               "dateCreated" => new xmlrpcval(iso8601_encode(strtotime($row['itime'])),"dateTime.iso8601"),
-                               "blogid" => new xmlrpcval($blogid,"string"),
-                               "content" => new xmlrpcval($content,"string"),
-                               "postid" => new xmlrpcval($row['inumber'],"string"),
-                               "authorName" => new xmlrpcval($row['mname'],'string'),
-                               "title" => new xmlrpcval($row['title'],'string'),
-                       ),'struct');
-                       array_push($structarray, $newstruct);
-               }
-
-               return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
-
-       }
-
-       /**
-         * Returns one item (Blogger version)
-         */
-       function _getItemBlogger($itemid, $username, $password) {
-               global $manager;
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-               $blogid = getBlogIDFromItemID($itemid);
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-
-               // 3. return the item
-               // Structure returned has dateCreated, userid, blogid and content
-
-               $item =& $manager->getItem($itemid,1,1); // (also allow drafts and future items)
-               $blog = new BLOG($blogid);
-
-               // get category
-               $item['category'] = $blog->getCategoryName($item['catid']);
-
-               // remove linebreaks if needed
-               if ($blog->convertBreaks())
-                       $item['body'] = removeBreaks($item['body']);
-
-               $content = blogger_specialTags($item) . $item['body'];
-
-               $newstruct = new xmlrpcval(array(
-                       "dateCreated" => new xmlrpcval(iso8601_encode($item['timestamp']),"dateTime.iso8601"),
-                       "userid" => new xmlrpcval($item['authorid'],"string"),
-                       "blogid" => new xmlrpcval($blogid,"string"),
-                       "content" => new xmlrpcval($content,"string")
-               ),'struct');
-
-               return new xmlrpcresp($newstruct);
-
-
-       }
-
-
-       function blogger_extractTitle($body) {
-               return blogger_matchTag('title',$body);
-       }
-
-       function blogger_extractCategory($body) {
-               return blogger_matchTag('category',$body);
-       }
-
-       function blogger_matchTag($tag, $body) {
-               if (preg_match("/<" . $tag .">(.+?)<\/".$tag.">/is",$body,$match))
-                       return $match[1];
-               else
-                       return "";
-       }
-
-       function blogger_removeSpecialTags($body) {
-               $body = preg_replace("/<title>(.+?)<\/title>/","",$body);
-               $body = preg_replace("/<category>(.+?)<\/category>/","",$body);
-               return trim($body);
-       }
-
-       function blogger_specialTags($item) {
-               $result = "<title>". $item['title']."</title>";
-               $result .= "<category>".$item['category']."</category>";
-               return $result;
-       }
-
-
-
-       $functionDefs = array_merge($functionDefs,
-               array(
-                        "blogger.getUsersBlogs" =>
-                        array( "function" => "f_blogger_getUsersBlogs",
-                               "signature" => $f_blogger_getUsersBlogs_sig,
-                               "docstring" => $f_blogger_getUsersBlogs_doc),
-
-                        "blogger.newPost" =>
-                        array( "function" => "f_blogger_newPost",
-                               "signature" => $f_blogger_newPost_sig,
-                               "docstring" => $f_blogger_newPost_doc),
-
-                        "blogger.editPost" =>
-                        array( "function" => "f_blogger_editPost",
-                               "signature" => $f_blogger_editPost_sig,
-                               "docstring" => $f_blogger_editPost_doc),
-
-                        "blogger.deletePost" =>
-                        array( "function" => "f_blogger_deletePost",
-                               "signature" => $f_blogger_deletePost_sig,
-                               "docstring" => $f_blogger_deletePost_doc),
-
-                        "blogger.getPost" =>
-                        array( "function" => "f_blogger_getPost",
-                               "signature" => $f_blogger_getPost_sig,
-                               "docstring" => $f_blogger_getPost_doc),
-
-                        "blogger.getRecentPosts" =>
-                        array( "function" => "f_blogger_getRecentPosts",
-                               "signature" => $f_blogger_getRecentPosts_sig,
-                               "docstring" => $f_blogger_getRecentPosts_doc),
-
-                        "blogger.getUserInfo" =>
-                        array( "function" => "f_blogger_getUserInfo",
-                               "signature" => $f_blogger_getUserInfo_sig,
-                               "docstring" => $f_blogger_getUserInfo_doc),
-
-                        "blogger.getTemplate" =>
-                        array( "function" => "f_blogger_getTemplate",
-                               "signature" => $f_blogger_getTemplate_sig,
-                               "docstring" => $f_blogger_getTemplate_doc),
-
-                        "blogger.setTemplate" =>
-                        array( "function" => "f_blogger_setTemplate",
-                               "signature" => $f_blogger_setTemplate_sig,
-                               "docstring" => $f_blogger_setTemplate_doc)
-
-               )
-       );
-
-
-?>
diff --git a/euc/nucleus/xmlrpc/api_metaweblog.inc.php b/euc/nucleus/xmlrpc/api_metaweblog.inc.php
deleted file mode 100755 (executable)
index df6accf..0000000
+++ /dev/null
@@ -1,520 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- *     This file contains definitions for the methods of the metaWeblog API
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: api_metaweblog.inc.php,v 1.4 2007-03-27 12:14:05 kimitake Exp $
- * $NucleusJP: api_metaweblog.inc.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-
-
-       // metaWeblog.newPost
-       $f_metaWeblog_newPost_sig = array(array(
-                       // return type
-                       $xmlrpcString,  // itemid of the new item
-
-                       // params:
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcStruct,  // content
-                       $xmlrpcBoolean, // publish boolean (set to false to create draft)
-
-               ));
-       $f_metaWeblog_newPost_doc = "Adds a new item to the given blog. Adds it as a draft when publish is false";
-       function f_metaWeblog_newPost($m) {
-               global $manager;
-               
-               $blogid =                       _getScalar($m,0);
-               $username =             _getScalar($m,1);
-               $password =             _getScalar($m,2);
-               $struct =                       $m->getParam(3);
-               
-               $content =              _getStructVal($struct, 'description');
-               $more =                 _getStructVal($struct, 'mt_text_more');
-               $title =                _getStructVal($struct, 'title');
-
-               // category is optional (thus: be careful)!
-               $catlist = $struct->structmem('categories');
-               if ($catlist && ($catlist->kindOf() == "array") && ($catlist->arraysize() > 0))
-                       $category = _getArrayVal($catlist, 0);
-               
-               
-               $comments = (int) _getStructVal($struct, 'mt_allow_comments') ? 0 : 1;
-               $publish = _getScalar($m,4);
-
-
-               // Add item
-               $res = _addItem($blogid, $username, $password, $title, $content, $more, $publish, $comments, $category);
-               
-               // Handle trackbacks
-               $trackbacks = array();
-               $tblist = $struct->structmem('mt_tb_ping_urls');
-               if ($tblist && ($tblist->kindOf() == "array") && ($tblist->arraysize() > 0)) {
-                       
-                       for ($i = 0; $i < $tblist->arraysize(); $i++) {
-                               $trackbacks[] = _getArrayVal($tblist, $i);
-                       }
-                       
-                       $manager->notify('SendTrackback', array ('tb_id' => $itemid, 'urls' => & $trackbacks));
-               }
-
-               return $res;
-       }
-
-
-       // metaWeblog.getCategories
-       $f_metaWeblog_getCategories_sig = array(array(
-               // return
-               $xmlrpcStruct,  // categories for blog
-
-               // params
-               $xmlrpcString,  // blogid
-               $xmlrpcString,  // username
-               $xmlrpcString,  // password
-
-       ));
-       $f_metaWeblog_getCategories_doc = "Returns the categories for a given blog";
-       function f_metaWeblog_getCategories($m) {
-               $blogid =       _getScalar($m,0);
-               $username =     _getScalar($m,1);
-               $password =     _getScalar($m,2);
-
-               return _categoryList($blogid, $username, $password);
-       }
-
-
-       // metaWeblog.getPost
-       $f_metaWeblog_getPost_sig = array(array(
-               // return
-               $xmlrpcStruct,  // the juice
-
-               // params
-               $xmlrpcString,  // itemid
-               $xmlrpcString,  // username
-               $xmlrpcString,  // password
-
-       ));
-       $f_metaWeblog_getPost_doc = "Retrieves a post";
-       function f_metaWeblog_getPost($m) {
-               $itemid =       _getScalar($m,0);
-               $username =     _getScalar($m,1);
-               $password =     _getScalar($m,2);
-
-               return _mw_getPost($itemid, $username, $password);
-       }
-
-
-       // metaWeblog.editPost
-       $f_metaWeblog_editPost_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // true
-
-                       // params:
-                       $xmlrpcString,  // itemid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcStruct,  // content
-                       $xmlrpcBoolean, // publish boolean (set to false to create draft)
-
-               ));
-       $f_metaWeblog_editPost_doc = "Edits an item";
-       function f_metaWeblog_editPost($m) {
-               global $manager;
-
-               $itemid =                       _getScalar($m,0);
-               $username =             _getScalar($m,1);
-               $password =             _getScalar($m,2);
-
-               $category = '';
-               $struct =                       $m->getParam(3);
-                       $content =              _getStructVal($struct, 'description');
-                       $title =                _getStructVal($struct, 'title');
-
-                       // category is optional (thus: be careful)!
-                       $catlist = $struct->structmem('categories');
-                       if ($catlist && ($catlist->kindOf() == "array") && ($catlist->arraysize() > 0)) {
-                               $category = _getArrayVal($catlist, 0);
-                       }
-
-               $publish = _getScalar($m,4);
-
-               
-               // get old title and extended part
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-               $blogid = getBlogIDFromItemID($itemid);
-
-               $old =& $manager->getItem($itemid,1,1);
-
-               if ($category == '')
-               {
-                       // leave category unchanged when not present
-                       $catid = $old['catid'];
-               }
-               else
-               {
-                       $blog = new BLOG($blogid);
-                       $catid = $blog->getCategoryIdFromName($category);
-               }
-
-               if ($old['draft'] && $publish) {
-                       $wasdraft = 1;
-                       $publish = 1;
-               } else {
-                       $wasdraft = 0;
-               }
-
-               $more = $struct->structmem('mt_text_more');
-               if ($more) {
-                       $more = _getStructVal($struct, 'mt_text_more');
-               } else {
-                       $more = $old['more'];
-               }
-               
-               $comments = $struct->structmem('mt_allow_comments');
-               if ($comments) {
-                       $comments = (int) _getStructVal($struct, 'mt_allow_comments') ? 0 : 1;
-               } else {
-                       $comments = $old['closed'];
-               }
-
-               $res = _edititem($itemid, $username, $password, $catid, $title, $content, $more, $wasdraft, $publish, $comments);
-
-               // Handle trackbacks
-               $trackbacks = array();
-               $tblist = $struct->structmem('mt_tb_ping_urls');
-               if ($tblist && ($tblist->kindOf() == "array") && ($tblist->arraysize() > 0)) {
-                       
-                       for ($i = 0; $i < $tblist->arraysize(); $i++) {
-                               $trackbacks[] = _getArrayVal($tblist, $i);
-                       }
-                       
-                       $manager->notify('SendTrackback', array ('tb_id' => $itemid, 'urls' => & $trackbacks));
-               }
-
-               return $res;
-       }
-
-       // metaWeblog.newMediaObject
-       $f_metaWeblog_newMediaObject_sig = array(array(
-               //  return type
-               $xmlrpcStruct,          // "url" element
-
-               // params
-               $xmlrpcString,          // blogid
-               $xmlrpcString,          // username
-               $xmlrpcString,          // password
-               $xmlrpcStruct           // 'name', 'type' and 'bits'
-       ));
-       $f_metaWeblog_newMediaObject_doc = 'Uploads a file to to the media library of the user';
-       function f_metaWeblog_newMediaObject($m) {
-               $blogid         = _getScalar($m, 0);
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-
-               $struct         = $m->getParam(3);
-                       $name   = _getStructVal($struct, 'name');
-                       $type   = _getStructVal($struct, 'type');
-                       $bits   = _getStructVal($struct, 'bits');
-
-               return _newMediaObject($blogid, $username, $password, array('name' => $name, 'type' => $type, 'bits' => $bits));
-       }
-
-       // metaWeblog.getRecentPosts
-       $f_metaWeblog_getRecentPosts_sig = array(array(
-               // return type
-               $xmlrpcStruct,          // array of structs
-
-               // params
-               $xmlrpcString,          // blogid
-               $xmlrpcString,          // username
-               $xmlrpcString,          // password
-               $xmlrpcInt                      // number of posts
-       ));
-       $f_metaWeblog_getRecentPosts_doc = 'Returns recent weblog items.';
-       function f_metaWeblog_getRecentPosts($m) {
-               $blogid         = _getScalar($m, 0);
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-               $amount         = intval(_getScalar($m, 3));
-
-               return _getRecentItemsMetaWeblog($blogid, $username, $password, $amount);
-       }
-
-       function _getRecentItemsMetaWeblog($blogid, $username, $password, $amount) {
-
-               $blogid = intval($blogid);
-               $amount = intval($amount);
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-               $amount = intval($amount);
-               if (($amount < 1) or ($amount > 20))
-                       return _error(5,"Amount parameter must be in range 1..20");
-
-               // 3. create and return list of recent items
-               // Struct returned has dateCreated, userid, blogid and content
-
-               $blog = new BLOG($blogid);
-
-               $structarray = array();         // the array in which the structs will be stored
-
-               $query = "SELECT mname, ibody, imore, iauthor, ibody, inumber, ititle as title, itime, cname as category, iclosed"
-                          .' FROM '.sql_table('item').', '.sql_table('category').', '.sql_table('member')
-                          ." WHERE iblog=$blogid and icat=catid and iauthor=mnumber"
-                          ." ORDER BY itime DESC"
-                          ." LIMIT $amount";
-               $r = sql_query($query);
-
-               while ($row = mysql_fetch_assoc($r)) {
-
-                       // remove linebreaks if needed
-                       if ($blog->convertBreaks()) {
-                               $row['ibody'] = removeBreaks($row['ibody']);
-                               $row['imore'] = removeBreaks($row['imore']);
-                       }
-
-                       $newstruct = new xmlrpcval(array(
-                               "dateCreated" => new xmlrpcval(iso8601_encode(strtotime($row['itime'])),"dateTime.iso8601"),
-                               "userid" => new xmlrpcval($row['iauthor'],"string"),
-                               "blogid" => new xmlrpcval($blogid,"string"),
-                               "postid" => new xmlrpcval($row['inumber'],"string"),
-                               "description" => new xmlrpcval($row['ibody'],"string"),
-                               "title" => new xmlrpcval($row['title'],"string"),
-                               "categories" => new xmlrpcval(
-                                               array(
-                                                       new xmlrpcval($row['category'], "string")
-                                               )
-                                               ,"array"),
-                               
-                                               
-                               "mt_text_more"          => new xmlrpcval($row['imore'], "string"),
-                               "mt_allow_comments" => new xmlrpcval($row['iclosed'] ? 0 : 1, "int"),
-                               "mt_allow_pings"        => new xmlrpcval(1, "int")
-                       ),'struct');
-
-               //TODO: String link?
-               //TODO: String permaLink?
-
-
-                       array_push($structarray, $newstruct);
-               }
-
-               return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
-       }
-
-       function _newMediaObject($blogid, $username, $password, $info) {
-               global $CONF, $DIR_MEDIA, $DIR_LIBS;
-
-               // - login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,'Could not log in');
-
-               // - check if team member
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,'Not a team member');
-
-               $b = new BLOG($blogid);
-
-               // - decode data
-               $data = $info['bits']; // decoding was done transparantly by xmlrpclib
-
-               // - check filesize
-               if (strlen($data) > $CONF['MaxUploadSize'])
-                       return _error(9, 'filesize is too big');
-
-
-               // - check if filetype is allowed (check filename)
-               $filename = $info['name'];
-               $ok = 0;
-               $allowedtypes = explode (',', $CONF['AllowedTypes']);
-               foreach ( $allowedtypes as $type )
-                       if (eregi("\." .$type. "$",$filename)) $ok = 1;
-               if (!$ok)
-                       _error(8, 'Filetype is not allowed');
-
-               // - add file to media library
-               include_once($DIR_LIBS . 'MEDIA.php');  // media classes
-
-               // always use private media library of member
-               $collection = $mem->getID();
-
-               // prefix filename with current date (YYYY-MM-DD-)
-               // this to avoid nameclashes
-               if ($CONF['MediaPrefix'])
-                       $filename = strftime("%Y%m%d-", time()) . $filename;
-
-               $res = MEDIA::addMediaObjectRaw($collection, $filename, $data);
-               if ($res)
-                       return _error(10, $res);
-
-               // - return URL
-               $urlstruct = new xmlrpcval(array(
-                       "url" => new xmlrpcval($CONF['MediaURL'] . $collection. '/' . $filename,'string')
-               ),'struct');
-
-               return new xmlrpcresp($urlstruct);
-       }
-
-       function _categoryList($blogid, $username, $password) {
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // check if on team and blog exists
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-
-               $b = new BLOG($blogid);
-
-               $categorystruct = array();
-
-               $query =  "SELECT cname, cdesc, catid"
-                               . ' FROM '.sql_table('category')
-                               . " WHERE cblog=" . intval($blogid)
-                               . " ORDER BY cname";
-               $r = sql_query($query);
-
-               while ($obj = mysql_fetch_object($r)) {
-
-                       $categorystruct[$obj->cname] = new xmlrpcval(
-                               array(
-                                       "description" => new xmlrpcval($obj->cdesc,"string"),
-                                       "htmlUrl" => new xmlrpcval($b->getURL() . "?catid=" . $obj->catid ,"string"),
-                                       "rssUrl" => new xmlrpcval("","string")
-                               )
-                       ,'struct');
-               }
-
-
-               return new xmlrpcresp(new xmlrpcval( $categorystruct , "struct"));
-
-       }
-
-
-       function _mw_getPost($itemid, $username, $password) {
-               global $manager;
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-               $blogid = getBlogIDFromItemID($itemid);
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-
-               // 3. return the item
-               $item =& $manager->getItem($itemid,1,1); // (also allow drafts and future items)
-
-               $b = new BLOG($blogid);
-               if ($b->convertBreaks()) {
-                       $item['body'] = removeBreaks($item['body']);
-                       $item['more'] = removeBreaks($item['more']);
-               }
-
-               $categoryname = $b->getCategoryName($item['catid']);
-
-               $newstruct = new xmlrpcval(array(
-                       "dateCreated" => new xmlrpcval(iso8601_encode($item['timestamp']),"dateTime.iso8601"),
-                       "userid" => new xmlrpcval($item['authorid'],"string"),
-                       "blogid" => new xmlrpcval($blogid,"string"),
-                       "postid" => new xmlrpcval($itemid, "string"),
-                       "description" => new xmlrpcval($item['body'],"string"),
-                       "title" => new xmlrpcval($item['title'],"string"),
-                       "categories" => new xmlrpcval(
-                                       array(
-                                               new xmlrpcval($categoryname, "string")
-                                       )
-                                       ,"array"),
-                               
-                       "mt_text_more"          => new xmlrpcval($item['more'], "string"),
-                       "mt_allow_comments" => new xmlrpcval($item['closed'] ? 0 : 1, "int"),
-                       "mt_allow_pings"        => new xmlrpcval(1, "int")
-               ),'struct');
-
-               //TODO: add "String link" to struct?
-               //TODO: add "String permaLink" to struct?
-
-               return new xmlrpcresp($newstruct);
-
-       }
-
-       $functionDefs = array_merge($functionDefs,
-               array(
-                        "metaWeblog.newPost" =>
-                        array(
-                               "function" => "f_metaWeblog_newPost",
-                               "signature" => $f_metaWeblog_newPost_sig,
-                               "docstring" => $f_metaWeblog_newPost_doc
-                        ),
-
-                        "metaWeblog.getCategories" =>
-                        array(
-                               "function" => "f_metaWeblog_getCategories",
-                               "signature" => $f_metaWeblog_getCategories_sig,
-                               "docstring" => $f_metaWeblog_getCategories_doc
-                        ),
-
-                        "metaWeblog.getPost" =>
-                        array(
-                               "function" => "f_metaWeblog_getPost",
-                               "signature" => $f_metaWeblog_getPost_sig,
-                               "docstring" => $f_metaWeblog_getPost_doc
-                        ),
-
-                        "metaWeblog.editPost" =>
-                        array(
-                               "function" => "f_metaWeblog_editPost",
-                               "signature" => $f_metaWeblog_editPost_sig,
-                               "docstring" => $f_metaWeblog_editPost_doc
-                        ),
-
-                        'metaWeblog.newMediaObject' =>
-                        array(
-                               'function' => 'f_metaWeblog_newMediaObject',
-                               'signature' => $f_metaWeblog_newMediaObject_sig,
-                               'docstring' => $f_metaWeblog_newMediaObject_doc
-                        ),
-
-                        'metaWeblog.getRecentPosts' =>
-                        array(
-                               'function' => 'f_metaWeblog_getRecentPosts',
-                               'signature' => $f_metaWeblog_getRecentPosts_sig,
-                               'docstring' => $f_metaWeblog_getRecentPosts_doc
-                        )
-
-               )
-       );
-?>
\ No newline at end of file
diff --git a/euc/nucleus/xmlrpc/api_mt.inc.php b/euc/nucleus/xmlrpc/api_mt.inc.php
deleted file mode 100755 (executable)
index 7016451..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-/**
- * This file contains definitions for the methods in the Movable Type API
- *
- * Wouter Demuynck 2003-08-31
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * $NucleusJP: api_mt.inc.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-
-       // mt.supportedMethods
-       $f_mt_supportedMethods_sig = array(array(
-                       // return type
-                       $xmlrpcArray // array of strings
-               ));
-       $f_mt_supportedMethods_doc = 'returns an array of supported methods';
-       function f_mt_supportedMethods($m) {
-               $res = new xmlrpcresp(new xmlrpcval(
-                       array(
-                               new xmlrpcval('mt.supportedMethods', 'string'),
-                               new xmlrpcval('mt.supportedTextFilters', 'string'),
-                               new xmlrpcval('mt.publishPost', 'string'),
-                               new xmlrpcval('mt.getCategoryList', 'string'),
-                               new xmlrpcval('mt.getPostCategories', 'string'),
-                               new xmlrpcval('mt.setPostCategories', 'string'),
-                               new xmlrpcval('mt.getRecentPostTitles', 'string'),
-                               new xmlrpcval('mt.getTrackbackPings','string'),
-                       ), 'array')
-               );
-               return $res;
-       }
-
-       // mt.supportedTextFilters
-       $f_mt_supportedTextFilters_sig = array(array(
-                       // return type
-                       $xmlrpcArray    // array of structs
-               ));
-       $f_mt_supportedTextFilters_doc = 'returns the supported text filters';
-       function f_mt_supportedTextFilters($m) {
-               $res = new xmlrpcresp(new xmlrpcval(
-                       array(
-                               // no text filters in nucleus
-                       ), 'array')
-               );
-               return $res;
-       }
-
-       // mt.getCategoryList
-       $f_mt_getCategoryList_sig = array(array(
-                       // return type
-                       $xmlrpcArray,           // array of structs
-
-                       // params
-                       $xmlrpcString,          // blogid
-                       $xmlrpcString,          // username
-                       $xmlrpcString           // password
-
-               ));
-       $f_mt_getCategoryList_doc = 'Returns a list of all categories defined in the weblog';
-       function f_mt_getCategoryList($m) {
-               $blogid =       _getScalar($m,0);
-               $username =     _getScalar($m,1);
-               $password =     _getScalar($m,2);
-
-               return _mt_categoryList($blogid, $username, $password);
-       }
-
-       // mt.publishPost
-       $f_mt_publishPost_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean,         // true
-
-                       // params
-                       $xmlrpcString,          // itemid
-                       $xmlrpcString,          // username
-                       $xmlrpcString           // password
-               ));
-       $f_mt_publishPost_doc = 'Transfers an item from the "draft" state to the "published" state. For items that were published earlier, does nothing.';
-       function f_mt_publishPost($m) {
-               $itemid         = intval(_getScalar($m, 0));
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-
-               return _mt_publishPost($itemid, $username, $password);
-       }
-
-       // mt.getPostCategories
-       $f_mt_getPostCategories_sig = array(array(
-               // return
-               $xmlrpcArray,           // array of structs
-               // parameters
-               $xmlrpcString,          // itemid
-               $xmlrpcString,          // username
-               $xmlrpcString           // password
-       ));
-       $f_mt_getPostCategories_doc = 'Returns a list of all categories to which the post is assigned.';
-       function f_mt_getPostCategories($m) {
-               $itemid         = intval(_getScalar($m, 0));
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-
-               return _mt_getPostCategories($itemid, $username, $password);
-       }
-
-       // mt.setPostCategories
-       $f_mt_setPostCategories_sig = array(array(
-               // return
-               $xmlrpcBoolean,         // true
-               // parameters
-               $xmlrpcString,          // itemid
-               $xmlrpcString,          // username
-               $xmlrpcString,          // password
-               $xmlrpcArray            // categories
-       ));
-       $f_mt_setPostCategories_doc = 'Sets the categories for a post. Only the primary category will be stored';
-       function f_mt_setPostCategories($m) {
-               $itemid         = intval(_getScalar($m, 0));
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-
-               $categories = $m->getParam(3);
-               $iSize = $categories->arraysize();
-
-               $category = '';
-               for ($i=0;$i<$iSize;$i++) {
-                       $struct = $categories->arraymem($i);
-                       $bPrimary = $struct->structmem('isPrimary');
-                       if ($bPrimary)
-                               $bPrimary = $bPrimary->scalarval();
-                       else if (!$category)
-                               $bPrimary = 1;  // "Using isPrimary to set the primary category is optional--
-                                                               // in the absence of this flag, the first struct in the array
-                                                               // will be assigned the primary category for the post." (MT doc)
-                       if ($bPrimary) {
-                               $category = $struct->structmem('categoryId');
-                               $category = $category->scalarval();
-                       }
-
-               }
-
-               return _mt_setPostCategories($itemid, $username, $password, $category);
-       }
-
-       // mt.getRecentPostTitles
-       $f_mt_getRecentPostTitles_sig = array(array(
-               // return
-               $xmlrpcArray,           // array of structs
-               // params
-               $xmlrpcString,          // blogid
-               $xmlrpcString,          // userid
-               $xmlrpcString,          // password,
-               $xmlrpcInt                      // number of posts
-       ));
-       $f_mt_getRecentPostTitles_doc = 'Returns a bandwidth-friendly list of the most recent posts in the system.';
-       function f_mt_getRecentPostTitles($m) {
-               $blogid         = intval(_getScalar($m, 0));
-               $username       = _getScalar($m, 1);
-               $password       = _getScalar($m, 2);
-               $iAmount        = intval(_getScalar($m, 3));
-
-               return _mt_getRecentPostTitles($blogid, $username, $password, $iAmount);
-       }
-
-       // mt.getTrackbackPings
-       $f_mt_getTrackbackPings_sig = array(array(
-               // return
-               $xmlrpcArray,           // array of structs
-               // params
-               $xmlrpcString           // postid
-       ));
-       $f_mt_getTrackbackPings_doc = '(this is currently just a placeholder. It returns an empty array.)';
-       function f_mt_getTrackbackPings($m) {
-               global $manager;
-               
-               $itemid = intval(_getScalar($m, 0));
-
-               $trackbacks = array ();
-               $tbstruct   = array ();
-                       
-               $manager->notify('RetrieveTrackback', array ('tb_id' => $itemid, 'trackbacks' => & $trackbacks));
-                               
-               while (list(,$v) = each ($trackbacks)) {
-                       $tbstruct[] = new xmlrpcval(
-                               array(
-                                       "pingTitle" => new xmlrpcval($v['title'], "string"),
-                                       "pingURL"   => new xmlrpcval($v['url'], "string"),
-                                       "pingIP"    => new xmlrpcval($v['ip'], "string")
-                               )
-                       ,'struct');                     
-               }               
-                               
-               return new xmlrpcresp(new xmlrpcval( $tbstruct , "array"));
-       }
-
-       $functionDefs = array_merge($functionDefs,
-               array(
-                        "mt.supportedMethods" =>
-                        array( "function" => "f_mt_supportedMethods",
-                               "signature" => $f_mt_supportedMethods_sig,
-                               "docstring" => $f_mt_supportedMethods_doc),
-
-                        "mt.supportedTextFilters" =>
-                        array( "function" => "f_mt_supportedTextFilters",
-                               "signature" => $f_mt_supportedTextFilters_sig,
-                               "docstring" => $f_mt_supportedTextFilters_doc),
-
-                        "mt.getCategoryList" =>
-                        array( "function" => "f_mt_getCategoryList",
-                               "signature" => $f_mt_getCategoryList_sig,
-                               "docstring" => $f_mt_getCategoryList_doc),
-
-                        "mt.publishPost" =>
-                        array( "function" => "f_mt_publishPost",
-                               "signature" => $f_mt_publishPost_sig,
-                               "docstring" => $f_mt_publishPost_doc),
-
-                        "mt.getPostCategories" =>
-                        array( "function" => "f_mt_getPostCategories",
-                               "signature" => $f_mt_getPostCategories_sig,
-                               "docstring" => $f_mt_getPostCategories_doc),
-
-                        "mt.setPostCategories" =>
-                        array( "function" => "f_mt_setPostCategories",
-                               "signature" => $f_mt_setPostCategories_sig,
-                               "docstring" => $f_mt_setPostCategories_doc),
-
-                        "mt.getRecentPostTitles" =>
-                        array( "function" => "f_mt_getRecentPostTitles",
-                               "signature" => $f_mt_getRecentPostTitles_sig,
-                               "docstring" => $f_mt_getRecentPostTitles_doc),
-
-                        "mt.getTrackbackPings" =>
-                        array( "function" => "f_mt_getTrackbackPings",
-                               "signature" => $f_mt_getTrackbackPings_sig,
-                               "docstring" => $f_mt_getTrackbackPings_doc)
-
-               )
-       );
-
-       function _mt_setPostCategories($itemid, $username, $password, $category) {
-               global $manager;
-
-               // login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // check if item exists
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-
-               $blogid = getBlogIDFromItemID($itemid);
-               $blog = new BLOG($blogid);
-
-               if (!$mem->canAlterItem($itemid))
-                       return _error(7,"Not allowed to alter item");
-
-               $old =& $manager->getItem($itemid,1,1);
-
-               $catid = $blog->getCategoryIdFromName($category);
-
-               $publish = 0;
-               if ($old['draft'] && $publish) {
-                       $wasdraft = 1;
-                       $publish = 1;
-               } else {
-                       $wasdraft = 0;
-               }
-
-               return _edititem($itemid, $username, $password, $catid, $old['title'], $old['body'], $old['more'], $wasdraft, $publish, $old['closed']);
-       }
-
-
-       function _mt_getPostCategories($itemid, $username, $password) {
-               global $manager;
-
-               // login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // check if item exists
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-
-               $blogid = getBlogIDFromItemID($itemid);
-               $blog = new BLOG($blogid);
-
-               if (!$mem->canAlterItem($itemid))
-                       return _error(7, 'You are not allowed to request this information');
-
-               $info =& $manager->getItem($itemid,1,1);
-               $catName = $blog->getCategoryName($info['catid']);
-
-               $struct = new xmlrpcval(
-                       array(
-                               'categoryId' => new xmlrpcval($catName, 'string'),
-                               'categoryName' => new xmlrpcval($catName, 'string'),
-                               'isPrimary'     => new xmlrpcval(1, 'boolean')
-                       ), 'struct'
-               );
-
-               return new xmlrpcresp(new xmlrpcval(array($struct), 'array'));
-
-       }
-
-       function _mt_publishPost($itemid, $username, $password) {
-               global $manager;
-
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-
-               // get item data
-               $blogid = getBlogIDFromItemID($itemid);
-               $blog = new BLOG($blogid);
-               $old =& $manager->getItem($itemid,1,1);
-
-               return _edititem($itemid, $username, $password, $old['catid'], $old['title'], $old['body'], $old['more'], $old['draft'], 1, $old['closed']);
-       }
-
-
-       function _mt_categoryList($blogid, $username, $password) {
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // check if on team and blog exists
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-
-               $b = new BLOG($blogid);
-
-               $categorystruct = array();
-
-               $query =  "SELECT cname, cdesc, catid"
-                               . ' FROM '.sql_table('category')
-                               . " WHERE cblog=" . intval($blogid)
-                               . " ORDER BY cname";
-               $r = sql_query($query);
-
-               while ($obj = mysql_fetch_object($r)) {
-
-                       $categorystruct[] = new xmlrpcval(
-                               array(
-                                       "categoryName" => new xmlrpcval($obj->cname,"string"),
-                                       "categoryId" => new xmlrpcval($obj->cname,"string")
-                               )
-                       ,'struct');
-
-               }
-
-
-               return new xmlrpcresp(new xmlrpcval( $categorystruct , "array"));
-
-       }
-
-       function _mt_getRecentPostTitles($blogid, $username, $password, $iAmount)
-       {
-               $blogid = intval($blogid);
-               $iAmount = intval($iAmount);
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-               $iAmount = intval($iAmount);
-               if ($iAmount < 1)
-                       return _error(5,"Amount parameter must be positive");
-
-               // 3. create and return list of recent items
-               // Struct returned has dateCreated, userid, postid and title
-
-               $blog = new BLOG($blogid);
-
-               $structarray = array();         // the array in which the structs will be stored
-
-               $query = "SELECT inumber, ititle as title, itime, iauthor"
-                          .' FROM '.sql_table('item')
-                          ." WHERE iblog=$blogid"
-                          ." ORDER BY itime DESC"
-                          ." LIMIT $iAmount";
-               $r = sql_query($query);
-
-               while ($row = mysql_fetch_assoc($r)) {
-
-                       $newstruct = new xmlrpcval(array(
-                               "dateCreated" => new xmlrpcval(iso8601_encode(strtotime($row['itime'])),"dateTime.iso8601"),
-                               "postid" => new xmlrpcval($row['inumber'],"string"),
-                               "title" => new xmlrpcval($row['title'],"string"),
-                               "userid" => new xmlrpcval($row['iauthor'],"string")
-                       ),'struct');
-
-                       array_push($structarray, $newstruct);
-               }
-
-               return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
-
-       }
-
-
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/xmlrpc/api_nucleus.inc.php b/euc/nucleus/xmlrpc/api_nucleus.inc.php
deleted file mode 100755 (executable)
index 5ac6def..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * This file contains definitions for the functions in the Nucleus API
- *
- * NOTE: These functions are deprecated and will most likely be removed!
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: api_nucleus.inc.php,v 1.4 2007-03-27 12:14:05 kimitake Exp $
- * $NucleusJP: api_nucleus.inc.php,v 1.6 2007/02/04 06:28:46 kimitake Exp $
- */
-
-       // nucleus.addItem
-       $f_nucleus_addItem_sig = array(array(
-                       // return type
-                       $xmlrpcString,  // itemid of the new item
-
-                       // params:
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // title
-                       $xmlrpcString,  // body
-                       $xmlrpcString,  // extended part
-                       $xmlrpcBoolean, // publish boolean (set to false to create draft)
-                       $xmlrpcBoolean, // closed boolean (set to true to disable comments)
-
-               ));
-       $f_nucleus_addItem_doc = "Adds a new item to the given blog. Adds it as a draft when publish is false";
-       function f_nucleus_addItem($m) {
-               $blogid = _getScalar($m,0);
-               $username = _getScalar($m,1);
-               $password = _getScalar($m,2);
-               $title = _getScalar($m,3);
-               $body = _getScalar($m,4);
-               $more = _getScalar($m,5);
-               $publish = _getScalar($m,6);
-               $closed = _getScalar($m,7);
-
-               return _addItem($blogid, $username, $password, $title, $body, $more, $publish, $closed);
-       }
-
-       // nucleus.addDatedItem (the time of the item can be given here, for offline blogging)
-       $f_nucleus_addDatedItem_sig = array(array(
-                       // return type
-                       $xmlrpcString,  // itemid of the new item
-
-                       // params:
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // title
-                       $xmlrpcString,  // body
-                       $xmlrpcString,  // extended part
-                       $xmlrpcBoolean, // publish boolean (set to false to create draft)
-                       $xmlrpcBoolean, // closed boolean (set to true to disable comments)
-                       $xmlrpcInt      // item time (unix timestamp)
-
-               ));
-       $f_nucleus_addDatedItem_doc = "Adds a new item to the given blog. Adds it as a draft when publish is false. The timestamp of the item needs to be given as a Unix timestamp";
-       function f_nucleus_addDatedItem($m) {
-               $blogid = _getScalar($m,0);
-               $username = _getScalar($m,1);
-               $password = _getScalar($m,2);
-               $title = _getScalar($m,3);
-               $body = _getScalar($m,4);
-               $more = _getScalar($m,5);
-               $publish = _getScalar($m,6);
-               $closed = _getScalar($m,7);
-               $timestamp = _getScalar($m,8);
-
-               // use '1' as $future param to make sure the date does not get erased
-               return _addDatedItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $timestamp, 1);
-       }
-
-       // nucleus.editItem
-       $f_nucleus_editItem_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // true or false
-
-                       // params:
-                       $xmlrpcString,  // itemid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcString,  // title
-                       $xmlrpcString,  // body
-                       $xmlrpcString,  // extended part
-                       $xmlrpcBoolean, // publish boolean (set to false if you want a draft to stay draft)
-                       $xmlrpcBoolean, // closed boolean (set to true to disable comments)
-               ));
-       $f_nucleus_editItem_doc = "Edits an item of a blog";
-       function f_nucleus_editItem($m) {
-               global $manager;
-
-               $itemid = intval(_getScalar($m,0));
-               $username = _getScalar($m,1);
-               $password = _getScalar($m,2);
-               $title = _getScalar($m,3);
-               $content = _getScalar($m,4);
-               $more = _getScalar($m,5);
-               $publish = _getScalar($m,6);
-               $closed = _getScalar($m,7);
-
-               // get old title and extended part
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-
-               $old =& $manager->getItem($itemid,1,1);
-               $wasdraft = ($old['draft']) ? 1 : 0;
-
-               return _edititem($itemid, $username, $password, $old['catid'], $title, $content, $more, $wasdraft, $publish, $closed);
-       }
-
-
-       // nucleus.getUsersBlogs
-       $f_nucleus_getUsersBlogs_sig = array(array(
-                       // return type
-                       $xmlrpcArray,   // array containing structs containing blog info
-
-                       // params:
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-               ));
-       $f_nucleus_getUsersBlogs_doc = "Returns a list of all the blogs where the given member is on the team";
-       function f_nucleus_getUsersBlogs($m) {
-               $username = _getScalar($m,0);
-               $password = _getScalar($m,1);
-
-               return _getUsersBlogs($username, $password);
-       }
-
-       // nucleus.getRecentItems
-       $f_nucleus_getRecentItems_sig = array(array(
-                       // return type
-                       $xmlrpcArray,   // array of strucs (representing items)
-
-                       // params
-                       $xmlrpcString,  // blogid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-                       $xmlrpcInt,     // amount of items to return (max = 20)
-               ));
-       $f_nucleus_getRecentItems_doc = "Returns a maximum of 20 recent items for a given webblog";
-       function f_nucleus_getRecentItems($m) {
-               $blogid = _getScalar($m, 0);
-               $username = _getScalar($m, 1);
-               $password = _getScalar($m, 2);
-               $amount = _getScalar($m, 3);
-
-               return _getRecentItems($blogid, $username, $password, $amount);
-       }
-
-       // nucleus.getItem
-       $f_nucleus_getItem_sig = array(array(
-                       // return type
-                       $xmlrpcStruct,  // A struct representing the item
-
-                       // params
-                       $xmlrpcString,  // itemid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-               ));
-       $f_nucleus_getItem_doc = "Returns an item";
-       function f_nucleus_getItem($m) {
-               $postid = _getScalar($m, 0);
-               $username = _getScalar($m, 1);
-               $password = _getScalar($m, 2);
-
-               return _getItem($postid, $username, $password);
-       }
-
-       // nucleus.deleteItem
-       $f_nucleus_deleteItem_sig = array(array(
-                       // return type
-                       $xmlrpcBoolean, // boolean (ok or not ok)
-
-                       // params
-                       $xmlrpcString,  // itemid
-                       $xmlrpcString,  // username
-                       $xmlrpcString,  // password
-               ));
-       $f_nucleus_deleteItem_doc = "Deletes an item";
-       function f_nucleus_deleteItem($m) {
-               $itemid = _getScalar($m,0);
-               $username = _getScalar($m, 1);
-               $password = _getScalar($m, 2);
-
-               return _deleteItem($itemid, $username, $password);
-       }
-
-
-       /**
-         * Returns a list of recent items (Nucleus Version)
-         * ($amount = max 20);
-         */
-       function _getRecentItems($blogid, $username, $password, $amount) {
-               $blogid = intval($blogid);
-               $amount = intval($amount);
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!BLOG::existsID($blogid))
-                       return _error(2,"No such blog ($blogid)");
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-               $amount = intval($amount);
-               if (($amount < 1) or ($amount > 20))
-                       return _error(5,"Amount parameter must be in range 1..20");
-
-               // 3. create and return list of recent items
-               // Struct returned has dateCreated, userid, blogid and content
-
-               $structarray = array();         // the array in which the structs will be stored
-
-               $query = "SELECT ibody, iauthor, ibody, imore, ititle, iclosed, idraft, itime"
-                          .' FROM '.sql_table('item')
-                          ." WHERE iblog=$blogid"
-                          ." ORDER BY itime DESC"
-                          ." LIMIT $amount";
-               $r = sql_query($query);
-               while ($obj = mysql_fetch_object($r)) {
-                       $newstruct = new xmlrpcval(array(
-                               "publishDate" => new xmlrpcval(iso8601_encode(strtotime($obj->itime)),"dateTime.iso8601"),
-                               "userid" => new xmlrpcval($obj->iauthor,"string"),
-                               "blogid" => new xmlrpcval($blogid,"string"),
-                               "title" => new xmlrpcval($obj->ititle,"string"),
-                               "body" => new xmlrpcval($obj->ibody,"string"),
-                               "more" => new xmlrpcval($obj->imore,"string"),
-                               "draft" => new xmlrpcval($obj->idraft,"boolean"),
-                               "closed" => new xmlrpcval($obj->iclosed,"boolean"),
-                       ),'struct');
-                       array_push($structarray, $newstruct);
-               }
-
-               return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
-
-       }
-
-
-
-       /**
-         * Returns one item (Nucleus version)
-         */
-       function _getItem($itemid, $username, $password) {
-               global $manager;
-
-               // 1. login
-               $mem = new MEMBER();
-               if (!$mem->login($username, $password))
-                       return _error(1,"Could not log in");
-
-               // 2. check if allowed
-               if (!$manager->existsItem($itemid,1,1))
-                       return _error(6,"No such item ($itemid)");
-               $blogid = getBlogIDFromItemID($itemid);
-
-               if (!$mem->teamRights($blogid))
-                       return _error(3,"Not a team member");
-
-               // 3. return the item
-               // Structure returned has dateCreated, userid, blogid and content
-
-               $item =& $manager->getItem($itemid,1,1); // (also allow drafts and future items)
-
-               $blog = new BLOG($blogid);
-               if ($blog->convertBreaks())
-                       $item['body'] = removeBreaks($item['body']);
-
-               $newstruct = new xmlrpcval(array(
-                       "publishDate" => new xmlrpcval(iso8601_encode($item['timestamp']),"dateTime.iso8601"),
-                       "userid" => new xmlrpcval($item['authorid'],"string"),
-                       "blogid" => new xmlrpcval($blogid,"string"),
-                       "title" => new xmlrpcval($item['title'],"string"),
-                       "body" => new xmlrpcval($item['body'],"string"),
-                       "more" => new xmlrpcval($item['more'],"string"),
-                       "draft" => new xmlrpcval($item['draft'],"boolean"),
-                       "closed" => new xmlrpcval($ite['closed'],"boolean"),
-               ),'struct');
-
-               return new xmlrpcresp($newstruct);
-
-
-       }
-
-
-       $functionDefs = array_merge($functionDefs,
-               array(
-                       "nucleus.addItem" =>
-                       array( "function" => "f_nucleus_addItem",
-                               "signature" => $f_nucleus_addItem_sig,
-                               "docstring" => $f_nucleus_addItem_doc),
-
-                       "nucleus.editItem" =>
-                       array( "function" => "f_nucleus_editItem",
-                               "signature" => $f_nucleus_editItem_sig,
-                               "docstring" => $f_nucleus_editItem_doc),
-
-                       "nucleus.addDatedItem" =>
-                       array( "function" => "f_nucleus_addDatedItem",
-                               "signature" => $f_nucleus_addDatedItem_sig,
-                               "docstring" => $f_nucleus_addDatedItem_doc),
-
-                       "nucleus.deleteItem" =>
-                       array( "function" => "f_nucleus_deleteItem",
-                               "signature" => $f_nucleus_deleteItem_sig,
-                               "docstring" => $f_nucleus_deleteItem_doc),
-
-                       "nucleus.getUsersBlogs" =>
-                       array( "function" => "f_nucleus_getUsersBlogs",
-                               "signature" => $f_nucleus_getUsersBlogs_sig,
-                               "docstring" => $f_nucleus_getUsersBlogs_doc),
-
-                       "nucleus.getRecentItems" =>
-                       array( "function" => "f_nucleus_getRecentItems",
-                               "signature" => $f_nucleus_getRecentItems_sig,
-                               "docstring" => $f_nucleus_getRecentItems_doc),
-
-                       "nucleus.getItem" =>
-                       array( "function" => "f_nucleus_getItem",
-                               "signature" => $f_nucleus_getItem_sig,
-                               "docstring" => $f_nucleus_getItem_doc)
-               )
-
-       );
-
-?>
\ No newline at end of file
diff --git a/euc/nucleus/xmlrpc/index.html b/euc/nucleus/xmlrpc/index.html
deleted file mode 100755 (executable)
index 50f792c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nothing Here</title>\r
-</head>\r
-<body>\r
-\r
-<h1>Nothing to see here</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/nucleus/xmlrpc/server.php b/euc/nucleus/xmlrpc/server.php
deleted file mode 100755 (executable)
index eeef714..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-<?php
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * This script is provides an XML-RPC [1] interface to Nucleus [2].
- *
- * At this time, the Blogger API [3], the metaWeblog API [4] and
- * parts of the Movable Type API [5] are implemented
- *
- * This script uses the the 'XML-RPC for PHP v1.02' implementation [6]
- * All other code was written by Wouter Demuynck [7]
- *
- * [1] http://www.xmlrpc.com/
- * [2] http://nucleuscms.org/
- * [3] http://plant.blogger.com/api/
- * [4] http://www.xmlrpc.com/metaWeblogApi
- * [5] http://www.movabletype.org/docs/mtmanual_programmatic.html
- * [6] http://phpxmlrpc.sourceforge.net/
- * [7] http://demuynck.org/
- *
- *
- * The Blogger API: (more info in the documentation)
- *
- *     blogger.newPost
- *     blogger.editPost
- *     blogger.getUsersBlogs
- *     blogger.deletePost
- *     blogger.getRecentPosts
- *     blogger.getPost
- *     blogger.getUserInfo
- *     blogger.getTemplate
- *     blogger.setTemplate
- *
- *     Note: The getUserInfo response contains an empty 'lastname' and the full name as
- *       'firstname'
- * Note: Blogger API methods only affect the body field of items
- *
- * The metaWeblog API (more info in documentation)
- *
- * metaWeblog.newPost
- * metaWeblog.getPost
- * metaWeblog.editPost
- * metaWeblog.getCategories
- * metaWeblog.newMediaObject
- * metaWeblog.getRecentPosts
- *
- * Note: metaWeblog API methods only affect the body and title fields of items.
- *       the extended part is left untouched (and empty for new posts)
- *
- * The Movable Type API
- *
- * mt.supportedMethods
- *
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: server.php,v 1.8 2007-03-27 12:14:05 kimitake Exp $
- * @version $NucleusJP: server.php,v 1.8 2007/03/20 19:33:25 kmorimatsu Exp $
- */
-$CONF = array();
-require("../../config.php");   // include Nucleus libs and code
-include($DIR_LIBS . "xmlrpc.inc.php");
-include($DIR_LIBS . "xmlrpcs.inc.php");
-
-/* define xmlrpc settings */
-$xmlrpc_internalencoding = 'UTF-8';
-$xmlrpc_defencoding = 'UTF-8';
-
-/* definition of available methods */
-
-$functionDefs = array();
-
-// load server functions
-include('api_blogger.inc.php');
-include('api_metaweblog.inc.php');
-// include('api_nucleus.inc.php'); // uncomment if you still want to use the nucleus.* methods
-include('api_mt.inc.php');
-
-
-// create server
-$s = new xmlrpc_server( $functionDefs );
-
-
-/* ------------------------------ private functions ---------------------------------- */
-
-/**
-  * Adds an item to the given blog. Username and password are required to login
-  */
-function _addItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $catname = "") {
-       $blog = new BLOG($blogid);
-       $timestamp = $blog->getCorrectTime();
-       return _addDatedItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $timestamp, 0, $catname);
-}
-
-/**
-  * Adds item to blog, with time of item given
-  */
-function _addDatedItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $timestamp, $future, $catname = "") {
-       // 1. login
-       $mem = new MEMBER();
-
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. check if allowed to add to blog
-       if (!BLOG::existsID($blogid))
-               return _error(2,"No such blog ($blogid)");
-       if (!$mem->teamRights($blogid))
-               return _error(3,"Not a team member");
-       if (!trim($body))
-               return _error(4,"Cannot add empty items!");
-
-       // 3. calculate missing vars
-       $blog = new BLOG($blogid);
-
-       // get category id (or id for default category when false category)
-       $catid = $blog->getCategoryIdFromName($catname);
-
-       if ($publish == 1)
-               $draft = 0;
-       else
-               $draft = 1;
-       if ($closed != 1)
-               $closed = 0;
-
-       $title = mb_convert_encoding($title, _CHARSET, "UTF-8");
-       $body = mb_convert_encoding($body, _CHARSET, "UTF-8");
-       $more = mb_convert_encoding($more, _CHARSET, "UTF-8");
-
-       // 4. add to blog
-       $itemid = $blog->additem($catid, $title, $body, $more, $blogid, $mem->getID(), $timestamp, $closed, $draft);
-
-       // [TODO] ping weblogs.com ?
-
-       return new xmlrpcresp(new xmlrpcval($itemid,"string"));
-}
-
-/**
-  * Updates an item. Username and password are required to login
-  */
-function _edititem($itemid, $username, $password, $catid, $title, $body, $more, $wasdraft, $publish, $closed) {
-       global $manager;
-
-       // 1. login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. check if allowed to add to blog
-       if (!$manager->existsItem($itemid,1,1))
-               return _error(6,"No such item ($itemid)");
-       if (!$mem->canAlterItem($itemid))
-               return _error(7,"Not allowed to alter item");
-
-       $title = mb_convert_encoding($title, _CHARSET, "EUC-JP,UTF-8");
-       $body = mb_convert_encoding($body, _CHARSET, "EUC-JP,UTF-8");
-       $more = mb_convert_encoding($more, _CHARSET, "EUC-JP,UTF-8");
-
-       // 3. update item
-       ITEM::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, 0);
-
-       return new xmlrpcresp(new xmlrpcval(1,"boolean"));
-}
-
-/**
-  * Gives the list of blogs to which the user with given name and password has access
-  */
-function _getUsersBlogs($username, $password) {
-       // 1. Try to login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. Get list of blogs
-
-       $structarray = array();
-       $query =  "SELECT bnumber, bname, burl"
-                       . ' FROM '.sql_table('blog').', '.sql_table('team')
-                       . " WHERE tblog=bnumber and tmember=" . $mem->getID()
-                       . " ORDER BY bname";
-       $r = sql_query($query);
-
-       while ($obj = mysql_fetch_object($r)) {
-               if ($obj->burl)
-                       $blogurl = $obj->burl;
-               else
-                       $blogurl = 'http://';
-
-               $newstruct = new xmlrpcval(array(
-                       "url" => new xmlrpcval($blogurl,"string"),
-                       "blogid" => new xmlrpcval($obj->bnumber,"string"),
-                       "blogName" => new xmlrpcval($obj->bname,"string")
-               ),'struct');
-               array_push($structarray, $newstruct);
-       }
-
-       return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
-}
-
-
-function _getUserInfo($username, $password) {
-       // 1. login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 3. return the info
-       // Structure returned has nickname, userid, url, email, lastname, firstname
-
-       $newstruct = new xmlrpcval(array(
-               "nickname" => new xmlrpcval($mem->getDisplayName(),"string"),
-               "userid" => new xmlrpcval($mem->getID(),"string"),
-               "url" => new xmlrpcval($mem->getURL(),"string"),
-               "email" => new xmlrpcval($mem->getEmail(),"string"),
-               "lastname" => new xmlrpcval("","string"),
-               "firstname" => new xmlrpcval($mem->getRealName(),"string")
-       ),'struct');
-
-       return new xmlrpcresp($newstruct);
-
-
-}
-
-/**
-  * deletes an item
-  */
-function _deleteItem($itemid, $username, $password) {
-       global $manager;
-
-       // 1. login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. check if allowed
-       if (!$manager->existsItem($itemid,1,1))
-               return _error(6,"No such item ($itemid)");
-       $blogid = getBlogIDFromItemID($itemid);
-       if (!$mem->teamRights($blogid))
-               return _error(3,"Not a team member");
-
-       // delete the item
-       ITEM::delete($itemid);
-
-       return new xmlrpcresp(new xmlrpcval(1,"boolean"));
-}
-
-/**
-  * Returns a template
-  */
-function _getSkinPart($blogid, $username, $password, $type) {
-       // 1. login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. check if allowed
-       if (!BLOG::existsID($blogid))
-               return _error(2,"No such blog ($blogid)");
-       if (!$mem->teamRights($blogid))
-               return _error(3,"Not a team member");
-
-       // 3. return skin part
-       $blog = new BLOG($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
-       return new xmlrpcresp(new xmlrpcval($skin->getContent($type),"string"));
-
-}
-
-function _setSkinPart($blogid, $username, $password, $content, $type) {
-       // 1. login
-       $mem = new MEMBER();
-       if (!$mem->login($username, $password))
-               return _error(1,"Could not log in");
-
-       // 2. check if allowed
-       if (!BLOG::existsID($blogid))
-               return _error(2,"No such blog ($blogid)");
-       if (!$mem->teamRights($blogid))
-               return _error(3,"Not a team member");
-
-       // 3. update skin part
-       $blog = new BLOG($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
-       $skin->update($type, $content);
-
-       return new xmlrpcresp(new xmlrpcval(1,'boolean'));
-}
-
-/**
-  * Some convenience methods
-  */
-
-function _getScalar($m, $idx) {
-       $v = $m->getParam($idx);
-       return $v->scalarval();
-}
-
-function _getStructVal($struct, $key) {
-       $t = $struct->structmem($key);
-       if (!$t) 
-               return '';      // no such struct value
-       else
-               return $t->scalarval();
-}
-
-function _getArrayVal($a, $idx) {
-       $t = $a->arraymem($idx);
-       return $t->scalarval();
-}
-
-/**
-  * Returns an XML-RPC error response
-  * $err is the error number (>0, will be added to $xmlrpcerruser)
-  */
-function _error($err, $msg) {
-       global $xmlrpcerruser;
-       return new xmlrpcresp(0, $xmlrpcerruser + $err, $msg);
-}
-?>
\ No newline at end of file
diff --git a/euc/readme.html b/euc/readme.html
deleted file mode 100755 (executable)
index 000d9fe..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>Nucleus - Readme</title>
-       <style type="text/css">
-       <!--
-               @import url(nucleus/styles/manual.css);
-       -->
-       </style>
-</head>
-<body>
-<h1>Readme</h1>
-
-<p>
-The only purpose of this file is to guide you to <a href="nucleus/documentation/index.html">the Nucleus manual</a>.
-</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/euc/robots.txt b/euc/robots.txt
deleted file mode 100755 (executable)
index b202b8d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-User-agent: *\r
-Disallow: action.php?\r
diff --git a/euc/rsd.php b/euc/rsd.php
deleted file mode 100755 (executable)
index d9134bf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-// RSD file (http://archipelago.phrasewise.com/rsd)
-$CONF = array();
-include('./config.php');
-selectSkin('xml/rsd');
-selector();
-
-?>
\ No newline at end of file
diff --git a/euc/skins/atom/skinbackup.xml b/euc/skins/atom/skinbackup.xml
deleted file mode 100755 (executable)
index 7d4b19e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<nucleusskin>
-       <meta>
-               <skin name="feeds/atom" />
-               <template name="feeds/atom/modified" />
-               <template name="feeds/atom/entries" />
-               <info>
-                       <![CDATA[Atom 1.0 weblog syndication]]>
-               </info>
-       </meta>
-
-       <skin name="feeds/atom" type="application/atom+xml" includeMode="normal" includePrefix="">
-               <description>Atom 1.0 weblog syndication</description>
-               <part name="index"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<feed xml:lang="ja" xmlns="http://www.w3.org/2005/Atom">
-    <title><%blogsetting(name)%></title>
-       <subtitle><%blogsetting(desc)%></subtitle>
-       <id><%blogsetting(url)%>:<%blogsetting(id)%></id>
-
-    <link rel="alternate" type="text/html" href="<%blogsetting(url)%>" />
-    <link rel="self" type="application/atom+xml" href="<%blogsetting(url)%><%self%>" />
-    <generator uri="http://nucleuscms.org/"><%version%></generator>
-    <updated><%blog(feeds/atom/modified,1)%></updated>
-
-    <%blog(feeds/atom/entries,10)%>
-</feed>]]></part>
-       </skin>
-
-
-       <template name="feeds/atom/modified">
-               <description>Atom feeds: Inserts last modification date</description>
-               <part name="ITEM"><![CDATA[<%date(utc)%>]]></part>
-       </template>
-
-
-       <template name="feeds/atom/entries">
-               <description>Atom feeds: Feed items</description>
-               <part name="ITEM"><![CDATA[<entry>
- <title type="html"><![CDATA[<%title%>]]]]><![CDATA[></title>
- <link rel="alternate" type="text/html" href="<%blogurl%>?itemid=<%itemid%>" />
- <author>
-  <name><%author%></name>
- </author>
- <updated><%date(utc)%></updated>
- <published><%date(iso8601)%></published>
- <content type="html"><![CDATA[<%body%><%more%>]]]]><![CDATA[></content>
- <id><%blogurl%>:<%blogid%>:<%itemid%></id>
-</entry>]]></part>
-               <part name="IMAGE_CODE"><![CDATA[<%image%>]]></part>
-               <part name="MEDIA_CODE"><![CDATA[<%media%>]]></part>
-               <part name="POPUP_CODE"><![CDATA[<%media%>]]></part>
-       </template>
-
-</nucleusskin>
diff --git a/euc/skins/default/default_left.css b/euc/skins/default/default_left.css
deleted file mode 100644 (file)
index 294c1f3..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-/*-------------------------------------------------
-  Nucleus CMS Stylesheet - bundled with version 3.2
-  Based on the Stanch skin by Ivan Fong
-  Mods by hcgtv and moraes
--------------------------------------------------*/
-
-/*-------------------------------------------------
-  General layout
--------------------------------------------------*/
-body
-{
-       background: #505050 url(images/bg.gif);
-       color: #494949;
-       font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Trebuchet, Arial, sans-serif;
-       font-size: 11px;
-       padding: 15px 0;
-       margin: 0;
-}
-img
-{
-       border: 0;
-}
-form
-{
-       margin: 0;
-}
-
-/* Headings */
-h1,h2,h3,h4,h5,h6
-{
-    font-family: "Georgia", "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Trebuchet, Arial, sans-serif;
-       font-weight: normal;
-       margin: 0;
-}
-
-/* Lists */
-ul
-{
-       list-style: none;
-       padding: 0;
-       margin: 0;
-}
-li
-{
-       background: url(images/arrow.gif) left 5px no-repeat;
-       padding: 0 0 0 10px;
-       margin: 0 20px;
-}
-
-/* Links */
-a:link, a:visited
-{
-       color: #635D45;
-       text-decoration: none;
-}
-a:hover, a:active
-{
-       color: black;
-}
-#header a:link, #header a:visited
-{
-       color: #474747;
-}
-#header a:hover, #header a:active
-{
-       color: #737373;
-}
-#copyrights a:link, #copyrights a:visited
-{
-       color: #474747;
-}
-#copyrights a:hover, #copyrights a:active
-{
-       color: #737373;
-}
-
-/* Basic classes */
-.hidden
-{
-       display: none;
-}
-.centerize
-{
-       text-align: center;
-}
-.clearing
-{
-       width: 704px;
-       height: 0;
-       clear: both;
-}
-
-/*-------------------------------------------------
-  Header
--------------------------------------------------*/
-#header
-{
-       position: relative;
-       width: 704px;
-       height: 168px;
-       /* large header image is defined below */
-       /* background: white url(images/header.jpg) no-repeat; */
-       background: white;
-       border-width: 2px 2px 0;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: auto;
-}
-#header h1
-{
-       /* small header image specific lines */
-       height: 168px;
-       width: 692px;
-       background: white url(images/header_sm.jpg) repeat-x 0 6px;
-       margin: 0 6px;
-       /* end small header image specific lines */
-       font-size: 38px;
-       text-align: center;
-       line-height: 160px;
-}
-
-/*-------------------------------------------------
-  Content wrappers
--------------------------------------------------*/
-#mainwrapper
-{
-       width: 704px;
-       background: white;
-       border-width: 0 2px;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: auto;
-}
-#wrapper
-{
-       width: 704px;
-       background: white url(images/bgcontainer01.gif) repeat-y;
-       margin: auto;
-}
-
-/*-------------------------------------------------
-  Main content
--------------------------------------------------*/
-#container
-{
-       width: 704px;
-       height: 1%;
-       overflow: visible;
-       float: right;
-       padding: 4px 0 0 0;
-       margin-left: -204px;
-}
-.content
-{
-       padding: 0;
-       margin: 7px 20px 30px 224px;
-}
-
-/*-------------------------------------------------
-  Item styles
--------------------------------------------------*/
-.contenttitle h2
-{
-       clear: both;
-       background: url(images/dot.gif) bottom repeat-x;
-       font-size: 18px;
-       padding: 0 0 6px 0;
-       margin: 0;
-}
-.contentbody
-{
-       font-size:13px;
-       text-align: justify;
-       padding: 0 0 16px 0;
-}
-
-/*-------------------------------------------------
-  Item info
--------------------------------------------------*/
-.contentitemcategory
-{
-       background: url(images/bgcategory.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 14px;
-}
-.contentitempostedby
-{
-       background: url(images/bgpostedby.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 12px;
-}
-.contentitemcomments
-{
-       background: url(images/bgcomment.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 13px;
-}
-.contentitemedit
-{
-       background: url(images/bgedit.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 11px;
-}
-.contentitem
-{
-       padding: 3px 0 0 0;
-       margin: 0 0 16px 0;
-}
-.contentitem1
-{
-       display: inline;
-}
-.contentitem2
-{
-       display: inline;
-       background: url(images/dotv.gif) left repeat-y;
-       padding: 0 0 0 10px;
-}
-.contentitem3
-{
-       display: inline;
-       background: url(images/dotv.gif) left repeat-y;
-       padding: 0 0 0 10px;
-}
-.contentitem4
-{
-       display: inline;
-       padding: 0 0 0 10px;
-       background: url(images/dotv.gif) left repeat-y;
-}
-
-/*-------------------------------------------------
-  Comments
--------------------------------------------------*/
-.itemcomment
-{
-       background: url(images/commentquote01.gif) no-repeat;
-       background-position: 6px 9px;
-       padding: 6px 42px;
-       border: 1px solid white;
-       margin: 10px 0 0 0;
-}
-.itemcomment:hover
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #CCCCCC;
-}
-.id1 /*This is to give the admin a special comment style, to distinguish him/her from the rest of the commentors*/
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #B3C492;
-}
-.id1:hover
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #B3C492;
-}
-.itemcomment h3
-{
-       font-size: 12px;
-}
-
-/*-------------------------------------------------
-  Menu
--------------------------------------------------*/
-#sidebarcontainer
-{
-       float: left;
-       width: 204px;
-       padding: 2px 0 0 0;
-}
-.sidebar
-{
-       color: #21262A;
-       margin: 0 0 4px 6px;
-}
-
-/* Menu lists */
-.sidebardl
-{
-       padding: 0 0 10px 0;
-       margin: 0;
-}
-.sidebardl dt
-{
-       background: #E5E5E5 url(images/sidetitlebg.gif);
-       color: #3A3523;
-       font-size: 12px;
-       font-weight: bold;
-    font-family: "Georgia", "Lucida Grande", "Lucida Sans Unicode", Arial, "Trebuchet MS", sans-serif;
-       padding: 4px 10px;
-}
-.sidebardl dd
-{
-       background: #EEEEEE;
-       padding: 2px 10px;
-       margin: 1px 0 0 0;
-}
-.sidebardl dd:hover
-{
-       background: #E7E7E7;
-       padding: 2px 10px;
-       margin: 1px 0 0 0;
-}
-.sidebardl dd a:link, .sidebardl dd a:visited
-{
-       background: url(images/arrow.gif) left center no-repeat;
-       padding: 0 0 0 10px;
-}
-
-/*-------------------------------------------------
-  Footer
--------------------------------------------------*/
-#footer
-{
-       width: 704px;
-       background: #FCD21B;
-       text-align: center;
-       padding: 10px 0 10px 0;
-       border-width: 0px 2px 2px 2px;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: 0 auto;
-}
-
-#copyrights
-{
-       color: #474747;
-}
-
-/*-------------------------------------------------
-  Forms
--------------------------------------------------*/
-.loginform, .searchform
-{
-       margin: 5px 0;
-}
-.commentform, .mailform
-{
-       margin-top: 10px;
-    padding: 10px;
-    background: #EEEEEE;
-    /* Rounded borders, for Mozilla browsers */
-    /* -moz-border-radius: 10px; */
-}
-.commentform img{
-    margin: 5px 0 0 0;
-}
-.formfield
-{
-       display:block;
-       font-size: 11px;
-       background: white;
-       color: #494949;
-       border-top: 1px solid #868686;
-       border-left: 1px solid #868686;
-       border-bottom: 1px solid #D4D2CF;
-       border-right: 1px solid #D4D2CF;
-       margin: 1px 0 0 0;
-}
-.formbutton
-{
-       font-size: 11px;
-       background: white;
-       color: #494949;
-       border-top: 1px solid #D4D2CF;
-       border-left: 1px solid #D4D2CF;
-       border-bottom: 1px solid #868686;
-       border-right: 1px solid #868686;
-       margin: 1px 0 0 0;
-}
-.commentform .formfield, .commentform .formbutton, .loginform .formbutton {
-       display: block;
-}
-.searchform .formfield
-{
-       width: 130px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.searchform .formbutton
-{
-       width: 60px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-.loginform .formfield
-{
-       width: 130px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.loginform .formbutton
-{
-       width: 60px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-.mainform .formfield
-{
-       width: 280px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.mailform .formbutton
-{
-       width: 100px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-#nucleus_cf_name, #nucleus_cf_mail, #nucleus_cf_email
-{
-    width: 300px;
-    margin-right: 105px;
-    font-family: Arial, Trebuchet MS, Verdana, sans-serif;
-}
-.commentform textarea, .commentform .formfield, .mailform textarea, .mailform .formfield
-{
-    width: 300px;
-}
-.commentform .formbutton
-{
-       width: 100px;
-       height: 22px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-}
-.error
-{
-       color: red;
-       font-weight: bold;
-}
-
-
-/*-------------------------------------------------
-  Miscelaneous
--------------------------------------------------*/
-/* VBlog image onion skin shadow - From AListApart.com*/
-.wrap1, .wrap2, .wrap3
-{
-       display:inline-table;
-       /* \*/display:block;/**/
-}
-.wrap1
-{
-       float:left;
-       background:url(images/shadow.gif) right bottom no-repeat;
-       margin: 0 5px 3px 0;
-}
-.wrap2
-{
-       background:url(images/corner_br.gif) left bottom no-repeat;
-}
-.wrap3
-{
-       background:url(images/corner_tr.gif) right top no-repeat;
-       padding:0 5px 5px 0;
-}
-.wrap3 img
-{
-       display:block;
-       border: 3px solid white;
-}
-
-/* Search highlight color */
-.highlight
-{
-       background: #DEFFA9;
-}
-
-/* Leftbox and Rightbox toolbar buttons */
-.leftbox, .rightbox {
-       margin: 3px;
-       padding: 3px;
-       font-size: larger;
-       width: 20%;
-}
-.leftbox {
-       float: left;
-       border-right: 2px solid #ccc;
-}
-.rightbox {
-       float: right;
-       border-left: 2px solid #ccc;
-}
diff --git a/euc/skins/default/default_right.css b/euc/skins/default/default_right.css
deleted file mode 100644 (file)
index 02f3205..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-/*-------------------------------------------------
-  Nucleus CMS Stylesheet - bundled with version 3.2
-  Based on the Stanch skin by Ivan Fong
-  Mods by hcgtv and moraes
--------------------------------------------------*/
-
-/*-------------------------------------------------
-  General layout
--------------------------------------------------*/
-body
-{
-       background: #505050 url(images/bg.gif);
-       color: #494949;
-       font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Trebuchet, Arial, sans-serif;
-       font-size: 11px;
-       padding: 15px 0;
-       margin: 0;
-}
-img
-{
-       border: 0;
-}
-form
-{
-       margin: 0;
-}
-
-/* Headings */
-h1,h2,h3,h4,h5,h6
-{
-    font-family: "Georgia", "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Trebuchet, Arial, sans-serif;
-       font-weight: normal;
-       margin: 0;
-}
-
-/* Lists */
-ul
-{
-       list-style: none;
-       padding: 0;
-       margin: 0;
-}
-li
-{
-       background: url(images/arrow.gif) left 5px no-repeat;
-       padding: 0 0 0 10px;
-       margin: 0 20px;
-}
-
-/* Links */
-a:link, a:visited
-{
-       color: #635D45;
-       text-decoration: none;
-}
-a:hover, a:active
-{
-       color: black;
-}
-#header a:link, #header a:visited
-{
-       color: #474747;
-}
-#header a:hover, #header a:active
-{
-       color: #737373;
-}
-#copyrights a:link, #copyrights a:visited
-{
-       color: #474747;
-}
-#copyrights a:hover, #copyrights a:active
-{
-       color: #737373;
-}
-
-/* Basic classes */
-.hidden
-{
-       display: none;
-}
-.centerize
-{
-       text-align: center;
-}
-.clearing
-{
-       width: 704px;
-       height: 0;
-       clear: both;
-}
-
-/*-------------------------------------------------
-  Header
--------------------------------------------------*/
-#header
-{
-       position: relative;
-       width: 704px;
-       height: 168px;
-       /* large header image is defined below */
-       /* background: white url(images/header.jpg) no-repeat; */
-       background: white;
-       border-width: 2px 2px 0;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: auto;
-}
-#header h1
-{
-       /* small header image specific lines */
-       height: 168px;
-       width: 692px;
-       background: white url(images/header_sm.jpg) repeat-x 0 6px;
-       margin: 0 6px;
-       /* end small header image specific lines */
-       font-size: 38px;
-       text-align: center;
-       line-height: 160px;
-}
-
-/*-------------------------------------------------
-  Content wrappers
--------------------------------------------------*/
-#mainwrapper
-{
-       width: 704px;
-       background: white;
-       border-width: 0 2px;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: auto;
-}
-#wrapper
-{
-       width: 704px;
-       background: white url(images/bgcontainer02.gif) repeat-y right;
-       margin: auto;
-}
-
-/*-------------------------------------------------
-  Main content
--------------------------------------------------*/
-#container
-{
-       width: 704px;
-       height: 1%;
-       overflow: visible;
-       float: left;
-       padding: 4px 0 0 0;
-       margin-right: -204px;
-}
-.content
-{
-       padding: 0;
-       margin: 7px 224px 30px 20px;
-}
-
-/*-------------------------------------------------
-  Item styles
--------------------------------------------------*/
-.contenttitle h2
-{
-       clear: both;
-       background: url(images/dot.gif) bottom repeat-x;
-       font-size: 18px;
-       padding: 0 0 6px 0;
-       margin: 0;
-}
-.contentbody
-{
-       font-size:13px;
-       text-align: justify;
-       padding: 0 0 16px 0;
-}
-
-/*-------------------------------------------------
-  Item info
--------------------------------------------------*/
-.contentitemcategory
-{
-       background: url(images/bgcategory.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 14px;
-}
-.contentitempostedby
-{
-       background: url(images/bgpostedby.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 12px;
-}
-.contentitemcomments
-{
-       background: url(images/bgcomment.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 13px;
-}
-.contentitemedit
-{
-       background: url(images/bgedit.gif) center left no-repeat;
-       font-size: 10px;
-       line-height: 12px;
-       padding: 0 10px 0 11px;
-}
-.contentitem
-{
-       padding: 3px 0 0 0;
-       margin: 0 0 16px 0;
-}
-.contentitem1
-{
-       display: inline;
-}
-.contentitem2
-{
-       display: inline;
-       background: url(images/dotv.gif) left repeat-y;
-       padding: 0 0 0 10px;
-}
-.contentitem3
-{
-       display: inline;
-       background: url(images/dotv.gif) left repeat-y;
-       padding: 0 0 0 10px;
-}
-.contentitem4
-{
-       display: inline;
-       padding: 0 0 0 10px;
-       background: url(images/dotv.gif) left repeat-y;
-}
-
-/*-------------------------------------------------
-  Comments
--------------------------------------------------*/
-.itemcomment
-{
-       background: url(images/commentquote01.gif) no-repeat;
-       background-position: 6px 9px;
-       padding: 6px 42px;
-       border: 1px solid white;
-       margin: 10px 0 0 0;
-}
-.itemcomment:hover
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #CCCCCC;
-}
-.id1 /*This is to give the admin a special comment style, to distinguish him/her from the rest of the commentors*/
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #B3C492;
-}
-.id1:hover
-{
-       background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
-       background-position: 6px 9px;
-       border: 1px solid #B3C492;
-}
-.itemcomment h3
-{
-       font-size: 12px;
-}
-
-/*-------------------------------------------------
-  Menu
--------------------------------------------------*/
-#sidebarcontainer
-{
-       float: right;
-       width: 204px;
-       padding: 2px 0 0 0;
-}
-.sidebar
-{
-       color: #21262A;
-       margin: 0 6px 4px 0;
-}
-
-/* Menu lists */
-.sidebardl
-{
-       padding: 0 0 10px 0;
-       margin: 0;
-}
-.sidebardl dt
-{
-       background: #E5E5E5 url(images/sidetitlebg.gif);
-       color: #3A3523;
-       font-size: 12px;
-       font-weight: bold;
-    font-family: "Georgia", "Lucida Grande", "Lucida Sans Unicode", Arial, "Trebuchet MS", sans-serif;
-       padding: 4px 10px;
-}
-.sidebardl dd
-{
-       background: #EEEEEE;
-       padding: 2px 10px;
-       margin: 1px 0 0 0;
-}
-.sidebardl dd:hover
-{
-       background: #E7E7E7;
-       padding: 2px 10px;
-       margin: 1px 0 0 0;
-}
-.sidebardl dd a:link, .sidebardl dd a:visited
-{
-       background: url(images/arrow.gif) left center no-repeat;
-       padding: 0 0 0 10px;
-}
-
-/*-------------------------------------------------
-  Footer
--------------------------------------------------*/
-#footer
-{
-       width: 704px;
-       background: #FCD21B;
-       text-align: center;
-       padding: 10px 0 10px 0;
-       border-width: 0px 2px 2px 2px;
-       border-style: solid;
-       border-color: #E0E0E0;
-       margin: 0 auto;
-}
-
-#copyrights
-{
-       color: #474747;
-}
-
-/*-------------------------------------------------
-  Forms
--------------------------------------------------*/
-.loginform, .searchform
-{
-       margin: 5px 0;
-}
-.commentform, .mailform
-{
-       margin-top: 10px;
-    padding: 10px;
-    background: #EEEEEE;
-    /* Rounded borders, for Mozilla browsers */
-    /* -moz-border-radius: 10px; */
-}
-.commentform img{
-    margin: 5px 0 0 0;
-}
-.formfield
-{
-       display:block;
-       font-size: 11px;
-       background: white;
-       color: #494949;
-       border-top: 1px solid #868686;
-       border-left: 1px solid #868686;
-       border-bottom: 1px solid #D4D2CF;
-       border-right: 1px solid #D4D2CF;
-       margin: 1px 0 0 0;
-}
-.formbutton
-{
-       font-size: 11px;
-       background: white;
-       color: #494949;
-       border-top: 1px solid #D4D2CF;
-       border-left: 1px solid #D4D2CF;
-       border-bottom: 1px solid #868686;
-       border-right: 1px solid #868686;
-       margin: 1px 0 0 0;
-}
-.commentform .formfield, .commentform .formbutton, .loginform .formbutton {
-       display: block;
-}
-.searchform .formfield
-{
-       width: 130px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.searchform .formbutton
-{
-       width: 60px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-.loginform .formfield
-{
-       width: 130px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.loginform .formbutton
-{
-       width: 60px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-.mainform .formfield
-{
-       width: 280px;
-    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 0;
-       margin: 0 2px 2px 0;
-}
-.mailform .formbutton
-{
-       width: 100px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-       padding: 2px 2px;
-}
-#nucleus_cf_name, #nucleus_cf_mail, #nucleus_cf_email
-{
-    width: 300px;
-    margin-right: 105px;
-    font-family: Arial, Trebuchet MS, Verdana, sans-serif;
-}
-.commentform textarea, .commentform .formfield, .mailform textarea, .mailform .formfield
-{
-    width: 300px;
-}
-.commentform .formbutton
-{
-       width: 100px;
-       height: 22px;
-    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
-}
-.error
-{
-       color: red;
-       font-weight: bold;
-}
-
-
-/*-------------------------------------------------
-  Miscelaneous
--------------------------------------------------*/
-/* VBlog image onion skin shadow - From AListApart.com*/
-.wrap1, .wrap2, .wrap3
-{
-       display:inline-table;
-       /* \*/display:block;/**/
-}
-.wrap1
-{
-       float:left;
-       background:url(images/shadow.gif) right bottom no-repeat;
-       margin: 0 5px 3px 0;
-}
-.wrap2
-{
-       background:url(images/corner_br.gif) left bottom no-repeat;
-}
-.wrap3
-{
-       background:url(images/corner_tr.gif) right top no-repeat;
-       padding:0 5px 5px 0;
-}
-.wrap3 img
-{
-       display:block;
-       border: 3px solid white;
-}
-
-/* Search highlight color */
-.highlight
-{
-       background: #DEFFA9;
-}
-
-/* Leftbox and Rightbox toolbar buttons */
-.leftbox, .rightbox {
-       margin: 3px;
-       padding: 3px;
-       font-size: larger;
-       width: 20%;
-}
-.leftbox {
-       float: left;
-       border-right: 2px solid #ccc;
-}
-.rightbox {
-       float: right;
-       border-left: 2px solid #ccc;
-}
diff --git a/euc/skins/default/favicon.ico b/euc/skins/default/favicon.ico
deleted file mode 100644 (file)
index f04fcc4..0000000
Binary files a/euc/skins/default/favicon.ico and /dev/null differ
diff --git a/euc/skins/default/footer.inc b/euc/skins/default/footer.inc
deleted file mode 100644 (file)
index f2442cc..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="clearing">&nbsp;</div>\r
-</div>\r
-</div>\r
-<!-- end wrapper divs -->\r
-\r
-<!-- page footer, copyrights, etc. -->\r
-<div id="footer">\r
-<div id="copyrights">\r
-       <small>Copyright | <a href="http://nucleuscms.org"><%version%></a> | \r
-       <a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0 Strict</a> | \r
-       <a href="http://jigsaw.w3.org/css-validator/">Valid CSS</a> | \r
-       <a href="#top">Back to top</a></small>\r
-</div>\r
-</div>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/skins/default/head.inc b/euc/skins/default/head.inc
deleted file mode 100644 (file)
index 0f4e021..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
-
-<!-- meta information for search engines -->
-<meta name="generator" content="<%version%>" />
-<meta name="name" content="<%if(skintype,error)%><%sitevar(name)%><%else%><%blogsetting(name)%><%endif%>" />
-<meta name="description" content="<%if(skintype,error)%><%sitevar(name)%><%else%><%blogsetting(desc)%><%endif%>" />
-
-<!-- prevent caching (can be removed) -->
-<meta http-equiv="Pragma" content="no-cache" />
-<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
-<meta http-equiv="Expires" content="-1" />
-
-<!-- site stylesheet (site colors and layout definitions) -->
-<link rel="stylesheet" type="text/css" href="<%skinfile(default_right.css)%>" />
-
-<!-- tooltips & stylesheet (activated by title="" on links) -->
-<link rel="stylesheet" type="text/css" href="<%skinfile(nicetitle.css)%>" />
-<script type="text/javascript" src="<%skinfile(nicetitle.js)%>"></script>
-
-<!-- RSS 2.0 feed -->
-<link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />
-
-<!-- RSD support -->
-<link rel="EditURI" type="application/rsd+xml" title="RSD" href="rsd.php" />
-
-<!-- favorite icon -->
-<link rel="shortcut icon" href="/favicon.ico" />
-<link rel="icon" href="/favicon.ico" />
-
-<!-- navigation & page titles -->
-<%parsedinclude(navigation.inc)%>
diff --git a/euc/skins/default/header.inc b/euc/skins/default/header.inc
deleted file mode 100644 (file)
index d8fa8a8..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<body>\r
-\r
-<!-- page header -->\r
-<div id="header"><a name="top"></a>\r
-<h1>\r
-       <%if(skintype,error)%>\r
-               <a href="<%sitevar(url)%>" accesskey="1"><%sitevar(name)%></a>\r
-       <%else%>\r
-       <%if(skintype,member)%>\r
-               <a href="<%sitevar(url)%>" accesskey="1"><%sitevar(name)%></a>\r
-       <%else%>\r
-               <a href="<%blogsetting(url)%>" accesskey="1"><%blogsetting(name)%></a>\r
-       <%endif%>\r
-       <%endif%>\r
-</h1>\r
-</div>\r
-\r
-<!-- begin wrapper divs -->\r
-<div id="mainwrapper">\r
-<div id="wrapper">
\ No newline at end of file
diff --git a/euc/skins/default/images/arrow.gif b/euc/skins/default/images/arrow.gif
deleted file mode 100644 (file)
index 529db30..0000000
Binary files a/euc/skins/default/images/arrow.gif and /dev/null differ
diff --git a/euc/skins/default/images/bg.gif b/euc/skins/default/images/bg.gif
deleted file mode 100644 (file)
index da46510..0000000
Binary files a/euc/skins/default/images/bg.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgcategory.gif b/euc/skins/default/images/bgcategory.gif
deleted file mode 100644 (file)
index 343961f..0000000
Binary files a/euc/skins/default/images/bgcategory.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgcomment.gif b/euc/skins/default/images/bgcomment.gif
deleted file mode 100644 (file)
index 602bcf3..0000000
Binary files a/euc/skins/default/images/bgcomment.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgcontainer01.gif b/euc/skins/default/images/bgcontainer01.gif
deleted file mode 100644 (file)
index a923bba..0000000
Binary files a/euc/skins/default/images/bgcontainer01.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgcontainer02.gif b/euc/skins/default/images/bgcontainer02.gif
deleted file mode 100644 (file)
index 47ff5b6..0000000
Binary files a/euc/skins/default/images/bgcontainer02.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgedit.gif b/euc/skins/default/images/bgedit.gif
deleted file mode 100644 (file)
index 2599ce9..0000000
Binary files a/euc/skins/default/images/bgedit.gif and /dev/null differ
diff --git a/euc/skins/default/images/bgpostedby.gif b/euc/skins/default/images/bgpostedby.gif
deleted file mode 100644 (file)
index ee367a2..0000000
Binary files a/euc/skins/default/images/bgpostedby.gif and /dev/null differ
diff --git a/euc/skins/default/images/commentquote01.gif b/euc/skins/default/images/commentquote01.gif
deleted file mode 100644 (file)
index 5effd26..0000000
Binary files a/euc/skins/default/images/commentquote01.gif and /dev/null differ
diff --git a/euc/skins/default/images/commentquote02.gif b/euc/skins/default/images/commentquote02.gif
deleted file mode 100644 (file)
index 3d8531c..0000000
Binary files a/euc/skins/default/images/commentquote02.gif and /dev/null differ
diff --git a/euc/skins/default/images/corner_br.gif b/euc/skins/default/images/corner_br.gif
deleted file mode 100644 (file)
index 3c90eae..0000000
Binary files a/euc/skins/default/images/corner_br.gif and /dev/null differ
diff --git a/euc/skins/default/images/corner_tr.gif b/euc/skins/default/images/corner_tr.gif
deleted file mode 100644 (file)
index 04505ae..0000000
Binary files a/euc/skins/default/images/corner_tr.gif and /dev/null differ
diff --git a/euc/skins/default/images/dot.gif b/euc/skins/default/images/dot.gif
deleted file mode 100644 (file)
index 14a2426..0000000
Binary files a/euc/skins/default/images/dot.gif and /dev/null differ
diff --git a/euc/skins/default/images/dotv.gif b/euc/skins/default/images/dotv.gif
deleted file mode 100644 (file)
index 7168124..0000000
Binary files a/euc/skins/default/images/dotv.gif and /dev/null differ
diff --git a/euc/skins/default/images/header.jpg b/euc/skins/default/images/header.jpg
deleted file mode 100644 (file)
index 0f90054..0000000
Binary files a/euc/skins/default/images/header.jpg and /dev/null differ
diff --git a/euc/skins/default/images/header_sm.jpg b/euc/skins/default/images/header_sm.jpg
deleted file mode 100644 (file)
index f979efd..0000000
Binary files a/euc/skins/default/images/header_sm.jpg and /dev/null differ
diff --git a/euc/skins/default/images/nucleus.gif b/euc/skins/default/images/nucleus.gif
deleted file mode 100644 (file)
index 1cdf680..0000000
Binary files a/euc/skins/default/images/nucleus.gif and /dev/null differ
diff --git a/euc/skins/default/images/shadow.gif b/euc/skins/default/images/shadow.gif
deleted file mode 100644 (file)
index d8b6f7d..0000000
Binary files a/euc/skins/default/images/shadow.gif and /dev/null differ
diff --git a/euc/skins/default/images/sidetitlebg.gif b/euc/skins/default/images/sidetitlebg.gif
deleted file mode 100644 (file)
index ff434e8..0000000
Binary files a/euc/skins/default/images/sidetitlebg.gif and /dev/null differ
diff --git a/euc/skins/default/navigation.inc b/euc/skins/default/navigation.inc
deleted file mode 100644 (file)
index 169f70a..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<!-- archive: page title and extra navigational links -->
-<%if(skintype,archive)%>
-<title><%blogsetting(name)%> &raquo; Archive</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- archivelist: page title and extra navigational links -->
-<%if(skintype,archivelist)%>
-<title><%blogsetting(name)%> &raquo; Archive List</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- error: page title and extra navigational links -->
-<%if(skintype,error)%>
-<title><%sitevar(name)%> &raquo; Error!</title>
-<link rel="top" title="Today" href="<%todaylink%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- index: page title and extra navigational links -->
-<%if(skintype,index)%>
-<title><%blogsetting(name)%></title>
-<link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%todaylink%>" />
-<%endif%>
-
-<!-- item: page title and extra navigational links -->
-<%if(skintype,item)%>
-<title><%blogsetting(name)%> &raquo; <%itemtitle(attribute)%></title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="next" href="<%nextlink%>" title="Next Item" />
-<link rel="prev" href="<%prevlink%>" title="Previous Item" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- member: page title and extra navigational links -->
-<%if(skintype,member)%>
-<title><%blogsetting(name)%> &raquo; Member Details</title>
-<link rel="top" title="Today" href="<%todaylink%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- search: page title and extra navigational links -->
-<%if(skintype,search)%>
-<title><%blogsetting(name)%> &raquo; Search</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-</head>
\ No newline at end of file
diff --git a/euc/skins/default/nicetitle.css b/euc/skins/default/nicetitle.css
deleted file mode 100644 (file)
index a4e841e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*Nice Titles*/\r
-.nicetitle {\r
-       font-weight: bold;\r
-       color: #3C3C3C;\r
-       text-align: left;\r
-       position: absolute;\r
-       left: 0;\r
-       top: 0;\r
-       width: 25em;\r
-       z-index: 20;\r
-       max-width: 50%;\r
-}\r
-.nicetitle-content{\r
-       overflow: hidden;\r
-       background: white;\r
-       border: 1px solid #333;\r
-       padding: 5px;\r
-       opacity: 0.9;\r
-}\r
-.nicetitle p{\r
-       margin: 0;\r
-       line-height: 120%;\r
-}\r
-.nicetitle p.destination {\r
-       font-weight: normal;\r
-       font-size: 10px;\r
-       color: #5E7743;\r
-}\r
-div.nicetitle p span.accesskey {\r
-       color: #FF7200;\r
-}
\ No newline at end of file
diff --git a/euc/skins/default/nicetitle.js b/euc/skins/default/nicetitle.js
deleted file mode 100644 (file)
index 55c9d56..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-// from http://www.kryogenix.org\r
-// by Scott Andrew - http://scottandrew.com\r
-// add an eventlistener to browsers that can do it somehow.\r
-function addEvent(obj, evType, fn)\r
-       {\r
-       if (obj.addEventListener)\r
-               {\r
-               obj.addEventListener(evType, fn, false);\r
-               return true;\r
-               }\r
-       else if (obj.attachEvent)\r
-               {\r
-               var r = obj.attachEvent('on'+evType, fn);\r
-               return r;\r
-               }\r
-       else\r
-               {\r
-               return false;\r
-               }\r
-       }\r
-\r
-function floatImages()\r
-       {\r
-       // adapted from http://www.dithered.com/javascript/browser_detect/\r
-       //**************************************************************//\r
-       // sniff user agent\r
-       var userAgent = navigator.userAgent.toLowerCase();\r
-\r
-       // if Mozilla 1.4 then quit\r
-       if ((userAgent.indexOf('gecko') != -1) && (userAgent.indexOf('gecko/') + 14 == userAgent.length) && (parseFloat(userAgent.substring(userAgent.indexOf('rv:') + 3)) == '1.4')) return;\r
-\r
-       // if Opera then quit\r
-       if (document.all && window.Event) return;\r
-       //**************************************************************//\r
-\r
-       // check this browser can cope with what we want to do\r
-       if (!document.getElementById) return;\r
-       var blogDiv = document.getElementById('blog');\r
-       if (!blogDiv) return;\r
-       if (!blogDiv.offsetWidth) return;\r
-\r
-       blogDiv.className = (blogDiv.offsetWidth >= 500) ? "float-images" : "block-images";\r
-       }\r
-\r
-// Blockquote citations\r
-\r
-// Simon Willison's work:\r
-// http://simon.incutio.com/archive/2002/12/20/#blockquoteCitations\r
-\r
-// Also Dunstan Orchard's work:\r
-// http://1976design.com/blog/archive/2003/11/10/updates/\r
-function blockquoteCite()\r
-       {\r
-       if (!document.createElementNS)\r
-               {\r
-               document.createElementNS = function(ns, elt)\r
-                       {\r
-                       return document.createElement(elt);\r
-                       }\r
-               }\r
-       quotes = document.getElementsByTagName('blockquote');\r
-       for (i = 0; i < quotes.length; i++)\r
-               {\r
-               var cite = quotes[i].getAttribute('cite');\r
-               // value of cite attribute should only contain URI, not any other\r
-               if ((cite) && (cite != ''))\r
-                       {\r
-                       newlink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\r
-                       newlink.setAttribute('href', cite);\r
-                       newlink.className = 'cite-link';\r
-                       newlink.appendChild(document.createTextNode(cite));\r
-                       newdiv = document.createElementNS('http://www.w3.org/1999/xhtml', 'cite');\r
-                       newdiv.className = 'blockquote-cite';\r
-                       newdiv.appendChild(document.createTextNode('Source: '));\r
-                       newdiv.appendChild(newlink);\r
-                       quotes[i].appendChild(newdiv);\r
-                       quotes[i].removeAttribute('cite');\r
-                       }\r
-               }\r
-       }\r
-\r
-// Ins and Del tags citations\r
-function insdelCite()\r
-       {\r
-       if (!document.createElementNS)\r
-               {\r
-               document.createElementNS = function(ns, elt)\r
-                       {\r
-                       return document.createElement(elt);\r
-                       }\r
-               }\r
-       var insdel = new Array(2);\r
-       insdel[0] = document.getElementsByTagName('ins');\r
-       insdel[1] = document.getElementsByTagName('del');\r
-       for (var i=0; i<insdel.length; i++)\r
-               {\r
-               if (insdel[i])\r
-                       {\r
-                       for (var id=0; id<insdel[i].length; id++)\r
-                               {\r
-                               var isdl = insdel[i][id].getAttribute('cite');\r
-                               if ((isdl) && (isdl != ""))\r
-                                       {\r
-                                       idlink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\r
-                                       idlink.setAttribute('href', isdl);\r
-                                       idlink.className = 'cite-link ' + (i == 0 ? 'ins-cite' : 'del-cite');\r
-                                       idlink.setAttribute('title','citation of ' + (i == 0 ? 'added' : 'deleted') + ' text');\r
-                                       idlink.appendChild(document.createTextNode('#'));\r
-                                       insdel[i][id].appendChild(idlink);\r
-                                       insdel[i][id].removeAttribute('cite');\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-// Force IE not to show alternate text as tooltip\r
-function noAltTooltip()\r
-       {\r
-       images = document.getElementsByTagName('img');\r
-       for (var i = 0; i < images.length; i++)\r
-               {\r
-               var title = images[i].getAttribute('title');\r
-               var alt = images[i].getAttribute('alt');\r
-               if ((document.all) && (alt) && (!title))\r
-                       {\r
-                       images[i].setAttribute('title', '');\r
-                       }\r
-               }\r
-       }\r
-\r
-// Nice Titles\r
-\r
-// original code by Stuart Langridge 2003-11\r
-// with additions to the code by other good people\r
-// http://www.kryogenix.org/code/browser/nicetitle/\r
-// thank you, sir\r
-\r
-// modified by Peter Janes 2003-03-25\r
-// http://peterjanes.ca/blog/archives/2003/03/25/nicetitles-for-ins-and-del\r
-// added in ins and del tags\r
-\r
-// modified by Dunstan Orchard 2003-11-18\r
-// http://1976design.com/blog/\r
-// added in accesskey information\r
-// tried ever-so-hard, but couldn't work out how to do what Ethan did\r
-\r
-// final genius touch by by Ethan Marcotte 2003-11-18\r
-// http://www.sidesh0w.com/\r
-// worked out how to delay showing the popups to make them more like the browser's own\r
-\r
-// set the namespace\r
-var XHTMLNS = 'http://www.w3.org/1999/xhtml';\r
-var CURRENT_NICE_TITLE;\r
-\r
-// browser sniff\r
-var browser = new Browser();\r
-\r
-// determine browser and version.\r
-function Browser()\r
-       {\r
-       var ua, s, i;\r
-\r
-       this.isIE = false;\r
-       this.isNS = false;\r
-       this.version = null;\r
-\r
-       ua = navigator.userAgent;\r
-\r
-       s = 'MSIE';\r
-       if ((i = ua.indexOf(s)) >= 0)\r
-               {\r
-               this.isIE = true;\r
-               this.version = parseFloat(ua.substr(i + s.length));\r
-               return;\r
-               }\r
-\r
-       s = 'Netscape6/';\r
-       if ((i = ua.indexOf(s)) >= 0)\r
-               {\r
-               this.isNS = true;\r
-               this.version = parseFloat(ua.substr(i + s.length));\r
-               return;\r
-               }\r
-\r
-       // treat any other 'Gecko' browser as NS 6.1.\r
-       s = 'Gecko';\r
-       if ((i = ua.indexOf(s)) >= 0)\r
-               {\r
-               this.isNS = true;\r
-               this.version = 6.1;\r
-               return;\r
-               }\r
-       }\r
-\r
-// 2003-11-19 sidesh0w\r
-// set delay vars to emulate normal hover delay\r
-var delay;\r
-var interval = 0.60;\r
-\r
-// this function runs on window load\r
-// it runs through all the links on the page as starts listening for actions\r
-function makeNiceTitles()\r
-       {\r
-       if (!document.createElement || !document.getElementsByTagName) return;\r
-       if (!document.createElementNS)\r
-               {\r
-               document.createElementNS = function(ns, elt)\r
-                       {\r
-                       return document.createElement(elt);\r
-                       }\r
-               }\r
-\r
-       // do regular links\r
-       if (!document.links)\r
-               {\r
-               document.links = document.getElementsByTagName('a');\r
-               }\r
-       for (var ti=0; ti<document.links.length; ti++)\r
-               {\r
-               var lnk = document.links[ti];\r
-               // * I added specific class names here..\r
-               if (lnk.title)\r
-                       {\r
-                       lnk.setAttribute('nicetitle', lnk.title);\r
-                       lnk.removeAttribute('title');\r
-                       addEvent(lnk, 'mouseover', showDelay);\r
-                       addEvent(lnk, 'mouseout', hideNiceTitle);\r
-                       addEvent(lnk, 'focus', showDelay);\r
-                       addEvent(lnk, 'blur', hideNiceTitle);\r
-                       }\r
-               }\r
-\r
-       // 2003-03-25 Peter Janes\r
-       // do ins and del tags\r
-       var tags = new Array(2);\r
-       tags[0] = document.getElementsByTagName('ins');\r
-       tags[1] = document.getElementsByTagName('del');\r
-       for (var tt=0; tt<tags.length; tt++)\r
-               {\r
-               if (tags[tt])\r
-                       {\r
-                       for (var ti=0; ti<tags[tt].length; ti++)\r
-                               {\r
-                               var tag = tags[tt][ti];\r
-                               if (tag.dateTime)\r
-                                       {\r
-                                       var strDate = tag.dateTime;\r
-                                       // HTML/ISO8601 date: yyyy-mm-ddThh:mm:ssTZD (Z, -hh:mm, +hh:mm)\r
-                                       var month = strDate.substring(5,7);\r
-                                       var day = strDate.substring(8,10);\r
-                                       if (month[0] == '0')\r
-                                               {\r
-                                               month = month[1];\r
-                                               }\r
-                                       if (day[0] == '0')\r
-                                               {\r
-                                               day = day[1];\r
-                                               }\r
-                                       var dtIns = new Date(strDate.substring(0,4), month-1, day, strDate.substring(11,13), strDate.substring(14,16), strDate.substring(17,19));\r
-                                       tag.setAttribute('nicetitle', (tt == 0 ? 'Added' : 'Deleted') + ' on ' + dtIns.toString());\r
-                                       addEvent(tag, 'mouseover', showDelay);\r
-                                       addEvent(tag, 'mouseout', hideNiceTitle);\r
-                                       addEvent(tag, 'focus', showDelay);\r
-                                       addEvent(tag, 'blur', hideNiceTitle);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-function findPosition(oLink)\r
-       {\r
-       if (oLink.offsetParent)\r
-               {\r
-               for (var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent)\r
-                       {\r
-                       posX += oLink.offsetLeft;\r
-                       posY += oLink.offsetTop;\r
-                       }\r
-               return [posX, posY];\r
-               }\r
-       else\r
-               {\r
-               return [oLink.x, oLink.y];\r
-               }\r
-       }\r
-\r
-function getParent(el, pTagName)\r
-       {\r
-       if (el == null)\r
-               {\r
-               return null;\r
-               }\r
-       // gecko bug, supposed to be uppercase\r
-       else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())\r
-               {\r
-               return el;\r
-               }\r
-       else\r
-               {\r
-               return getParent(el.parentNode, pTagName);\r
-               }\r
-       }\r
-\r
-// 2003-11-19 sidesh0w\r
-// trailerpark wrapper function\r
-function showDelay(e)\r
-       {\r
-    if (window.event && window.event.srcElement)\r
-               {\r
-        lnk = window.event.srcElement\r
-               }\r
-       else if (e && e.target)\r
-               {\r
-        lnk = e.target\r
-               }\r
-    if (!lnk) return;\r
-\r
-       // lnk is a textnode or an elementnode that's not ins/del\r
-    if (lnk.nodeType == 3 || (lnk.nodeType == 1 && lnk.tagName.toLowerCase() != 'ins' && lnk.tagName.toLowerCase() != 'del'))\r
-               {\r
-               // ascend parents until we hit a link\r
-               lnk = getParent(lnk, 'a');\r
-               }\r
-\r
-       delay = setTimeout("showNiceTitle(lnk)", interval * 1000);\r
-       }\r
-\r
-// build and show the nice titles\r
-function showNiceTitle(link)\r
-       {\r
-    if (CURRENT_NICE_TITLE) hideNiceTitle(CURRENT_NICE_TITLE);\r
-    if (!document.getElementsByTagName) return;\r
-\r
-    nicetitle = lnk.getAttribute('nicetitle');\r
-\r
-    var d = document.createElementNS(XHTMLNS, 'div');\r
-    d.className = 'nicetitle';\r
-    var dc = document.createElementNS(XHTMLNS, 'div');\r
-    dc.className = 'nicetitle-content';\r
-    d.appendChild(dc);\r
-    tnt = document.createTextNode(nicetitle);\r
-    pat = document.createElementNS(XHTMLNS, 'p');\r
-    pat.className = 'titletext';\r
-    pat.appendChild(tnt);\r
-\r
-       // 2003-11-18 Dunstan Orchard\r
-       // added in accesskey info\r
-       if (lnk.accessKey)\r
-               {\r
-        axs = document.createTextNode(' [' + lnk.accessKey + ']');\r
-               axsk = document.createElementNS(XHTMLNS, 'span');\r
-        axsk.className = 'accesskey';\r
-        axsk.appendChild(axs);\r
-               pat.appendChild(axsk);\r
-               }\r
-    dc.appendChild(pat);\r
-\r
-    if (lnk.href)\r
-               {\r
-        tnd = document.createTextNode(lnk.href);\r
-        pad = document.createElementNS(XHTMLNS, 'p');\r
-        pad.className = 'destination';\r
-        pad.appendChild(tnd);\r
-        dc.appendChild(pad);\r
-               }\r
-\r
-    STD_WIDTH = 300;\r
-\r
-       if (lnk.href)\r
-               {\r
-        h = lnk.href.length;\r
-               }\r
-       else\r
-               {\r
-               h = nicetitle.length;\r
-               }\r
-\r
-    if (nicetitle.length)\r
-               {\r
-               t = nicetitle.length;\r
-               }\r
-\r
-    h_pixels = h*6;\r
-       t_pixels = t*10;\r
-\r
-    if (h_pixels > STD_WIDTH)\r
-               {\r
-        w = h_pixels;\r
-               }\r
-       else if ((STD_WIDTH>t_pixels) && (t_pixels>h_pixels))\r
-               {\r
-        w = t_pixels;\r
-               }\r
-       else if ((STD_WIDTH>t_pixels) && (h_pixels>t_pixels))\r
-               {\r
-        w = h_pixels;\r
-               }\r
-       else\r
-               {\r
-        w = STD_WIDTH;\r
-               }\r
-\r
-    d.style.width = w + 'px';\r
-\r
-    mpos = findPosition(lnk);\r
-    mx = mpos[0];\r
-    my = mpos[1];\r
-\r
-    d.style.left = (mx+15) + 'px';\r
-    d.style.top = (my+35) + 'px';\r
-\r
-    if (window.innerWidth && ((mx+w) > window.innerWidth))\r
-               {\r
-        d.style.left = (window.innerWidth - w - 25) + 'px';\r
-               }\r
-    if (document.body.scrollWidth && ((mx+w) > document.body.scrollWidth))\r
-               {\r
-        d.style.left = (document.body.scrollWidth - w - 25) + 'px';\r
-               }\r
-\r
-    document.getElementsByTagName('body')[0].appendChild(d);\r
-\r
-    CURRENT_NICE_TITLE = d;\r
-       }\r
-\r
-function hideNiceTitle(e)\r
-       {\r
-       // 2003-11-19 sidesh0w\r
-       // clearTimeout\r
-       if (delay) clearTimeout(delay);\r
-       if (!document.getElementsByTagName) return;\r
-       if (CURRENT_NICE_TITLE)\r
-               {\r
-               document.getElementsByTagName('body')[0].removeChild(CURRENT_NICE_TITLE);\r
-               CURRENT_NICE_TITLE = null;\r
-               }\r
-       }\r
-\r
-addEvent(window, "load", floatImages);\r
-addEvent(window, "resize", floatImages);\r
-addEvent(window, "load", blockquoteCite);\r
-addEvent(window, "load", insdelCite);\r
-addEvent(window, "load", noAltTooltip);\r
-addEvent(window, "load", makeNiceTitles);\r
-\r
-// I'm very poor in JavaScript. Please correct me if I'm wrong.
\ No newline at end of file
diff --git a/euc/skins/default/preview-large.png b/euc/skins/default/preview-large.png
deleted file mode 100644 (file)
index 142211a..0000000
Binary files a/euc/skins/default/preview-large.png and /dev/null differ
diff --git a/euc/skins/default/preview.png b/euc/skins/default/preview.png
deleted file mode 100644 (file)
index 04a720b..0000000
Binary files a/euc/skins/default/preview.png and /dev/null differ
diff --git a/euc/skins/default/readme.html b/euc/skins/default/readme.html
deleted file mode 100644 (file)
index 0d6d90e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-       <title>Nucleus CMS 3.2 - default skin</title>\r
-       <link rel="stylesheet" type="text/css" href="../../nucleus/styles/manual.css" />\r
-</head>\r
-<body>\r
-       <h1>Nucleus CMS 3.2 - default skin</h1>\r
-\r
-       <p>Default Nucleus CMS 3.2 skin based on the Stanch skin contributed by <a href="http://www.stanch.net/">Stanch</a> with assistance from <a href="http://roelg.nl/">roel</a>.</p>\r
-\r
-       <p>Default skin's skin/templates/includes tweaked by <a href="http://nupusi.com/">hcgtv</a>, CSS color scheme by <a href="http://smalltalking.com/">moraes</a>.</p>\r
-\r
-       <br />\r
-       <p>This skin has been tested on major modern browsers, such as Firefox 1.0, Internet Explorer 6.0, Opera 7.54 and Netscape 7.2. The skin is coded using valid XHTML 1.0 and valid CSS.</p>\r
-\r
-       <p>If you want drop shadow effect for your images when you blog, you have to add 3 div's surrounding the image. Start with &lt;div class="wrap1"&gt;, followed by &lt;div class="wrap2"&gt;, and then &lt;div class="wrap3"&gt;. Remember to close them with &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;. Please note also that the drop shadow has float:left style applied to it.</p>\r
-\r
-       <p>On the comments page, you will notice that the owner (Nucleus administrator) has a different kind of styling to his/her comments, as opposed to the comments made by visitors. This is made possible using CSS. I have included short comments in the CSS file, I'm sure it is easy to understand, in case you want to remove this styling or you want to add styling for different members.</p>\r
-\r
-       <br />\r
-       <p>Default skin files:</p>\r
-       <p>default_left.css - left side menu CSS code, change it in head.inc</p>\r
-       <p>default_right.css - right side menu CSS code, default CSS in head.inc</p>\r
-       <p>skinbackup.xml - backup of default skin, can be reimported just in case</p>\r
-       <p>/images - background, header, footer and misc images</p>\r
-\r
-       <br />\r
-       <p>This skin makes use of includes for skin abstraction:</p>\r
-       <p>head.inc - html header</p>\r
-       <p>navigation.inc - navigation & page titles</p>\r
-       <p>header.inc - page header</p>\r
-       <p>sidebar.inc - page menu</p>\r
-       <p>footer.inc - page footer</p>\r
-\r
-       <br />\r
-       <p>Extra files:</p>\r
-       <p>nicetitles.js - tooltips javascript code, triggered by title="" attribute in links</p>\r
-       <p>nicetitle.css - tooltips color and layout code</p>\r
-       <p>favicon.ico - sample favorite icon, copy to site's root directory</p>\r
-\r
-       <br />\r
-       <p>The <a href="http://wiki.gednet.com/NPSkinFiles">NP_SkinFiles plugin</a> is recommended for maintenance of includes.</a></p>\r
-       <p>Note: chmod 666 the .inc files in the /skins/default directory.</p>\r
-\r
-       <br />\r
-       <p>Tooltips courtesy of <a href="http://neo.dzygn.com/code/nicetitles">NiceTitles</a></p>\r
-\r
-       <br />\r
-       <h1>Nucleus CMS 3.2 - to stop the flow of tears</h1>\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/euc/skins/default/sidebar.inc b/euc/skins/default/sidebar.inc
deleted file mode 100644 (file)
index d7a71b1..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<!-- page menu -->
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Navigation</dt>
-
-<!-- archive: navigation -->
-<%if(skintype,archive)%>
-<%if(archiveprevexists)%>
-<dd><a href="<%prevlink%>" title="Previous month">Previous <%archivetype%></a></dd>
-<%else%>
-<dd>&nbsp;</dd>
-<%endif%>
-<%if(archivenextexists)%>
-<dd><a href="<%nextlink%>" title="Next month">Next <%archivetype%></a></dd>
-<%else%>
-<dd>&nbsp;</dd>
-<%endif%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<dd><a href="<%archivelink%>" title="Archives">Archives</a></dd>
-<%endif%>
-
-<!-- archivelist: navigation -->
-<%if(skintype,archivelist)%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<dd><a href="<%archivelink%>" title="Archives">Archives</a></dd>
-<%endif%>
-
-<!-- error: navigation -->
-<%if(skintype,error)%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<%endif%>
-
-<!-- index: navigation -->
-<%if(skintype,index)%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<dd><a href="<%archivelink%>" title="Archives">Archives</a></dd>
-<%endif%>
-
-<!-- item: navigation -->
-<%if(skintype,item)%>
-<dd><a href="<%nextlink%>" title="Previous item">Previous Item</a></dd>
-<dd><a href="<%prevlink%>" title="Next item">Next Item</a></dd>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<dd><a href="<%archivelink%>" title="Archives">Archives</a></dd>
-<%endif%>
-
-<!-- member: navigation -->
-<%if(skintype,member)%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<%endif%>
-
-<!-- search: navigation -->
-<%if(skintype,search)%>
-<dd><a href="<%todaylink%>" title="Today&#39;s entry">Today</a></dd>
-<dd><a href="<%archivelink%>" title="Archives">Archives</a></dd>
-<%endif%>
-
-<!-- admin link, only visible if logged in -->
-<%if(loggedin)%>
-<dd><a href="<%adminurl%>" title="Admin Area">Admin</a></dd>
-<%endif%>
-</dl>
-</div>
-
-<!-- category list, not on error or member page -->
-<%if(skintype,error)%><%else%>
-<%if(skintype,member)%><%else%>
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Categories</dt>
-<%categorylist(default/index)%>
-</dl>
-</div>
-<%endif%><%endif%>
-
-<!-- bloglist-->
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Blogs</dt>
-<%bloglist(default/index)%>
-</dl>
-</div>
-
-<!-- search form -->
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Search</dt>
-<dd><%searchform%></dd>
-</dl>
-</div>
-
-<!-- login form -->
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Login</dt>
-<dd><%loginform%></dd>
-</dl>
-</div>
-
-<!-- links -->
-<div class="sidebar">
-<dl class="sidebardl">
-<dt>Links</dt>
-<dd><a href="http://nucleuscms.org" title="Nucleus CMS Home">nucleuscms.org</a></dd>
-<dd><a href="http://docs.nucleuscms.org/" title="Nucleus CMS Documentation">docs.nucleuscms.org</a></dd>
-<dd><a href="http://forum.nucleuscms.org" title="Nucleus CMS Support Forum">forum.nucleuscms.org</a></dd>
-<dd><a href="http://wiki.nucleuscms.org/" title="Nucleus CMS Wiki">wiki.nucleuscms.org</a></dd>
-<dd><a href="http://skins.nucleuscms.org/" title="Nucleus CMS Skins">skins.nucleuscms.org</a></dd>
-<dd><a href="http://wiki.nucleuscms.org/plugin" title="Nucleus CMS Plugins">plugins.nucleuscms.org</a></dd>
-<dd><a href="http://dev.nucleuscms.org/" title="Nucleus Developer Network">dev.nucleuscms.org</a></dd>
-</dl>
-</div>
-
-<!-- Powered by -->
-<div class="sidebar">
-<div class="sidebardl centerize">
-<%nucleusbutton(images/nucleus.gif,85,31)%>
-</div>
-</div>
\ No newline at end of file
diff --git a/euc/skins/default/skinbackup.xml b/euc/skins/default/skinbackup.xml
deleted file mode 100644 (file)
index d964d85..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-<nucleusskin>
-       <meta>
-               <skin name="default" />
-               <template name="default/index" />
-               <template name="default/item" />
-               <info><![CDATA[Nucleus CMS Default Skin]]></info>
-       </meta>
-
-       <skin name="default" type="text/html" includeMode="skindir" includePrefix="default/">
-               <description>Nucleus CMS default skin</description>
-               <part name="archive"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<div class="contenttitle">
-<h2>Archives</h2>
-</div>
-You are currently viewing archive for <%archivedate%>
-</div>
-<div class="content">
-<%archive(default/index)%>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="archivelist"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<div class="contenttitle">
-<h2>Archives</h2>
-</div>
-<dl>
-<dt>Monthly Archives</dt>
-<%archivelist(default/index)%>
-</dl>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="error"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<div class="contenttitle">
-<h2>Error!</h2>
-</div>
-<%errormessage%><br /><br />
-<a href="javascript:history.go(-1);">Go back</a>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="imagepopup"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
-<html>
-<head>
-<title><%imagetext%></title>
-<style type="text/css">
-img { border: none; }
-body { margin: 0px; }
-</style>
-</head>
-
-<!-- image content -->
-<body onblur="window.close()">
-<a href="javascript:window.close();"><%image%></a>
-</body>
-
-</html>]]></part>
-
-               <part name="index"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<%blog(default/index,10)%>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="item"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<%item(default/item)%>
-</div>
-<div class="content">
-<div class="contenttitle">
-<h2>Comments</h2>
-</div>
-<a name="c"></a>
-<%comments(default/item)%>
-</div>
-<div class="content">
-<div class="contenttitle">
-<h2>Add Comment</h2>
-</div>
-<%commentform%>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="member"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<div class="contenttitle">
-<h2>Info about <%member(name)%></h2>
-</div>
-Real name: <%member(realname)%>
-<br /><br />
-Website: <a href="<%member(url)%>"><%member(url)%></a>
-</div>
-<div class="content">
-<div class="contenttitle">
-<h2>Send message</h2>
-</div>
-<%membermailform%>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-               <part name="search"><![CDATA[<%parsedinclude(head.inc)%>
-
-<!-- page header -->
-<%parsedinclude(header.inc)%>
-
-<!-- page content -->
-<div id="container">
-<div class="content">
-<div class="contenttitle">
-<h2>Search Results</h2>
-</div>
-<%searchform%>
-</div>
-<div class="content">
-<%searchresults(default/index)%>
-</div>
-</div>
-
-<!-- page menu -->
-<h2 class="hidden">Sidebar</h2>
-<div id="sidebarcontainer">
-<%parsedinclude(sidebar.inc)%>
-</div>
-
-<!-- page footer -->
-<%parsedinclude(footer.inc)%>]]></part>
-
-       </skin>
-
-
-       <template name="default/index">
-               <description>Nucleus CMS default index template</description>
-               <part name="ARCHIVELIST_LISTITEM"><![CDATA[<dd>
-<a href="<%archivelink%>" title="Archive for %B, %Y">%B, %Y</a>
-</dd>]]></part>
-
-       <part name="BLOGLIST_LISTITEM"><![CDATA[<dd>
-<a href="<%bloglink%>" title="<%blogdesc%>"><%blogname%></a>
-</dd>]]></part>
-
-               <part name="CATLIST_HEADER"><![CDATA[<dd>
-<a href="<%blogurl%>" title="All categories">All</a>
-</dd>]]></part>
-
-               <part name="CATLIST_LISTITEM"><![CDATA[<dd>
-<a href="<%catlink%>" title="Category: <%catname%>"><%catname%></a>
-</dd>]]></part>
-
-               <part name="COMMENTS_MANY"><![CDATA[Comments]]></part>
-
-               <part name="COMMENTS_NONE"><![CDATA[<div class="contentitem3">
-<small class="contentitemcomments">
-<a href="<%itemlink%>#c" rel="bookmark" title="Add comment on &#39;<%itemtitle(attribute)%>&#39;">Add comment</a>
-</small>
-</div>]]></part>
-
-               <part name="COMMENTS_ONE"><![CDATA[Comment]]></part>
-
-               <part name="COMMENTS_TOOMUCH"><![CDATA[<div class="contentitem3">
-<small class="contentitemcomments">
-<a href="<%itemlink%>#c" rel="bookmark" title="Add comment on &#39;<%itemtitle(attribute)%>&#39;"><%commentcount%> <%commentword%></a>
-</small>
-</div>]]></part>
-
-               <part name="EDITLINK"><![CDATA[<div class="contentitem4">
-<small class="contentitemedit">
-<a href="<%editlink%>" title="Make changes to your entry" onclick="<%editpopupcode%>" >Edit item</a>
-</small>
-</div>]]></part>
-
-               <part name="FORMAT_DATE"><![CDATA[%m/%d]]></part>
-
-               <part name="FORMAT_TIME"><![CDATA[%X]]></part>
-
-               <part name="IMAGE_CODE"><![CDATA[<%image%>]]></part>
-
-               <part name="ITEM"><![CDATA[<div class="contenttitle">
-<h2><%date%>: <a href="<%itemlink%>" title="Read entry: <%title(attribute)%>"><%title(raw)%></a></h2>
-</div>
-<div class="contentitem">
-<div class="contentitem1">
-<small class="contentitemcategory">
-Category: <a href="<%categorylink%>" title="Category: <%Category%>"><%Category%></a>
-</small>
-</div>
-<div class="contentitem2">
-<small class="contentitempostedby">
-Posted by: <a href="<%authorlink%>" title="Author: <%author%>"><%author%></a>
-</small>
-</div>
-<%comments%>
-<%edit%>
-</div>
-<div class="contentbody">
-<%body%>
-<%morelink%>
-</div>]]></part>
-
-               <part name="LOCALE"><![CDATA[en]]></part>
-
-               <part name="MEDIA_CODE"><![CDATA[<%media%>]]></part>
-
-               <part name="MORELINK"><![CDATA[<p>&raquo;
-<a href="<%itemlink%>#more" title="Read more on &#39;<%title(attribute)%>&#39;">Read More</a>
-</p>]]></part>
-
-               <part name="POPUP_CODE"><![CDATA[<%popuplink%>]]></part>
-
-               <part name="SEARCH_HIGHLIGHT"><![CDATA[<span class="highlight">\0</span>]]></part>
-
-               <part name="SEARCH_NOTHINGFOUND"><![CDATA[No search results found for <b><%query%></b>]]></part>
-
-       </template>
-
-
-       <template name="default/item">
-               <description>Nucleus CMS default item template</description>
-               <part name="COMMENTS_BODY"><![CDATA[<div class="itemcomment id<%memberid%>">
-<h3><a href="<%userlinkraw%>"
-title="<%ip%> | Click to visit <%user%>'s website or send an email">
-<%user%></a> wrote:</h3>
-<div class="commentbody">
-<%body%>
-</div>
-<div class="commentinfo">
-<%date%> <%time%>
-</div>
-</div>]]></part>
-
-               <part name="COMMENTS_MANY"><![CDATA[comments]]></part>
-
-               <part name="COMMENTS_NONE"><![CDATA[<div class="comments">No comments yet</div>]]></part>
-
-               <part name="COMMENTS_ONE"><![CDATA[comment]]></part>
-
-               <part name="EDITLINK"><![CDATA[<div class="contentitem4">
-<small class="contentitemedit">
-<a href="<%editlink%>" title="Make changes to your entry" onclick="<%editpopupcode%>" >Edit item</a>
-</small>
-</div>]]></part>
-
-               <part name="FORMAT_DATE"><![CDATA[%m/%d]]></part>
-
-               <part name="FORMAT_TIME"><![CDATA[%X]]></part>
-
-               <part name="IMAGE_CODE"><![CDATA[<%image%>]]></part>
-
-               <part name="ITEM"><![CDATA[<div class="contenttitle">
-<h2><%date%>: <%title(raw)%></h2>
-</div>
-<div class="contentitem">
-<div class="contentitem1">
-<small class="contentitemcategory">
-Category: <a href="<%categorylink%>" title="Category: <%category%>"><%category%></a>
-</small>
-</div>
-<div class="contentitem2">
-<small class="contentitempostedby">
-Posted by: <a href="<%authorlink%>" title="Author: <%author%>"><%author%></a>
-</small>
-</div>
-<%edit%>
-</div>
-<div class="contentbody">
-<%body%><br /><br />
-<a name="more"></a><%more%>
-</div>]]></part>
-
-               <part name="LOCALE"><![CDATA[en]]></part>
-
-               <part name="MEDIA_CODE"><![CDATA[<%media%>]]></part>
-
-               <part name="POPUP_CODE"><![CDATA[<%popuplink%>]]></part>
-
-               <part name="SEARCH_HIGHLIGHT"><![CDATA[<span class="highlight">\0</span>]]></part>
-
-       </template>
-
-
-</nucleusskin>
diff --git a/euc/skins/readme.txt b/euc/skins/readme.txt
deleted file mode 100755 (executable)
index 361b623..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-Nucleus skins directory\r
------------------------\r
-\r
-PLEASE NOTE: the skinbackup.xml or skindata.xml files in these directories are not where you should edit the skins. These files get generated by the Nucleus skin export function and are meant to distribute skins between Nucleus users.\r
-\r
-To edit skins, open the Nucleus Admin Area, and select 'skins' in the left menu.
\ No newline at end of file
diff --git a/euc/skins/rsd/skinbackup.xml b/euc/skins/rsd/skinbackup.xml
deleted file mode 100755 (executable)
index 5799d6f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<nucleusskin>
-       <meta>
-               <skin name="xml/rsd" />
-               <info><![CDATA[RSD (Really Simple Discovery) information for weblog clients]]></info>
-       </meta>
-
-       <skin name="xml/rsd" type="text/xml" includeMode="normal" includePrefix="">
-               <description>RSD (Really Simple Discovery) information for weblog clients</description>
-               <part name="index"><![CDATA[<?xml version="1.0"?>
-<rsd version="1.0">
- <service>
-  <engineName><%version%></engineName>
-  <engineLink>http://nucleuscms.org/</engineLink>
-  <homepageLink><%sitevar(url)%></homepageLink>
-  <apis>
-   <api name="MetaWeblog" preferred="true" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">
-    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>
-   </api>
-   <api name="Blogger" preferred="false" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">
-    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>
-   </api>
-  </apis>
- </service>
-</rsd>]]></part>
-       </skin>
-
-</nucleusskin>
diff --git a/euc/skins/rss2.0/skinbackup.xml b/euc/skins/rss2.0/skinbackup.xml
deleted file mode 100755 (executable)
index 77bc0e0..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<nucleusskin>
-       <meta>
-               <skin name="feeds/rss20" />
-               <template name="feeds/rss20" />
-               <info><![CDATA[RSS 2.0 syndication of weblogs]]></info>
-       </meta>
-
-       <skin name="feeds/rss20" type="text/xml" includeMode="normal" includePrefix="">
-               <description>RSS 2.0 syndication of weblogs</description>
-               <part name="index"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<rss version="2.0">
-  <channel>
-    <title><%blogsetting(name)%></title>
-    <link><%blogsetting(url)%></link>
-    <description><%blogsetting(desc)%></description>
-    <language>ja</language>
-    <generator><%version%></generator>
-    <copyright>&#169;</copyright>
-    <category>Weblog</category>
-    <docs>http://backend.userland.com/rss</docs>
-    <image>
-      <url><%adminurl%>nucleus2.gif</url>
-      <title><%blogsetting(name)%></title>
-      <link><%blogsetting(url)%></link>
-    </image>
-    <%blog(feeds/rss20,10)%>
-  </channel>
-</rss>]]></part>
-       </skin>
-
-       <template name="feeds/rss20">
-               <description>Used for RSS 2.0 syndication of your blog</description>
-               <part name="EDITLINK"><![CDATA[<a href="<%editlink%>" onclick="<%editpopupcode%>">edit</a>]]></part>
-               <part name="FORMAT_DATE"><![CDATA[%Y-%m-%d]]></part>
-               <part name="FORMAT_TIME"><![CDATA[%H:%M:%S]]></part>
-               <part name="ITEM"><![CDATA[<item>
-<title><![CDATA[<%title(xml)%>]]]]><![CDATA[></title>
-<link><%blogurl%>?itemid=<%itemid%></link>
-<description><![CDATA[<%body%><%more%>]]]]><![CDATA[></description>
-<category><%category%></category>
-<comments><%blogurl%>?itemid=<%itemid%></comments>
-<pubDate><%date(rfc822)%></pubDate>
-</item>]]></part>
-
-               <part name="IMAGE_CODE"><![CDATA[<%image%>]]></part>
-               <part name="MEDIA_CODE"><![CDATA[<%media%>]]></part>
-               <part name="POPUP_CODE"><![CDATA[<%media%>]]></part>
-
-       </template>
-</nucleusskin>
diff --git a/euc/xml-rss2.php b/euc/xml-rss2.php
deleted file mode 100755 (executable)
index 8d9e065..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2007 The Nucleus Group
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * (see nucleus/documentation/index.html#license for more info)
- */
-
-/**
- * Nucleus RSS syndication channel skin
- * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2007 The Nucleus Group
- * @version $Id: xml-rss2.php,v 1.5 2007-03-22 09:23:50 kimitake Exp $
- * $NucleusJP: xml-rss2.php,v 1.8 2007/02/04 06:28:44 kimitake Exp $
- */
-
-header('Pragma: no-cache');
-
-$CONF = array();
-$CONF['Self'] = 'xml-rss2.php';
-
-include('./config.php');
-
-if (!$CONF['DisableSite']) {
-
-       // get feed into $feed
-       ob_start();
-       selectSkin('feeds/rss20');
-       selector();
-       $feed = ob_get_contents();
-       ob_end_clean();
-
-       // create ETAG (hash of feed)
-       // (HTTP_IF_NONE_MATCH has quotes around it)
-       $eTag = '"' . md5($feed) . '"';
-       header('Etag: ' . $eTag);
-
-       // compare Etag to what we got
-       if ($eTag == serverVar('HTTP_IF_NONE_MATCH') ) {
-               header('HTTP/1.0 304 Not Modified');
-               header('Content-Length: 0');
-       } else {
-               $feed = mb_convert_encoding($feed, "UTF-8", "EUC-JP");
-               header("Content-Type: application/xml");
-               // dump feed
-               echo $feed;
-       }
-
-} else {
-       // output empty RSS file...
-       // (because site is disabled)
-
-       echo '<' . '?xml version="1.0" encoding="' . _CHARSET . '"?' . '>';
-
-       ?>
-       <rss version="2.0">
-               <channel>
-                       <title><?php echo htmlspecialchars($CONF['SiteName']); ?></title>
-                       <link><?php echo htmlspecialchars($CONF['IndexURL']); ?></link>
-                       <description></description>
-                       <docs>http://backend.userland.com/rss</docs>
-               </channel>
-       </rss>
-       <?php
-}
-
-?>
\ No newline at end of file