changeset 0:261e66bd5a0c

hg init
author Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
date Sun, 24 Jul 2011 21:08:31 +0900
parents
children eb4fee3d9bb8
files .htaccess README app/.htaccess app/config/acl.ini.php app/config/bootstrap.php app/config/core.php app/config/database.php.default app/config/routes.php app/config/schema/db_acl.php app/config/schema/i18n.php app/config/schema/sessions.php app/controllers/components/empty app/controllers/pages_controller.php app/controllers/shutdown_controller.php app/controllers/vncviewer_controller.php app/index.php app/libs/empty app/locale/eng/LC_MESSAGES/empty app/models/behaviors/empty app/models/datasources/empty app/plugins/empty app/tests/cases/behaviors/empty app/tests/cases/components/empty app/tests/cases/controllers/empty app/tests/cases/helpers/empty app/tests/cases/models/empty app/tests/fixtures/empty app/tests/groups/empty app/tmp/cache/models/empty app/tmp/cache/persistent/cake_core_default_ja app/tmp/cache/persistent/cake_core_dir_map app/tmp/cache/persistent/cake_core_file_map app/tmp/cache/persistent/cake_core_object_map app/tmp/cache/persistent/empty app/tmp/cache/views/empty app/tmp/logs/debug.log app/tmp/logs/empty app/tmp/logs/error.log app/tmp/sessions/empty app/tmp/tests/empty app/vendors/shells/tasks/empty app/vendors/shells/templates/empty app/views/elements/email/html/empty app/views/elements/email/text/empty app/views/elements/empty app/views/errors/empty app/views/helpers/empty app/views/layouts/email/html/empty app/views/layouts/email/text/empty app/views/layouts/js/empty app/views/layouts/rss/empty app/views/layouts/xml/empty app/views/pages/display.ctp app/views/scaffolds/empty app/views/shutdown/error.ctp app/views/shutdown/exec.ctp app/views/vncviewer/error.ctp app/views/vncviewer/exec.ctp app/views/vncviewer/index.ctp app/webroot/.htaccess app/webroot/css.php app/webroot/css/cake.generic.css app/webroot/favicon.ico app/webroot/files/empty app/webroot/img/cake.icon.png app/webroot/img/cake.power.gif app/webroot/index.php app/webroot/js/empty app/webroot/test.php app/webroot/vncviewer/tightvnc-jviewer.jar cake/LICENSE.txt cake/VERSION.txt cake/basics.php cake/bootstrap.php cake/config/config.php cake/config/paths.php cake/config/unicode/casefolding/0080_00ff.php cake/config/unicode/casefolding/0100_017f.php cake/config/unicode/casefolding/0180_024F.php cake/config/unicode/casefolding/0250_02af.php cake/config/unicode/casefolding/0370_03ff.php cake/config/unicode/casefolding/0400_04ff.php cake/config/unicode/casefolding/0500_052f.php cake/config/unicode/casefolding/0530_058f.php cake/config/unicode/casefolding/1e00_1eff.php cake/config/unicode/casefolding/1f00_1fff.php cake/config/unicode/casefolding/2100_214f.php cake/config/unicode/casefolding/2150_218f.php cake/config/unicode/casefolding/2460_24ff.php cake/config/unicode/casefolding/2c00_2c5f.php cake/config/unicode/casefolding/2c60_2c7f.php cake/config/unicode/casefolding/2c80_2cff.php cake/config/unicode/casefolding/ff00_ffef.php cake/console/cake cake/console/cake.bat cake/console/cake.php cake/console/error.php cake/console/libs/acl.php cake/console/libs/api.php cake/console/libs/bake.php cake/console/libs/console.php cake/console/libs/i18n.php cake/console/libs/schema.php cake/console/libs/shell.php cake/console/libs/tasks/bake.php cake/console/libs/tasks/controller.php cake/console/libs/tasks/db_config.php cake/console/libs/tasks/extract.php cake/console/libs/tasks/fixture.php cake/console/libs/tasks/model.php cake/console/libs/tasks/plugin.php cake/console/libs/tasks/project.php cake/console/libs/tasks/template.php cake/console/libs/tasks/test.php cake/console/libs/tasks/view.php cake/console/libs/testsuite.php cake/console/templates/default/actions/controller_actions.ctp cake/console/templates/default/classes/controller.ctp cake/console/templates/default/classes/fixture.ctp cake/console/templates/default/classes/model.ctp cake/console/templates/default/classes/test.ctp cake/console/templates/default/views/form.ctp cake/console/templates/default/views/home.ctp cake/console/templates/default/views/index.ctp cake/console/templates/default/views/view.ctp cake/console/templates/skel/.htaccess cake/console/templates/skel/app_controller.php cake/console/templates/skel/app_helper.php cake/console/templates/skel/app_model.php cake/console/templates/skel/config/acl.ini.php cake/console/templates/skel/config/bootstrap.php cake/console/templates/skel/config/core.php cake/console/templates/skel/config/database.php.default cake/console/templates/skel/config/routes.php cake/console/templates/skel/config/schema/db_acl.php cake/console/templates/skel/config/schema/db_acl.sql cake/console/templates/skel/config/schema/i18n.php cake/console/templates/skel/config/schema/i18n.sql cake/console/templates/skel/config/schema/sessions.php cake/console/templates/skel/config/schema/sessions.sql cake/console/templates/skel/controllers/components/empty cake/console/templates/skel/controllers/pages_controller.php cake/console/templates/skel/index.php cake/console/templates/skel/libs/empty cake/console/templates/skel/locale/eng/LC_MESSAGES/empty cake/console/templates/skel/models/behaviors/empty cake/console/templates/skel/models/datasources/empty cake/console/templates/skel/plugins/empty cake/console/templates/skel/tests/cases/behaviors/empty cake/console/templates/skel/tests/cases/components/empty cake/console/templates/skel/tests/cases/controllers/empty cake/console/templates/skel/tests/cases/datasources/empty cake/console/templates/skel/tests/cases/helpers/empty cake/console/templates/skel/tests/cases/models/empty cake/console/templates/skel/tests/cases/shells/empty cake/console/templates/skel/tests/fixtures/empty cake/console/templates/skel/tests/groups/empty cake/console/templates/skel/tmp/cache/models/empty cake/console/templates/skel/tmp/cache/persistent/empty cake/console/templates/skel/tmp/cache/views/empty cake/console/templates/skel/tmp/logs/empty cake/console/templates/skel/tmp/sessions/empty cake/console/templates/skel/tmp/tests/empty cake/console/templates/skel/vendors/shells/tasks/empty cake/console/templates/skel/views/elements/email/html/default.ctp cake/console/templates/skel/views/elements/email/text/default.ctp cake/console/templates/skel/views/elements/empty cake/console/templates/skel/views/errors/empty cake/console/templates/skel/views/helpers/empty cake/console/templates/skel/views/layouts/ajax.ctp cake/console/templates/skel/views/layouts/default.ctp cake/console/templates/skel/views/layouts/email/html/default.ctp cake/console/templates/skel/views/layouts/email/text/default.ctp cake/console/templates/skel/views/layouts/flash.ctp cake/console/templates/skel/views/layouts/js/default.ctp cake/console/templates/skel/views/layouts/rss/default.ctp cake/console/templates/skel/views/layouts/xml/default.ctp cake/console/templates/skel/views/pages/empty cake/console/templates/skel/views/scaffolds/empty cake/console/templates/skel/webroot/.htaccess cake/console/templates/skel/webroot/css.php cake/console/templates/skel/webroot/css/cake.generic.css cake/console/templates/skel/webroot/favicon.ico cake/console/templates/skel/webroot/img/cake.icon.png cake/console/templates/skel/webroot/img/cake.power.gif cake/console/templates/skel/webroot/index.php cake/console/templates/skel/webroot/js/empty cake/console/templates/skel/webroot/test.php cake/dispatcher.php cake/libs/cache.php cake/libs/cache/apc.php cake/libs/cache/file.php cake/libs/cache/memcache.php cake/libs/cache/xcache.php cake/libs/cake_log.php cake/libs/cake_session.php cake/libs/cake_socket.php cake/libs/class_registry.php cake/libs/configure.php cake/libs/controller/app_controller.php cake/libs/controller/component.php cake/libs/controller/components/acl.php cake/libs/controller/components/auth.php cake/libs/controller/components/cookie.php cake/libs/controller/components/email.php cake/libs/controller/components/request_handler.php cake/libs/controller/components/security.php cake/libs/controller/components/session.php cake/libs/controller/controller.php cake/libs/controller/pages_controller.php cake/libs/controller/scaffold.php cake/libs/debugger.php cake/libs/error.php cake/libs/file.php cake/libs/folder.php cake/libs/http_socket.php cake/libs/i18n.php cake/libs/inflector.php cake/libs/l10n.php cake/libs/log/file_log.php cake/libs/magic_db.php cake/libs/model/app_model.php cake/libs/model/behaviors/acl.php cake/libs/model/behaviors/containable.php cake/libs/model/behaviors/translate.php cake/libs/model/behaviors/tree.php cake/libs/model/cake_schema.php cake/libs/model/connection_manager.php cake/libs/model/datasources/datasource.php cake/libs/model/datasources/dbo/dbo_mssql.php cake/libs/model/datasources/dbo/dbo_mysql.php cake/libs/model/datasources/dbo/dbo_mysqli.php cake/libs/model/datasources/dbo/dbo_oracle.php cake/libs/model/datasources/dbo/dbo_postgres.php cake/libs/model/datasources/dbo/dbo_sqlite.php cake/libs/model/datasources/dbo_source.php cake/libs/model/db_acl.php cake/libs/model/model.php cake/libs/model/model_behavior.php cake/libs/multibyte.php cake/libs/object.php cake/libs/overloadable.php cake/libs/overloadable_php4.php cake/libs/overloadable_php5.php cake/libs/router.php cake/libs/sanitize.php cake/libs/security.php cake/libs/set.php cake/libs/string.php cake/libs/validation.php cake/libs/view/elements/email/html/default.ctp cake/libs/view/elements/email/text/default.ctp cake/libs/view/elements/sql_dump.ctp cake/libs/view/errors/error404.ctp cake/libs/view/errors/error500.ctp cake/libs/view/errors/missing_action.ctp cake/libs/view/errors/missing_behavior_class.ctp cake/libs/view/errors/missing_behavior_file.ctp cake/libs/view/errors/missing_component_class.ctp cake/libs/view/errors/missing_component_file.ctp cake/libs/view/errors/missing_connection.ctp cake/libs/view/errors/missing_controller.ctp cake/libs/view/errors/missing_helper_class.ctp cake/libs/view/errors/missing_helper_file.ctp cake/libs/view/errors/missing_layout.ctp cake/libs/view/errors/missing_model.ctp cake/libs/view/errors/missing_scaffolddb.ctp cake/libs/view/errors/missing_table.ctp cake/libs/view/errors/missing_view.ctp cake/libs/view/errors/private_action.ctp cake/libs/view/errors/scaffold_error.ctp cake/libs/view/helper.php cake/libs/view/helpers/ajax.php cake/libs/view/helpers/app_helper.php cake/libs/view/helpers/cache.php cake/libs/view/helpers/form.php cake/libs/view/helpers/html.php cake/libs/view/helpers/javascript.php cake/libs/view/helpers/jquery_engine.php cake/libs/view/helpers/js.php cake/libs/view/helpers/mootools_engine.php cake/libs/view/helpers/number.php cake/libs/view/helpers/paginator.php cake/libs/view/helpers/prototype_engine.php cake/libs/view/helpers/rss.php cake/libs/view/helpers/session.php cake/libs/view/helpers/text.php cake/libs/view/helpers/time.php cake/libs/view/helpers/xml.php cake/libs/view/layouts/ajax.ctp cake/libs/view/layouts/default.ctp cake/libs/view/layouts/email/html/default.ctp cake/libs/view/layouts/email/text/default.ctp cake/libs/view/layouts/flash.ctp cake/libs/view/layouts/js/default.ctp cake/libs/view/layouts/rss/default.ctp cake/libs/view/layouts/xml/default.ctp cake/libs/view/media.php cake/libs/view/pages/home.ctp cake/libs/view/scaffolds/edit.ctp cake/libs/view/scaffolds/index.ctp cake/libs/view/scaffolds/view.ctp cake/libs/view/theme.php cake/libs/view/view.php cake/libs/xml.php cake/tests/cases/basics.test.php cake/tests/cases/console/cake.test.php cake/tests/cases/console/libs/acl.test.php cake/tests/cases/console/libs/api.test.php cake/tests/cases/console/libs/bake.test.php cake/tests/cases/console/libs/schema.test.php cake/tests/cases/console/libs/shell.test.php cake/tests/cases/console/libs/tasks/controller.test.php cake/tests/cases/console/libs/tasks/db_config.test.php cake/tests/cases/console/libs/tasks/extract.test.php cake/tests/cases/console/libs/tasks/fixture.test.php cake/tests/cases/console/libs/tasks/model.test.php cake/tests/cases/console/libs/tasks/plugin.test.php cake/tests/cases/console/libs/tasks/project.test.php cake/tests/cases/console/libs/tasks/template.test.php cake/tests/cases/console/libs/tasks/test.test.php cake/tests/cases/console/libs/tasks/view.test.php cake/tests/cases/dispatcher.test.php cake/tests/cases/libs/cache.test.php cake/tests/cases/libs/cache/apc.test.php cake/tests/cases/libs/cache/file.test.php cake/tests/cases/libs/cache/memcache.test.php cake/tests/cases/libs/cache/xcache.test.php cake/tests/cases/libs/cake_log.test.php cake/tests/cases/libs/cake_session.test.php cake/tests/cases/libs/cake_socket.test.php cake/tests/cases/libs/cake_test_case.test.php cake/tests/cases/libs/cake_test_fixture.test.php cake/tests/cases/libs/class_registry.test.php cake/tests/cases/libs/code_coverage_manager.test.php cake/tests/cases/libs/configure.test.php cake/tests/cases/libs/controller/component.test.php cake/tests/cases/libs/controller/components/acl.test.php cake/tests/cases/libs/controller/components/auth.test.php cake/tests/cases/libs/controller/components/cookie.test.php cake/tests/cases/libs/controller/components/email.test.php cake/tests/cases/libs/controller/components/request_handler.test.php cake/tests/cases/libs/controller/components/security.test.php cake/tests/cases/libs/controller/components/session.test.php cake/tests/cases/libs/controller/controller.test.php cake/tests/cases/libs/controller/controller_merge_vars.test.php cake/tests/cases/libs/controller/pages_controller.test.php cake/tests/cases/libs/controller/scaffold.test.php cake/tests/cases/libs/debugger.test.php cake/tests/cases/libs/error.test.php cake/tests/cases/libs/file.test.php cake/tests/cases/libs/folder.test.php cake/tests/cases/libs/http_socket.test.php cake/tests/cases/libs/i18n.test.php cake/tests/cases/libs/inflector.test.php cake/tests/cases/libs/l10n.test.php cake/tests/cases/libs/log/file_log.test.php cake/tests/cases/libs/magic_db.test.php cake/tests/cases/libs/model/behaviors/acl.test.php cake/tests/cases/libs/model/behaviors/containable.test.php cake/tests/cases/libs/model/behaviors/translate.test.php cake/tests/cases/libs/model/behaviors/tree.test.php cake/tests/cases/libs/model/cake_schema.test.php cake/tests/cases/libs/model/connection_manager.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php cake/tests/cases/libs/model/datasources/dbo_source.test.php cake/tests/cases/libs/model/db_acl.test.php cake/tests/cases/libs/model/model.test.php cake/tests/cases/libs/model/model_behavior.test.php cake/tests/cases/libs/model/model_delete.test.php cake/tests/cases/libs/model/model_integration.test.php cake/tests/cases/libs/model/model_read.test.php cake/tests/cases/libs/model/model_validation.test.php cake/tests/cases/libs/model/model_write.test.php cake/tests/cases/libs/model/models.php cake/tests/cases/libs/multibyte.test.php cake/tests/cases/libs/object.test.php cake/tests/cases/libs/overloadable.test.php cake/tests/cases/libs/router.test.php cake/tests/cases/libs/sanitize.test.php cake/tests/cases/libs/security.test.php cake/tests/cases/libs/set.test.php cake/tests/cases/libs/string.test.php cake/tests/cases/libs/test_manager.test.php cake/tests/cases/libs/validation.test.php cake/tests/cases/libs/view/helper.test.php cake/tests/cases/libs/view/helpers/ajax.test.php cake/tests/cases/libs/view/helpers/cache.test.php cake/tests/cases/libs/view/helpers/form.test.php cake/tests/cases/libs/view/helpers/html.test.php cake/tests/cases/libs/view/helpers/javascript.test.php cake/tests/cases/libs/view/helpers/jquery_engine.test.php cake/tests/cases/libs/view/helpers/js.test.php cake/tests/cases/libs/view/helpers/mootools_engine.test.php cake/tests/cases/libs/view/helpers/number.test.php cake/tests/cases/libs/view/helpers/paginator.test.php cake/tests/cases/libs/view/helpers/prototype_engine.test.php cake/tests/cases/libs/view/helpers/rss.test.php cake/tests/cases/libs/view/helpers/session.test.php cake/tests/cases/libs/view/helpers/text.test.php cake/tests/cases/libs/view/helpers/time.test.php cake/tests/cases/libs/view/helpers/xml.test.php cake/tests/cases/libs/view/media.test.php cake/tests/cases/libs/view/theme.test.php cake/tests/cases/libs/view/view.test.php cake/tests/cases/libs/xml.test.php cake/tests/fixtures/account_fixture.php cake/tests/fixtures/aco_action_fixture.php cake/tests/fixtures/aco_fixture.php cake/tests/fixtures/aco_two_fixture.php cake/tests/fixtures/ad_fixture.php cake/tests/fixtures/advertisement_fixture.php cake/tests/fixtures/after_tree_fixture.php cake/tests/fixtures/another_article_fixture.php cake/tests/fixtures/apple_fixture.php cake/tests/fixtures/aro_fixture.php cake/tests/fixtures/aro_two_fixture.php cake/tests/fixtures/aros_aco_fixture.php cake/tests/fixtures/aros_aco_two_fixture.php cake/tests/fixtures/article_featured_fixture.php cake/tests/fixtures/article_featureds_tags_fixture.php cake/tests/fixtures/article_fixture.php cake/tests/fixtures/articles_tag_fixture.php cake/tests/fixtures/attachment_fixture.php cake/tests/fixtures/auth_user_custom_field_fixture.php cake/tests/fixtures/auth_user_fixture.php cake/tests/fixtures/author_fixture.php cake/tests/fixtures/basket_fixture.php cake/tests/fixtures/bid_fixture.php cake/tests/fixtures/binary_test_fixture.php cake/tests/fixtures/book_fixture.php cake/tests/fixtures/cache_test_model_fixture.php cake/tests/fixtures/callback_fixture.php cake/tests/fixtures/campaign_fixture.php cake/tests/fixtures/category_fixture.php cake/tests/fixtures/category_thread_fixture.php cake/tests/fixtures/cd_fixture.php cake/tests/fixtures/comment_fixture.php cake/tests/fixtures/content_account_fixture.php cake/tests/fixtures/content_fixture.php cake/tests/fixtures/counter_cache_post_fixture.php cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php cake/tests/fixtures/counter_cache_user_fixture.php cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php cake/tests/fixtures/data_test_fixture.php cake/tests/fixtures/datatype_fixture.php cake/tests/fixtures/dependency_fixture.php cake/tests/fixtures/device_fixture.php cake/tests/fixtures/device_type_category_fixture.php cake/tests/fixtures/device_type_fixture.php cake/tests/fixtures/document_directory_fixture.php cake/tests/fixtures/document_fixture.php cake/tests/fixtures/exterior_type_category_fixture.php cake/tests/fixtures/feature_set_fixture.php cake/tests/fixtures/featured_fixture.php cake/tests/fixtures/film_file_fixture.php cake/tests/fixtures/flag_tree_fixture.php cake/tests/fixtures/fruit_fixture.php cake/tests/fixtures/fruits_uuid_tag_fixture.php cake/tests/fixtures/group_update_all_fixture.php cake/tests/fixtures/home_fixture.php cake/tests/fixtures/image_fixture.php cake/tests/fixtures/item_fixture.php cake/tests/fixtures/items_portfolio_fixture.php cake/tests/fixtures/join_a_b_fixture.php cake/tests/fixtures/join_a_c_fixture.php cake/tests/fixtures/join_a_fixture.php cake/tests/fixtures/join_b_fixture.php cake/tests/fixtures/join_c_fixture.php cake/tests/fixtures/join_thing_fixture.php cake/tests/fixtures/message_fixture.php cake/tests/fixtures/my_categories_my_products_fixture.php cake/tests/fixtures/my_categories_my_users_fixture.php cake/tests/fixtures/my_category_fixture.php cake/tests/fixtures/my_product_fixture.php cake/tests/fixtures/my_user_fixture.php cake/tests/fixtures/node_fixture.php cake/tests/fixtures/number_tree_fixture.php cake/tests/fixtures/number_tree_two_fixture.php cake/tests/fixtures/numeric_article_fixture.php cake/tests/fixtures/overall_favorite_fixture.php cake/tests/fixtures/person_fixture.php cake/tests/fixtures/portfolio_fixture.php cake/tests/fixtures/post_fixture.php cake/tests/fixtures/posts_tag_fixture.php cake/tests/fixtures/primary_model_fixture.php cake/tests/fixtures/product_fixture.php cake/tests/fixtures/product_update_all_fixture.php cake/tests/fixtures/project_fixture.php cake/tests/fixtures/sample_fixture.php cake/tests/fixtures/secondary_model_fixture.php cake/tests/fixtures/session_fixture.php cake/tests/fixtures/something_else_fixture.php cake/tests/fixtures/something_fixture.php cake/tests/fixtures/stories_tag_fixture.php cake/tests/fixtures/story_fixture.php cake/tests/fixtures/syfile_fixture.php cake/tests/fixtures/tag_fixture.php cake/tests/fixtures/test_plugin_article_fixture.php cake/tests/fixtures/test_plugin_comment_fixture.php cake/tests/fixtures/the_paper_monkies_fixture.php cake/tests/fixtures/thread_fixture.php cake/tests/fixtures/translate_article_fixture.php cake/tests/fixtures/translate_fixture.php cake/tests/fixtures/translate_table_fixture.php cake/tests/fixtures/translate_with_prefix_fixture.php cake/tests/fixtures/translated_article_fixture.php cake/tests/fixtures/translated_item_fixture.php cake/tests/fixtures/unconventional_tree_fixture.php cake/tests/fixtures/underscore_field_fixture.php cake/tests/fixtures/user_fixture.php cake/tests/fixtures/uuid_fixture.php cake/tests/fixtures/uuid_tag_fixture.php cake/tests/fixtures/uuid_tree_fixture.php cake/tests/fixtures/uuiditem_fixture.php cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php cake/tests/fixtures/uuidportfolio_fixture.php cake/tests/groups/acl.group.php cake/tests/groups/bake.group.php cake/tests/groups/behaviors.group.php cake/tests/groups/cache.group.php cake/tests/groups/components.group.php cake/tests/groups/configure.group.php cake/tests/groups/console.group.php cake/tests/groups/controller.group.php cake/tests/groups/database.group.php cake/tests/groups/helpers.group.php cake/tests/groups/i18n.group.php cake/tests/groups/javascript.group.php cake/tests/groups/lib.group.php cake/tests/groups/model.group.php cake/tests/groups/no_cross_contamination.group.php cake/tests/groups/routing_system.group.php cake/tests/groups/socket.group.php cake/tests/groups/test_suite.group.php cake/tests/groups/view.group.php cake/tests/groups/xml.group.php cake/tests/lib/cake_test_case.php cake/tests/lib/cake_test_fixture.php cake/tests/lib/cake_test_model.php cake/tests/lib/cake_test_suite_dispatcher.php cake/tests/lib/cake_web_test_case.php cake/tests/lib/code_coverage_manager.php cake/tests/lib/reporter/cake_base_reporter.php cake/tests/lib/reporter/cake_cli_reporter.php cake/tests/lib/reporter/cake_html_reporter.php cake/tests/lib/reporter/cake_text_reporter.php cake/tests/lib/templates/footer.php cake/tests/lib/templates/header.php cake/tests/lib/templates/menu.php cake/tests/lib/templates/simpletest.php cake/tests/lib/templates/xdebug.php cake/tests/lib/test_manager.php cake/tests/test_app/config/acl.ini.php cake/tests/test_app/controllers/components/empty cake/tests/test_app/controllers/tests_apps_controller.php cake/tests/test_app/controllers/tests_apps_posts_controller.php cake/tests/test_app/libs/cache/test_app_cache.php cake/tests/test_app/libs/library.php cake/tests/test_app/libs/log/test_app_log.php cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/default.po cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/dom1.po cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/dom2.po cake/tests/test_app/locale/ja_jp/LC_TIME cake/tests/test_app/locale/po/LC_MESSAGES/default.po cake/tests/test_app/locale/po/LC_MONETARY/default.po cake/tests/test_app/locale/po/LC_TIME cake/tests/test_app/locale/rule_0_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_0_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_0_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_0_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_10_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_10_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_10_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_10_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_11_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_11_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_11_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_11_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_12_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_12_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_12_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_12_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_13_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_13_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_13_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_13_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_14_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_14_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_14_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_14_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_1_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_1_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_1_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_1_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_2_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_2_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_2_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_2_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_3_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_3_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_3_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_3_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_4_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_4_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_4_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_4_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_5_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_5_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_5_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_5_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_6_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_6_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_6_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_6_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_7_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_7_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_7_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_7_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_8_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_8_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_8_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_8_po/LC_MESSAGES/default.po cake/tests/test_app/locale/rule_9_mo/LC_MESSAGES/core.mo cake/tests/test_app/locale/rule_9_mo/LC_MESSAGES/default.mo cake/tests/test_app/locale/rule_9_po/LC_MESSAGES/core.po cake/tests/test_app/locale/rule_9_po/LC_MESSAGES/default.po cake/tests/test_app/locale/time_test/LC_TIME cake/tests/test_app/models/behaviors/empty cake/tests/test_app/models/behaviors/persister_one_behavior.php cake/tests/test_app/models/behaviors/persister_two_behavior.php cake/tests/test_app/models/comment.php cake/tests/test_app/models/datasources/test/test_local_driver.php cake/tests/test_app/models/datasources/test2_other_source.php cake/tests/test_app/models/datasources/test2_source.php cake/tests/test_app/models/persister_one.php cake/tests/test_app/models/persister_two.php cake/tests/test_app/models/post.php cake/tests/test_app/plugins/plugin_js/webroot/js/one/plugin_one.js cake/tests/test_app/plugins/plugin_js/webroot/js/plugin_js.js cake/tests/test_app/plugins/test_plugin/config/load.php cake/tests/test_app/plugins/test_plugin/config/more.load.php cake/tests/test_app/plugins/test_plugin/config/schema/schema.php cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php cake/tests/test_app/plugins/test_plugin/controllers/test_plugin_controller.php cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php cake/tests/test_app/plugins/test_plugin/libs/cache/test_plugin_cache.php cake/tests/test_app/plugins/test_plugin/libs/log/test_plugin_log.php cake/tests/test_app/plugins/test_plugin/libs/test_plugin_library.php cake/tests/test_app/plugins/test_plugin/locale/po/LC_MESSAGES/test_plugin.po cake/tests/test_app/plugins/test_plugin/locale/po/LC_MONETARY/test_plugin.po cake/tests/test_app/plugins/test_plugin/models/behaviors/test_plugin_persister_one.php cake/tests/test_app/plugins/test_plugin/models/behaviors/test_plugin_persister_two.php cake/tests/test_app/plugins/test_plugin/models/datasources/dbo/dbo_dummy.php cake/tests/test_app/plugins/test_plugin/models/datasources/test/test_driver.php cake/tests/test_app/plugins/test_plugin/models/datasources/test_other_source.php cake/tests/test_app/plugins/test_plugin/models/datasources/test_source.php cake/tests/test_app/plugins/test_plugin/models/test_plugin_auth_user.php cake/tests/test_app/plugins/test_plugin/models/test_plugin_authors.php cake/tests/test_app/plugins/test_plugin/models/test_plugin_comment.php cake/tests/test_app/plugins/test_plugin/models/test_plugin_post.php cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php cake/tests/test_app/plugins/test_plugin/vendors/shells/tasks/empty cake/tests/test_app/plugins/test_plugin/vendors/shells/templates/empty cake/tests/test_app/plugins/test_plugin/vendors/welcome.php cake/tests/test_app/plugins/test_plugin/views/elements/plugin_element.ctp cake/tests/test_app/plugins/test_plugin/views/elements/test_plugin_element.ctp cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php cake/tests/test_app/plugins/test_plugin/views/helpers/test_plugin_app.php cake/tests/test_app/plugins/test_plugin/views/layouts/default.ctp cake/tests/test_app/plugins/test_plugin/views/tests/index.ctp cake/tests/test_app/plugins/test_plugin/views/tests/scaffold.edit.ctp cake/tests/test_app/plugins/test_plugin/webroot/css/test_plugin_asset.css cake/tests/test_app/plugins/test_plugin/webroot/css/theme_one.htc cake/tests/test_app/plugins/test_plugin/webroot/css/unknown.extension cake/tests/test_app/plugins/test_plugin/webroot/flash/plugin_test.swf cake/tests/test_app/plugins/test_plugin/webroot/img/cake.icon.gif cake/tests/test_app/plugins/test_plugin/webroot/js/test_plugin/test.js cake/tests/test_app/plugins/test_plugin/webroot/pdfs/plugin_test.pdf cake/tests/test_app/plugins/test_plugin/webroot/root.js cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php cake/tests/test_app/plugins/test_plugin_two/vendors/shells/tasks/empty cake/tests/test_app/plugins/test_plugin_two/vendors/shells/templates/empty cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php cake/tests/test_app/tmp/dir_map cake/tests/test_app/vendors/Test/MyTest.php cake/tests/test_app/vendors/Test/hello.php cake/tests/test_app/vendors/css/test_asset.css cake/tests/test_app/vendors/img/test.jpg cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php cake/tests/test_app/vendors/shells/sample.php cake/tests/test_app/vendors/shells/tasks/empty cake/tests/test_app/vendors/shells/templates/test/classes/test_object.ctp cake/tests/test_app/vendors/somename/some.name.php cake/tests/test_app/vendors/welcome.php cake/tests/test_app/views/elements/email/html/custom.ctp cake/tests/test_app/views/elements/email/html/default.ctp cake/tests/test_app/views/elements/email/html/nested_element.ctp cake/tests/test_app/views/elements/email/text/custom.ctp cake/tests/test_app/views/elements/email/text/default.ctp cake/tests/test_app/views/elements/email/text/wide.ctp cake/tests/test_app/views/elements/empty cake/tests/test_app/views/elements/html_call.ctp cake/tests/test_app/views/elements/nocache/contains_nocache.ctp cake/tests/test_app/views/elements/nocache/plain.ctp cake/tests/test_app/views/elements/nocache/sub1.ctp cake/tests/test_app/views/elements/nocache/sub2.ctp cake/tests/test_app/views/elements/session_helper.ctp cake/tests/test_app/views/elements/test_element.ctp cake/tests/test_app/views/elements/type_check.ctp cake/tests/test_app/views/errors/empty cake/tests/test_app/views/helpers/banana.php cake/tests/test_app/views/helpers/empty cake/tests/test_app/views/layouts/ajax.ctp cake/tests/test_app/views/layouts/ajax2.ctp cake/tests/test_app/views/layouts/cache_empty_sections.ctp cake/tests/test_app/views/layouts/cache_layout.ctp cake/tests/test_app/views/layouts/default.ctp cake/tests/test_app/views/layouts/email/html/default.ctp cake/tests/test_app/views/layouts/email/html/thin.ctp cake/tests/test_app/views/layouts/email/text/default.ctp cake/tests/test_app/views/layouts/flash.ctp cake/tests/test_app/views/layouts/js/default.ctp cake/tests/test_app/views/layouts/multi_cache.ctp cake/tests/test_app/views/layouts/rss/default.ctp cake/tests/test_app/views/layouts/xml/default.ctp cake/tests/test_app/views/pages/empty cake/tests/test_app/views/pages/extract.ctp cake/tests/test_app/views/pages/home.ctp cake/tests/test_app/views/posts/cache_empty_sections.ctp cake/tests/test_app/views/posts/cache_form.ctp cake/tests/test_app/views/posts/helper_overwrite.ctp cake/tests/test_app/views/posts/index.ctp cake/tests/test_app/views/posts/multiple_nocache.ctp cake/tests/test_app/views/posts/nocache_multiple_element.ctp cake/tests/test_app/views/posts/scaffold.edit.ctp cake/tests/test_app/views/posts/sequencial_nocache.ctp cake/tests/test_app/views/posts/test_nocache_tags.ctp cake/tests/test_app/views/scaffolds/empty cake/tests/test_app/views/tests_apps/index.ctp cake/tests/test_app/views/themed/test_theme/elements/test_element.ctp cake/tests/test_app/views/themed/test_theme/layouts/default.ctp cake/tests/test_app/views/themed/test_theme/plugins/test_plugin/layouts/plugin_default.ctp cake/tests/test_app/views/themed/test_theme/plugins/test_plugin/tests/index.ctp cake/tests/test_app/views/themed/test_theme/posts/index.ctp cake/tests/test_app/views/themed/test_theme/posts/scaffold.index.ctp cake/tests/test_app/views/themed/test_theme/webroot/css/test_asset.css cake/tests/test_app/views/themed/test_theme/webroot/css/theme_webroot.css cake/tests/test_app/views/themed/test_theme/webroot/flash/theme_test.swf cake/tests/test_app/views/themed/test_theme/webroot/img/cake.power.gif cake/tests/test_app/views/themed/test_theme/webroot/img/test.jpg cake/tests/test_app/views/themed/test_theme/webroot/js/one/theme_one.js cake/tests/test_app/views/themed/test_theme/webroot/js/theme.js cake/tests/test_app/views/themed/test_theme/webroot/pdfs/theme_test.pdf cake/tests/test_app/webroot/theme/test_theme/css/theme_webroot.css cake/tests/test_app/webroot/theme/test_theme/css/webroot_test.css cake/tests/test_app/webroot/theme/test_theme/img/cake.power.gif cake/tests/test_app/webroot/theme/test_theme/img/test.jpg index.php plugins/empty vendors/shells/tasks/empty vendors/shells/templates/empty
diffstat 698 files changed, 196249 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.htaccess	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,5 @@
+<IfModule mod_rewrite.c>
+   RewriteEngine on
+   RewriteRule    ^$ app/webroot/    [L]
+   RewriteRule    (.*) app/webroot/$1 [L]
+</IfModule>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,28 @@
+CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Active Record, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.
+
+The Cake Software Foundation - promoting development related to CakePHP
+http://cakefoundation.org/
+
+CakePHP - the rapid development PHP framework
+http://www.cakephp.org
+
+Cookbook - user documentation for learning about CakePHP
+http://book.cakephp.org
+
+API - quick reference to CakePHP
+http://api.cakephp.org
+
+The Bakery - everything CakePHP
+http://bakery.cakephp.org
+
+The Show - live and archived podcasts about CakePHP and more
+http://live.cakephp.org
+
+CakePHP TV - screen casts from events and video tutorials
+http://tv.cakephp.org
+
+CakePHP Google Group - community mailing list and forum
+http://groups.google.com/group/cake-php
+
+#cakephp on irc.freenode.net - chat with CakePHP developers
+irc://irc.freenode.net/cakephp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/.htaccess	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,5 @@
+<IfModule mod_rewrite.c>
+    RewriteEngine on
+    RewriteRule    ^$    webroot/    [L]
+    RewriteRule    (.*) webroot/$1    [L]
+ </IfModule>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/acl.ini.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,70 @@
+;<?php die() ?>
+; SVN FILE: $Id$
+;/**
+; * ACL configuration
+; *
+; *
+; * PHP versions 4 and 5
+; *
+; * CakePHP(tm) :  Rapid Development Framework http://cakephp.org
+; * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+; *
+; *  Licensed under The MIT License
+; *  Redistributions of files must retain the above copyright notice.
+; *
+; * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+; * @link          http://cakephp.org CakePHP(tm) Project
+; * @package       cake
+; * @subpackage    cake.app.config
+; * @since         CakePHP(tm) v 0.10.0.1076
+; * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+; */
+
+; acl.ini.php - Cake ACL Configuration
+; ---------------------------------------------------------------------
+; Use this file to specify user permissions.
+; aco = access control object (something in your application)
+; aro = access request object (something requesting access)
+;
+; User records are added as follows:
+;
+; [uid]
+; groups = group1, group2, group3
+; allow = aco1, aco2, aco3
+; deny = aco4, aco5, aco6
+;
+; Group records are added in a similar manner:
+;
+; [gid]
+; allow = aco1, aco2, aco3
+; deny = aco4, aco5, aco6
+;
+; The allow, deny, and groups sections are all optional.
+; NOTE: groups names *cannot* ever be the same as usernames!
+;
+; ACL permissions are checked in the following order:
+; 1. Check for user denies (and DENY if specified)
+; 2. Check for user allows (and ALLOW if specified)
+; 3. Gather user's groups
+; 4. Check group denies (and DENY if specified)
+; 5. Check group allows (and ALLOW if specified)
+; 6. If no aro, aco, or group information is found, DENY
+;
+; ---------------------------------------------------------------------
+
+;-------------------------------------
+;Users
+;-------------------------------------
+
+[username-goes-here]
+groups = group1, group2
+deny = aco1, aco2
+allow = aco3, aco4
+
+;-------------------------------------
+;Groups
+;-------------------------------------
+
+[groupname-goes-here]
+deny = aco5, aco6
+allow = aco7, aco8
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/bootstrap.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,74 @@
+<?php
+/**
+ * This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php
+ *
+ * This is an application wide file to load any function that is not used within a class
+ * define. You can also use this to include or require any files in your application.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config
+ * @since         CakePHP(tm) v 0.10.8.2117
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The settings below can be used to set additional paths to models, views and controllers.
+ * This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
+ *
+ * App::build(array(
+ *     'plugins' => array('/full/path/to/plugins/', '/next/full/path/to/plugins/'),
+ *     'models' =>  array('/full/path/to/models/', '/next/full/path/to/models/'),
+ *     'views' => array('/full/path/to/views/', '/next/full/path/to/views/'),
+ *     'controllers' => array('/full/path/to/controllers/', '/next/full/path/to/controllers/'),
+ *     'datasources' => array('/full/path/to/datasources/', '/next/full/path/to/datasources/'),
+ *     'behaviors' => array('/full/path/to/behaviors/', '/next/full/path/to/behaviors/'),
+ *     'components' => array('/full/path/to/components/', '/next/full/path/to/components/'),
+ *     'helpers' => array('/full/path/to/helpers/', '/next/full/path/to/helpers/'),
+ *     'vendors' => array('/full/path/to/vendors/', '/next/full/path/to/vendors/'),
+ *     'shells' => array('/full/path/to/shells/', '/next/full/path/to/shells/'),
+ *     'locales' => array('/full/path/to/locale/', '/next/full/path/to/locale/')
+ * ));
+ *
+ */
+
+/**
+ * As of 1.3, additional rules for the inflector are added below
+ *
+ * Inflector::rules('singular', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
+ * Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
+ *
+ */
+
+class WebVirtUtil
+{
+	static $wvirt_config = array(
+		"APP_NAME" => "WebVirt",
+		"APP_VERSION" => "11.0722",
+		"APP_VIRTURI" => "qemu:///system"
+	);
+
+	static $node_actions = array(
+		"create","network","storage",
+	);
+
+	static $domain_actions = array(
+		"vncviewer","shutdown","start",
+	);
+
+	public static function GetConnection()
+	{
+		$url = self::$wvirt_config["APP_VIRTURI"];
+		$ret = libvirt_connect($url,false);
+		return $ret;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/core.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,304 @@
+<?php
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behavior of Cake.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * CakePHP Debug Level:
+ *
+ * Production Mode:
+ * 	0: No error messages, errors, or warnings shown. Flash messages redirect.
+ *
+ * Development Mode:
+ * 	1: Errors and warnings shown, model caches refreshed, flash messages halted.
+ * 	2: As in 1, but also with full debug messages and SQL output.
+ *
+ * In production mode, flash messages redirect after a time interval.
+ * In development mode, you need to click the flash message to continue.
+ */
+	Configure::write('debug', 2);
+
+/**
+ * CakePHP Log Level:
+ *
+ * In case of Production Mode CakePHP gives you the possibility to continue logging errors.
+ *
+ * The following parameters can be used:
+ *  Boolean: Set true/false to activate/deactivate logging
+ *    Configure::write('log', true);
+ *
+ *  Integer: Use built-in PHP constants to set the error level (see error_reporting)
+ *    Configure::write('log', E_ERROR | E_WARNING);
+ *    Configure::write('log', E_ALL ^ E_NOTICE);
+ */
+	Configure::write('log', true);
+
+/**
+ * Application wide charset encoding
+ */
+	Configure::write('App.encoding', 'UTF-8');
+
+/**
+ * To configure CakePHP *not* to use mod_rewrite and to
+ * use CakePHP pretty URLs, remove these .htaccess
+ * files:
+ *
+ * /.htaccess
+ * /app/.htaccess
+ * /app/webroot/.htaccess
+ *
+ * And uncomment the App.baseUrl below:
+ */
+	//Configure::write('App.baseUrl', env('SCRIPT_NAME'));
+
+/**
+ * Uncomment the define below to use CakePHP prefix routes.
+ *
+ * The value of the define determines the names of the routes
+ * and their associated controller actions:
+ *
+ * Set to an array of prefixes you want to use in your application. Use for
+ * admin or other prefixed routes.
+ *
+ * 	Routing.prefixes = array('admin', 'manager');
+ *
+ * Enables:
+ *	`admin_index()` and `/admin/controller/index`
+ *	`manager_index()` and `/manager/controller/index`
+ *
+ * [Note Routing.admin is deprecated in 1.3.  Use Routing.prefixes instead]
+ */
+	//Configure::write('Routing.prefixes', array('admin'));
+
+/**
+ * Turn off all caching application-wide.
+ *
+ */
+	//Configure::write('Cache.disable', true);
+
+/**
+ * Enable cache checking.
+ *
+ * If set to true, for view caching you must still use the controller
+ * var $cacheAction inside your controllers to define caching settings.
+ * You can either set it controller-wide by setting var $cacheAction = true,
+ * or in each action using $this->cacheAction = true.
+ *
+ */
+	//Configure::write('Cache.check', true);
+
+/**
+ * Defines the default error type when using the log() function. Used for
+ * differentiating error logging and debugging. Currently PHP supports LOG_DEBUG.
+ */
+	define('LOG_ERROR', 2);
+
+/**
+ * The preferred session handling method. Valid values:
+ *
+ * 'php'	 		Uses settings defined in your php.ini.
+ * 'cake'		Saves session files in CakePHP's /tmp directory.
+ * 'database'	Uses CakePHP's database sessions.
+ *
+ * To define a custom session handler, save it at /app/config/<name>.php.
+ * Set the value of 'Session.save' to <name> to utilize it in CakePHP.
+ *
+ * To use database sessions, run the app/config/schema/sessions.php schema using
+ * the cake shell command: cake schema create Sessions
+ *
+ */
+	Configure::write('Session.save', 'php');
+
+/**
+ * The model name to be used for the session model.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ *
+ * The model name set here should *not* be used elsewhere in your application.
+ */
+	//Configure::write('Session.model', 'Session');
+
+/**
+ * The name of the table used to store CakePHP database sessions.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ *
+ * The table name set here should *not* include any table prefix defined elsewhere.
+ *
+ * Please note that if you set a value for Session.model (above), any value set for
+ * Session.table will be ignored.
+ *
+ * [Note: Session.table is deprecated as of CakePHP 1.3]
+ */
+	//Configure::write('Session.table', 'cake_sessions');
+
+/**
+ * The DATABASE_CONFIG::$var to use for database session handling.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ */
+	//Configure::write('Session.database', 'default');
+
+/**
+ * The name of CakePHP's session cookie.
+ *
+ * Note the guidelines for Session names states: "The session name references
+ * the session id in cookies and URLs. It should contain only alphanumeric
+ * characters."
+ * @link http://php.net/session_name
+ */
+	Configure::write('Session.cookie', 'CAKEPHP');
+
+/**
+ * Session time out time (in seconds).
+ * Actual value depends on 'Security.level' setting.
+ */
+	Configure::write('Session.timeout', '120');
+
+/**
+ * If set to false, sessions are not automatically started.
+ */
+	Configure::write('Session.start', true);
+
+/**
+ * When set to false, HTTP_USER_AGENT will not be checked
+ * in the session. You might want to set the value to false, when dealing with
+ * older versions of IE, Chrome Frame or certain web-browsing devices and AJAX
+ */
+	Configure::write('Session.checkAgent', true);
+
+/**
+ * The level of CakePHP security. The session timeout time defined
+ * in 'Session.timeout' is multiplied according to the settings here.
+ * Valid values:
+ *
+ * 'high'   Session timeout in 'Session.timeout' x 10
+ * 'medium' Session timeout in 'Session.timeout' x 100
+ * 'low'    Session timeout in 'Session.timeout' x 300
+ *
+ * CakePHP session IDs are also regenerated between requests if
+ * 'Security.level' is set to 'high'.
+ */
+	Configure::write('Security.level', 'medium');
+
+/**
+ * A random string used in security hashing methods.
+ */
+	Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
+
+/**
+ * A random numeric string (digits only) used to encrypt/decrypt strings.
+ */
+	Configure::write('Security.cipherSeed', '76859309657453542496749683645');
+
+/**
+ * Apply timestamps with the last modified time to static assets (js, css, images).
+ * Will append a querystring parameter containing the time the file was modified. This is
+ * useful for invalidating browser caches.
+ *
+ * Set to `true` to apply timestamps, when debug = 0, or set to 'force' to always enable
+ * timestamping.
+ */
+	//Configure::write('Asset.timestamp', true);
+/**
+ * Compress CSS output by removing comments, whitespace, repeating tags, etc.
+ * This requires a/var/cache directory to be writable by the web server for caching.
+ * and /vendors/csspp/csspp.php
+ *
+ * To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use HtmlHelper::css().
+ */
+	//Configure::write('Asset.filter.css', 'css.php');
+
+/**
+ * Plug in your own custom JavaScript compressor by dropping a script in your webroot to handle the
+ * output, and setting the config below to the name of the script.
+ *
+ * To use, prefix your JavaScript link URLs with '/cjs/' instead of '/js/' or use JavaScriptHelper::link().
+ */
+	//Configure::write('Asset.filter.js', 'custom_javascript_output_filter.php');
+
+/**
+ * The classname and database used in CakePHP's
+ * access control lists.
+ */
+	Configure::write('Acl.classname', 'DbAcl');
+	Configure::write('Acl.database', 'default');
+
+/**
+ * If you are on PHP 5.3 uncomment this line and correct your server timezone
+ * to fix the date & time related errors.
+ */
+	//date_default_timezone_set('UTC');
+
+/**
+ *
+ * Cache Engine Configuration
+ * Default settings provided below
+ *
+ * File storage engine.
+ *
+ * 	 Cache::config('default', array(
+ *		'engine' => 'File', //[required]
+ *		'duration'=> 3600, //[optional]
+ *		'probability'=> 100, //[optional]
+ * 		'path' => CACHE, //[optional] use system tmp directory - remember to use absolute path
+ * 		'prefix' => 'cake_', //[optional]  prefix every cache file with this string
+ * 		'lock' => false, //[optional]  use file locking
+ * 		'serialize' => true, [optional]
+ *	));
+ *
+ *
+ * APC (http://pecl.php.net/package/APC)
+ *
+ * 	 Cache::config('default', array(
+ *		'engine' => 'Apc', //[required]
+ *		'duration'=> 3600, //[optional]
+ *		'probability'=> 100, //[optional]
+ * 		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
+ *	));
+ *
+ * Xcache (http://xcache.lighttpd.net/)
+ *
+ * 	 Cache::config('default', array(
+ *		'engine' => 'Xcache', //[required]
+ *		'duration'=> 3600, //[optional]
+ *		'probability'=> 100, //[optional]
+ * 		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
+ *		'user' => 'user', //user from xcache.admin.user settings
+ *      'password' => 'password', //plaintext password (xcache.admin.pass)
+ *	));
+ *
+ *
+ * Memcache (http://www.danga.com/memcached/)
+ *
+ * 	 Cache::config('default', array(
+ *		'engine' => 'Memcache', //[required]
+ *		'duration'=> 3600, //[optional]
+ *		'probability'=> 100, //[optional]
+ * 		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
+ * 		'servers' => array(
+ * 			'127.0.0.1:11211' // localhost, default port 11211
+ * 		), //[optional]
+ * 		'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory)
+ * 		'persistent' => true, // [optional] set this to false for non-persistent connections
+ *	));
+ *
+ */
+	Cache::config('default', array('engine' => 'File'));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/database.php.default	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,95 @@
+<?php
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behaviour ofCake.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/**
+ * In this file you set up your database connection details.
+ *
+ * @package       cake
+ * @subpackage    cake.config
+ */
+/**
+ * Database configuration class.
+ * You can specify multiple configurations for production, development and testing.
+ *
+ * driver => The name of a supported driver; valid options are as follows:
+ *		mysql 		- MySQL 4 & 5,
+ *		mysqli 		- MySQL 4 & 5 Improved Interface (PHP5 only),
+ *		sqlite		- SQLite (PHP5 only),
+ *		postgres	- PostgreSQL 7 and higher,
+ *		mssql		- Microsoft SQL Server 2000 and higher,
+ *		db2			- IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
+ *		oracle		- Oracle 8 and higher
+ *		firebird	- Firebird/Interbase
+ *		sybase		- Sybase ASE
+ *		adodb-[drivername]	- ADOdb interface wrapper (see below),
+ *		odbc		- ODBC DBO driver
+ *
+ * You can add custom database drivers (or override existing drivers) by adding the
+ * appropriate file to app/models/datasources/dbo.  Drivers should be named 'dbo_x.php',
+ * where 'x' is the name of the database.
+ *
+ * persistent => true / false
+ * Determines whether or not the database should use a persistent connection
+ *
+ * connect =>
+ * ADOdb set the connect to one of these
+ *	(http://phplens.com/adodb/supported.databases.html) and
+ *	append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
+ * For all other databases, this setting is deprecated.
+ *
+ * host =>
+ * the host you connect to the database.  To add a socket or port number, use 'port' => #
+ *
+ * prefix =>
+ * Uses the given prefix for all the tables in this database.  This setting can be overridden
+ * on a per-table basis with the Model::$tablePrefix property.
+ *
+ * schema =>
+ * For Postgres and DB2, specifies which schema you would like to use the tables in. Postgres defaults to
+ * 'public', DB2 defaults to empty.
+ *
+ * encoding =>
+ * For MySQL, MySQLi, Postgres and DB2, specifies the character encoding to use when connecting to the
+ * database.  Uses database default.
+ *
+ */
+class DATABASE_CONFIG {
+
+	var $default = array(
+		'driver' => 'mysql',
+		'persistent' => false,
+		'host' => 'localhost',
+		'login' => 'user',
+		'password' => 'password',
+		'database' => 'database_name',
+		'prefix' => '',
+	);
+
+	var $test = array(
+		'driver' => 'mysql',
+		'persistent' => false,
+		'host' => 'localhost',
+		'login' => 'user',
+		'password' => 'password',
+		'database' => 'test_database_name',
+		'prefix' => '',
+	);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/routes.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Routes configuration
+ *
+ * In this file, you set up routes to your controllers and their actions.
+ * Routes are very important mechanism that allows you to freely connect
+ * different urls to chosen controllers and their actions (functions).
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/**
+ * Here, we are connecting '/' (base path) to controller called 'Pages',
+ * its action called 'display', and we pass a param to select the view file
+ * to use (in this case, /app/views/pages/home.ctp)...
+ */
+	Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
+/**
+ * ...and connect the rest of 'Pages' controller's urls.
+ */
+	Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/schema/db_acl.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,73 @@
+<?php
+/*DbAcl schema generated on: 2007-11-24 15:11:13 : 1195945453*/
+/**
+ * This is Acl Schema file
+ *
+ * Use it to configure database for ACL
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config.sql
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create DbAcl
+ *
+ */
+class DbAclSchema extends CakeSchema {
+
+	var $name = 'DbAcl';
+
+	function before($event = array()) {
+		return true;
+	}
+
+	function after($event = array()) {
+	}
+
+	var $acos = array(
+			'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+			'parent_id' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'model' => array('type'=>'string', 'null' => true),
+			'foreign_key' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'alias' => array('type'=>'string', 'null' => true),
+			'lft' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'rght' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+		);
+
+	var $aros = array(
+			'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+			'parent_id' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'model' => array('type'=>'string', 'null' => true),
+			'foreign_key' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'alias' => array('type'=>'string', 'null' => true),
+			'lft' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'rght' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+			'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+		);
+
+	var $aros_acos = array(
+			'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+			'aro_id' => array('type'=>'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
+			'aco_id' => array('type'=>'integer', 'null' => false, 'length' => 10),
+			'_create' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+			'_read' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+			'_update' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+			'_delete' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+			'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'ARO_ACO_KEY' => array('column' => array('aro_id', 'aco_id'), 'unique' => 1))
+		);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/schema/i18n.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,50 @@
+<?php
+/*i18n schema generated on: 2007-11-25 07:11:25 : 1196004805*/
+/**
+ * This is i18n Schema file
+ *
+ * Use it to configure database for i18n
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config.sql
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create i18n
+ *
+ */
+class i18nSchema extends CakeSchema {
+
+	var $name = 'i18n';
+
+	function before($event = array()) {
+		return true;
+	}
+
+	function after($event = array()) {
+	}
+
+	var $i18n = array(
+			'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+			'locale' => array('type'=>'string', 'null' => false, 'length' => 6, 'key' => 'index'),
+			'model' => array('type'=>'string', 'null' => false, 'key' => 'index'),
+			'foreign_key' => array('type'=>'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
+			'field' => array('type'=>'string', 'null' => false, 'key' => 'index'),
+			'content' => array('type'=>'text', 'null' => true, 'default' => NULL),
+			'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'locale' => array('column' => 'locale', 'unique' => 0), 'model' => array('column' => 'model', 'unique' => 0), 'row_id' => array('column' => 'foreign_key', 'unique' => 0), 'field' => array('column' => 'field', 'unique' => 0))
+		);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/config/schema/sessions.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,47 @@
+<?php
+/*Sessions schema generated on: 2007-11-25 07:11:54 : 1196004714*/
+/**
+ * This is Sessions Schema file
+ *
+ * Use it to configure database for Sessions
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config.sql
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create Sessions
+ *
+ */
+class SessionsSchema extends CakeSchema {
+
+	var $name = 'Sessions';
+
+	function before($event = array()) {
+		return true;
+	}
+
+	function after($event = array()) {
+	}
+
+	var $cake_sessions = array(
+			'id' => array('type'=>'string', 'null' => false, 'key' => 'primary'),
+			'data' => array('type'=>'text', 'null' => true, 'default' => NULL),
+			'expires' => array('type'=>'integer', 'null' => true, 'default' => NULL),
+			'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+		);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/controllers/pages_controller.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,44 @@
+<?php
+
+class PagesController extends AppController
+{
+	public $name = "Pages";
+	public $uses = null;
+	public $autoRender = true;
+
+	public function display()
+	{
+		$con = WebVirtUtil::GetConnection();
+		if($con == false){
+			trigger_error(libvirt_get_last_error($con));
+			die();
+		}
+
+		$this->set("title_for_laytout",WebVirtUtil::$wvirt_config["APP_NAME"]." - ".WebVirtUtil::$wvirt_config["APP_VERSION"]);
+
+		$hostname = libvirt_get_hostname($con);
+		$this->set("hostname",$hostname);
+		$nodeinfo = libvirt_node_get_info($con);
+		$this->set("nodeinfo",$nodeinfo);
+		$this->set("actions",WebVirtUtil::$node_actions);
+
+		$domains = libvirt_list_domains($con);
+
+		$vmlist = array();
+		foreach($domains as $dom){
+			$name = libvirt_domain_get_name($dom);
+			$info = libvirt_domain_get_info($dom);
+			$actions = array();
+			array_push($vmlist,array("name" => $name,
+				"memory" => $info["memory"],
+				"nrVirtCpu" => $info["nrVirtCpu"],
+				"actions" => WebVirtUtil::$domain_actions,
+				"uuid" => libvirt_domain_get_uuid_string($dom),
+			));
+		}
+
+		$this->set("domains",$vmlist);
+	}
+}
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/controllers/shutdown_controller.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,36 @@
+<?php
+
+class ShutdownController extends AppController
+{
+	public $uses = null;
+	public $name ="Shutdown";
+	public $autoRender = true;
+
+	public function exec()
+	{
+		if(!isset($this->params["url"]["uuid"])){
+			$this->set("content","domain uuid is required");
+			return;
+		}
+
+		$uuid = $this->params["url"]["uuid"];
+		$con = WebVirtUtil::GetConnection();
+		$dom = libvirt_domain_lookup_by_uuid_string($con,$uuid);
+		if($dom === FALSE){
+			$this->set("content",libvirt_get_last_error($con));
+			return;
+		}
+
+		$ret = libvirt_domain_shutdown($dom);
+		if($ret){
+			$dom_name = libvirt_domain_get_name($dom);
+			$content = "sending shutdown request to ".$dom_name; 
+
+			$this->set("content",$content);
+		}else{
+			$this->set("content",libvirt_get_last_error($con));
+		}
+	}
+}
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/controllers/vncviewer_controller.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,48 @@
+<?php
+
+class VncviewerController extends AppController
+{
+	public $uses = null;
+	public $name = "Vncviewer";
+
+	public static $ERROR_TABLE = array(
+				0 => "uuid is required to process this action",
+				1 => "vnc is not supported.",
+			);
+
+	public function exec()
+	{
+		if(!isset($this->params['url']['uuid'])){
+			$this->redirect(array("action" => "error","?" => array("e" => 0)),200,true);
+		}
+
+		$con = WebVirtUtil::GetConnection();
+		$dom = libvirt_domain_lookup_by_uuid_string($con,$this->params['url']['uuid']);
+		$xml = simplexml_load_string(libvirt_domain_get_xml_desc($dom));
+
+		$port = -1;
+		foreach($xml->devices->graphics as $graphic){
+			$attributes = $graphic->attributes();
+			if(strcmp($attributes->type,"vnc") == 0 && strcmp($attributes->listen,"127.0.0.1") != 0){
+				$port = (int)$attributes->port;
+			}
+		}
+
+		if($port != -1){
+			$hostname = $_SERVER["SERVER_NAME"];
+			$this->set("hostname",$hostname);
+			$this->set("port",$port);
+		}else{
+			$this->redirect(array("action" => "error","?" => array("e" => 1)),200,true);
+		}
+	}
+
+	public function error()
+	{
+		if(isset($this->params["url"]["e"])){
+			$e = (int)$this->params["url"]["e"];
+			trigger_error(self::$ERROR_TABLE[$e]);
+		}
+	}
+}
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/index.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,18 @@
+<?php
+/**
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app
+ * @since         CakePHP(tm) v 0.10.0.1076
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/cache/persistent/cake_core_default_ja	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,2 @@
+1311508879
+a:1:{s:11:"LC_MESSAGES";a:0:{}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/cache/persistent/cake_core_dir_map	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,2 @@
+1311508879
+a:7:{s:31:"/var/www/html/webvirt/cake/libs";a:25:{i:0;s:31:"/var/www/html/webvirt/cake/libs";i:1;s:37:"/var/www/html/webvirt/cake/libs/cache";i:2;s:42:"/var/www/html/webvirt/cake/libs/controller";i:3;s:53:"/var/www/html/webvirt/cake/libs/controller/components";i:4;s:35:"/var/www/html/webvirt/cake/libs/log";i:5;s:37:"/var/www/html/webvirt/cake/libs/model";i:6;s:47:"/var/www/html/webvirt/cake/libs/model/behaviors";i:7;s:49:"/var/www/html/webvirt/cake/libs/model/datasources";i:8;s:53:"/var/www/html/webvirt/cake/libs/model/datasources/dbo";i:9;s:36:"/var/www/html/webvirt/cake/libs/view";i:10;s:45:"/var/www/html/webvirt/cake/libs/view/elements";i:11;s:51:"/var/www/html/webvirt/cake/libs/view/elements/email";i:12;s:56:"/var/www/html/webvirt/cake/libs/view/elements/email/html";i:13;s:56:"/var/www/html/webvirt/cake/libs/view/elements/email/text";i:14;s:43:"/var/www/html/webvirt/cake/libs/view/errors";i:15;s:44:"/var/www/html/webvirt/cake/libs/view/helpers";i:16;s:44:"/var/www/html/webvirt/cake/libs/view/layouts";i:17;s:50:"/var/www/html/webvirt/cake/libs/view/layouts/email";i:18;s:55:"/var/www/html/webvirt/cake/libs/view/layouts/email/html";i:19;s:55:"/var/www/html/webvirt/cake/libs/view/layouts/email/text";i:20;s:47:"/var/www/html/webvirt/cake/libs/view/layouts/js";i:21;s:48:"/var/www/html/webvirt/cake/libs/view/layouts/rss";i:22;s:48:"/var/www/html/webvirt/cake/libs/view/layouts/xml";i:23;s:42:"/var/www/html/webvirt/cake/libs/view/pages";i:24;s:46:"/var/www/html/webvirt/cake/libs/view/scaffolds";}s:37:"/var/www/html/webvirt/app/controllers";a:2:{i:0;s:37:"/var/www/html/webvirt/app/controllers";i:1;s:48:"/var/www/html/webvirt/app/controllers/components";}s:31:"/var/www/html/webvirt/app/views";a:18:{i:0;s:31:"/var/www/html/webvirt/app/views";i:1;s:40:"/var/www/html/webvirt/app/views/elements";i:2;s:46:"/var/www/html/webvirt/app/views/elements/email";i:3;s:51:"/var/www/html/webvirt/app/views/elements/email/html";i:4;s:51:"/var/www/html/webvirt/app/views/elements/email/text";i:5;s:38:"/var/www/html/webvirt/app/views/errors";i:6;s:39:"/var/www/html/webvirt/app/views/helpers";i:7;s:39:"/var/www/html/webvirt/app/views/layouts";i:8;s:45:"/var/www/html/webvirt/app/views/layouts/email";i:9;s:50:"/var/www/html/webvirt/app/views/layouts/email/html";i:10;s:50:"/var/www/html/webvirt/app/views/layouts/email/text";i:11;s:42:"/var/www/html/webvirt/app/views/layouts/js";i:12;s:43:"/var/www/html/webvirt/app/views/layouts/rss";i:13;s:43:"/var/www/html/webvirt/app/views/layouts/xml";i:14;s:37:"/var/www/html/webvirt/app/views/pages";i:15;s:41:"/var/www/html/webvirt/app/views/scaffolds";i:16;s:40:"/var/www/html/webvirt/app/views/shutdown";i:17;s:41:"/var/www/html/webvirt/app/views/vncviewer";}s:36:"/var/www/html/webvirt/cake/libs/view";a:16:{i:0;s:36:"/var/www/html/webvirt/cake/libs/view";i:1;s:45:"/var/www/html/webvirt/cake/libs/view/elements";i:2;s:51:"/var/www/html/webvirt/cake/libs/view/elements/email";i:3;s:56:"/var/www/html/webvirt/cake/libs/view/elements/email/html";i:4;s:56:"/var/www/html/webvirt/cake/libs/view/elements/email/text";i:5;s:43:"/var/www/html/webvirt/cake/libs/view/errors";i:6;s:44:"/var/www/html/webvirt/cake/libs/view/helpers";i:7;s:44:"/var/www/html/webvirt/cake/libs/view/layouts";i:8;s:50:"/var/www/html/webvirt/cake/libs/view/layouts/email";i:9;s:55:"/var/www/html/webvirt/cake/libs/view/layouts/email/html";i:10;s:55:"/var/www/html/webvirt/cake/libs/view/layouts/email/text";i:11;s:47:"/var/www/html/webvirt/cake/libs/view/layouts/js";i:12;s:48:"/var/www/html/webvirt/cake/libs/view/layouts/rss";i:13;s:48:"/var/www/html/webvirt/cake/libs/view/layouts/xml";i:14;s:42:"/var/www/html/webvirt/cake/libs/view/pages";i:15;s:46:"/var/www/html/webvirt/cake/libs/view/scaffolds";}s:48:"/var/www/html/webvirt/app/controllers/components";a:1:{i:0;s:48:"/var/www/html/webvirt/app/controllers/components";}s:53:"/var/www/html/webvirt/cake/libs/controller/components";a:1:{i:0;s:53:"/var/www/html/webvirt/cake/libs/controller/components";}s:39:"/var/www/html/webvirt/app/views/helpers";a:1:{i:0;s:39:"/var/www/html/webvirt/app/views/helpers";}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/cache/persistent/cake_core_file_map	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,2 @@
+1311508879
+a:5:{s:4:"Core";a:7:{s:6:"Router";s:42:"/var/www/html/webvirt/cake/libs/router.php";s:13:"ClassRegistry";s:50:"/var/www/html/webvirt/cake/libs/class_registry.php";s:12:"Overloadable";s:48:"/var/www/html/webvirt/cake/libs/overloadable.php";s:8:"Security";s:44:"/var/www/html/webvirt/cake/libs/security.php";s:4:"l10n";s:40:"/var/www/html/webvirt/cake/libs/l10n.php";s:9:"Multibyte";s:45:"/var/www/html/webvirt/cake/libs/multibyte.php";s:4:"i18n";s:40:"/var/www/html/webvirt/cake/libs/i18n.php";}s:10:"Controller";a:4:{s:9:"Component";s:56:"/var/www/html/webvirt/cake/libs/controller/component.php";s:10:"Controller";s:57:"/var/www/html/webvirt/cake/libs/controller/controller.php";s:13:"AppController";s:61:"/var/www/html/webvirt/cake/libs/controller/app_controller.php";s:15:"PagesController";s:58:"/var/www/html/webvirt/app/controllers/pages_controller.php";}s:4:"View";a:2:{s:6:"Helper";s:47:"/var/www/html/webvirt/cake/libs/view/helper.php";s:4:"View";s:45:"/var/www/html/webvirt/cake/libs/view/view.php";}s:9:"Component";a:1:{s:16:"SessionComponent";s:65:"/var/www/html/webvirt/cake/libs/controller/components/session.php";}s:6:"Helper";a:4:{s:9:"AppHelper";s:59:"/var/www/html/webvirt/cake/libs/view/helpers/app_helper.php";s:13:"SessionHelper";s:56:"/var/www/html/webvirt/cake/libs/view/helpers/session.php";s:10:"HtmlHelper";s:53:"/var/www/html/webvirt/cake/libs/view/helpers/html.php";s:10:"FormHelper";s:53:"/var/www/html/webvirt/cake/libs/view/helpers/form.php";}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/cache/persistent/cake_core_object_map	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,2 @@
+1311508879
+a:1:{s:6:"plugin";a:0:{}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/logs/debug.log	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,60 @@
+2011-07-23 09:43:22 Notice: Notice (8): Use of undefined constant APP_NAME - assumed 'APP_NAME' in [/var/www/html/webvirt/app/config/bootstrap.php, line 54]
+2011-07-23 09:43:22 Notice: Notice (8): Use of undefined constant APP_VERSION - assumed 'APP_VERSION' in [/var/www/html/webvirt/app/config/bootstrap.php, line 55]
+2011-07-23 09:43:22 Notice: Notice (8): Use of undefined constant APP_VIRTURI - assumed 'APP_VIRTURI' in [/var/www/html/webvirt/app/config/bootstrap.php, line 56]
+2011-07-23 09:44:18 Notice: Notice (8): Use of undefined constant APP_VIRTURI - assumed 'APP_VIRTURI' in [/var/www/html/webvirt/app/config/bootstrap.php, line 56]
+2011-07-23 09:44:30 Notice: Notice (8): Use of undefined constant APP_VIRTURI - assumed 'APP_VIRTURI' in [/var/www/html/webvirt/app/config/bootstrap.php, line 56]
+2011-07-23 10:50:23 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/pages/home.ctp, line 1]
+2011-07-23 10:52:03 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/pages/home.ctp, line 1]
+2011-07-23 10:55:45 Notice: Notice (8): Undefined variable: wvirt_config in [/var/www/html/webvirt/app/config/bootstrap.php, line 64]
+2011-07-23 10:57:27 Notice: Notice (8): Undefined variable: wvirt_config in [/var/www/html/webvirt/app/config/bootstrap.php, line 64]
+2011-07-23 11:16:41 Notice: Notice (8): Undefined variable: domains in [/var/www/html/webvirt/app/views/pages/display.ctp, line 3]
+2011-07-23 11:26:08 Notice: Notice (8): Trying to get property of non-object in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 25]
+2011-07-23 11:26:08 Notice: Notice (8): Undefined variable: domains in [/var/www/html/webvirt/app/views/pages/display.ctp, line 2]
+2011-07-23 11:26:32 Notice: Notice (8): Trying to get property of non-object in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 25]
+2011-07-23 11:27:32 Notice: Notice (8): Trying to get property of non-object in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 25]
+2011-07-24 00:37:00 Notice: Notice (8): Undefined index: actions in [/var/www/html/webvirt/app/views/pages/display.ctp, line 25]
+2011-07-24 01:13:28 Notice: Notice (8): Undefined variable: wvirt_config in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 15]
+2011-07-24 02:05:23 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 02:05:23 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/index.ctp, line 2]
+2011-07-24 02:05:23 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/index.ctp, line 3]
+2011-07-24 02:05:49 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 21]
+2011-07-24 02:06:38 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 21]
+2011-07-24 02:12:10 Notice: Notice (8): Undefined variable: graphics in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 21]
+2011-07-24 02:12:32 Notice: Notice (1024): vnc is not supported. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 32]
+2011-07-24 14:12:50 Notice: Notice (1024): vnc is not supported. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 38]
+2011-07-24 14:16:09 Notice: Notice (8): Undefined property: View::$gaaa in [/var/www/html/webvirt/app/views/pages/display.ctp, line 36]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/pages/display.ctp, line 1]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 9]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 10]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 11]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: actions in [/var/www/html/webvirt/app/views/pages/display.ctp, line 19]
+2011-07-24 14:27:09 Notice: Notice (8): Undefined variable: domains in [/var/www/html/webvirt/app/views/pages/display.ctp, line 24]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/pages/display.ctp, line 1]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 9]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 10]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: nodeinfo in [/var/www/html/webvirt/app/views/pages/display.ctp, line 11]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: actions in [/var/www/html/webvirt/app/views/pages/display.ctp, line 19]
+2011-07-24 14:27:30 Notice: Notice (8): Undefined variable: domains in [/var/www/html/webvirt/app/views/pages/display.ctp, line 24]
+2011-07-24 15:06:57 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:09:27 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:09:27 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 2]
+2011-07-24 15:09:27 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 3]
+2011-07-24 15:28:04 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:28:04 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 2]
+2011-07-24 15:28:04 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 3]
+2011-07-24 15:30:35 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:30:35 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 2]
+2011-07-24 15:30:35 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 3]
+2011-07-24 15:31:26 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:31:26 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 2]
+2011-07-24 15:31:26 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 3]
+2011-07-24 15:31:38 Notice: Notice (1024): domid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:31:38 Notice: Notice (8): Undefined variable: hostname in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 2]
+2011-07-24 15:31:38 Notice: Notice (8): Undefined variable: port in [/var/www/html/webvirt/app/views/vncviewer/exec.ctp, line 3]
+2011-07-24 15:42:05 Notice: Notice (1024): uuid is required to process this action. in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 11]
+2011-07-24 15:49:43 Notice: Notice (8): Undefined index: e in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 43]
+2011-07-24 15:49:43 Notice: Notice (1024): uuid is required to process this action in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 44]
+2011-07-24 15:58:00 Notice: Notice (8): Trying to get property of non-object in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 24]
+2011-07-24 20:37:39 Notice: Notice (1024): authentication failed in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 13]
+2011-07-24 21:00:57 Notice: Notice (8): Undefined index: APP_USERNAME in [/var/www/html/webvirt/app/config/bootstrap.php, line 71]
+2011-07-24 21:00:57 Notice: Notice (8): Undefined index: APP_PASSWORD in [/var/www/html/webvirt/app/config/bootstrap.php, line 72]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/tmp/logs/error.log	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,32 @@
+2011-07-23 10:55:45 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 64]
+2011-07-23 10:55:45 Warning: Warning (2): libvirt_get_hostname() expects parameter 1 to be resource, boolean given in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 16]
+2011-07-23 10:57:27 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 64]
+2011-07-23 10:57:27 Warning: Warning (2): libvirt_get_hostname() expects parameter 1 to be resource, boolean given in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 20]
+2011-07-23 11:02:48 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 65]
+2011-07-23 11:03:34 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 66]
+2011-07-23 11:04:32 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 66]
+2011-07-23 11:05:20 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 66]
+2011-07-23 11:26:08 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 2]
+2011-07-24 00:37:00 Warning: Warning (2): call_user_func_array() expects parameter 1 to be a valid callback, class 'VncController' not found in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 29]
+2011-07-24 00:37:00 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 25]
+2011-07-24 00:37:49 Warning: Warning (2): call_user_func_array() expects parameter 1 to be a valid callback, class 'VncController' not found in [/var/www/html/webvirt/app/controllers/pages_controller.php, line 29]
+2011-07-24 00:58:25 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 00:58:32 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 00:58:58 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 01:01:25 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 01:01:46 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 72]
+2011-07-24 02:05:49 Warning: Warning (2): libvirt_domain_lookup_by_uuid_string() expects exactly 2 parameters, 1 given in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 16]
+2011-07-24 02:05:49 Warning: Warning (2): libvirt_domain_get_xml_desc() expects parameter 1 to be resource, boolean given in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 17]
+2011-07-24 14:27:09 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 19]
+2011-07-24 14:27:09 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 24]
+2011-07-24 14:27:30 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 19]
+2011-07-24 14:27:30 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/views/pages/display.ctp, line 24]
+2011-07-24 14:47:59 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 15:58:00 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: cannot recv data: : Connection reset by peer in [/var/www/html/webvirt/app/config/bootstrap.php, line 70]
+2011-07-24 15:58:00 Warning: Warning (2): libvirt_domain_lookup_by_uuid_string() expects parameter 1 to be resource, boolean given in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 20]
+2011-07-24 15:58:00 Warning: Warning (2): libvirt_domain_get_xml_desc() expects parameter 1 to be resource, boolean given in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 21]
+2011-07-24 15:58:00 Warning: Warning (2): Invalid argument supplied for foreach() in [/var/www/html/webvirt/app/controllers/vncviewer_controller.php, line 24]
+2011-07-24 15:58:00 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at /var/www/html/webvirt/cake/libs/debugger.php:673) in [/var/www/html/webvirt/cake/libs/controller/controller.php, line 742]
+2011-07-24 16:29:51 Warning: Warning (2): libvirt_domain_shutdown() [<a href='http://php.net/function.libvirt-domain-shutdown'>function.libvirt-domain-shutdown</a>]: operation virDomainShutdown forbidden for read only access in [/var/www/html/webvirt/app/controllers/shutdown_controller.php, line 28]
+2011-07-24 16:36:53 Warning: Warning (2): libvirt_domain_shutdown() [<a href='http://php.net/function.libvirt-domain-shutdown'>function.libvirt-domain-shutdown</a>]: operation virDomainShutdown forbidden for read only access in [/var/www/html/webvirt/app/controllers/shutdown_controller.php, line 28]
+2011-07-24 20:37:39 Warning: Warning (2): libvirt_connect() [<a href='http://php.net/function.libvirt-connect'>function.libvirt-connect</a>]: authentication failed in [/var/www/html/webvirt/app/config/bootstrap.php, line 76]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/pages/display.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,41 @@
+<h2><?php echo $hostname; ?></h2>
+<table>
+	<tr>
+		<th>Model</th>
+		<th>Number of CPUs</th>
+		<th>Memory</th>
+	</tr>
+	<tr>
+		<td><?php echo $nodeinfo["model"] ?></td>
+		<td><?php echo $nodeinfo["cpus"] ?></td>
+		<td><?php echo $nodeinfo["memory"] ?></td>
+	</tr>
+</table>
+<table>
+	<tr>
+		<th>Actions</th>
+	</tr>
+	<tr>
+<?php foreach($actions as $action){ ?>
+		<td><a href="<?php echo $action;?>"><?php echo $action; ?></a></td>
+<?php } ?>
+	</tr>
+</table>
+<?php foreach($domains as $dom){ ?>
+<h4><?php echo $dom["name"]; ?></h4>
+<ul>
+	<li>Memory : <?php echo $dom["memory"]; ?></li>
+	<li>VCPUs : <?php echo $dom["nrVirtCpu"]; ?></li>
+</ul>
+<table>
+	<tr>
+		<th>Actions</th>
+	</tr>
+	<tr>
+<?php foreach($dom["actions"] as $action){ ?>
+		<td><?php echo $this->Html->link($action,array("controller" => $action,"action" => "exec","?" => array("uuid" => $dom["uuid"])),array("target" => "_blank")); ?></td>
+<?php } ?>
+	</tr>
+</table>
+<br/>
+<?php } ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/shutdown/error.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,1 @@
+<h2>Error</h2>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/shutdown/exec.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,1 @@
+<h1><?php echo $content; ?></h1>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/vncviewer/error.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,1 @@
+<h2>Error</h2>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/vncviewer/exec.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,16 @@
+<h3><?php echo $hostname; ?>:<?php echo $port; ?></h3>
+<applet archive="tightvnc-jviewer.jar" code="com.glavsoft.viewer.Viewer" width="800" height="600">
+	<param name="Host" value="<?php echo $hostname; ?>"/>
+	<param name="Port" value="<?php echo $port; ?>"/>
+	<param name="OpenNewWindow" value="yes"/>
+	<param name="ShowControls" value="yes"/>
+	<param name="ViewOnly" value="no"/>
+	<param name="ShareDesktop" value="yes"/>
+	<param name="AllowCopyRect" value="yes"/>
+	<param name="Encoding" value="Tight"/>
+	<param name="CompressionLevel" value=""/>
+	<param name="JpegImageQuality" value=""/>
+	<param name="LocalPointer" value="On"/>
+	<param name="colorDepth" value=""/>
+	<param name="ScalingFactor" value="100"/>
+</applet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/vncviewer/index.ctp	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,15 @@
+<applet archive="tightvnc-jviewer.jar" code="com.glavsoft.viewer.Viewer" width="1" height="1">
+	<param name="Host" value="<?php echo $hostname; ?>"/>
+	<param name="Port" value="<?php echo $port; ?>"/>
+	<param name="OpenNewWindow" value="yes"/>
+	<param name="ShowControls" value="yes"/>
+	<param name="ViewOnly" value="no"/>
+	<param name="ShareDesktop" value="yes"/>
+	<param name="AllowCopyRect" value="yes"/>
+	<param name="Encoding" value="Tight"/>
+	<param name="CompressionLevel" value=""/>
+	<param name="JpegImageQuality" value=""/>
+	<param name="LocalPointer" value="On"/>
+	<param name="colorDepth" value=""/>
+	<param name="ScalingFactor" value="100"/>
+</applet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/webroot/.htaccess	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,6 @@
+<IfModule mod_rewrite.c>
+    RewriteEngine On
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
+</IfModule>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/webroot/css.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,96 @@
+<?php
+/**
+ * CSS helping functions
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.webroot
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+	header('HTTP/1.1 404 Not Found');
+	exit('File Not Found');
+}
+
+/**
+ * Ensure required classes are available.
+ */
+if (!class_exists('File')) {
+	uses('file');
+}
+
+/**
+ * Make clean CSS
+ *
+ * @param unknown_type $path
+ * @param unknown_type $name
+ * @return unknown
+ */
+	function make_clean_css($path, $name) {
+		App::import('Vendor', 'csspp' . DS . 'csspp');
+		$data = file_get_contents($path);
+		$csspp = new csspp();
+		$output = $csspp->compress($data);
+		$ratio = 100 - (round(strlen($output) / strlen($data), 3) * 100);
+		$output = " /* file: $name, ratio: $ratio% */ " . $output;
+		return $output;
+	}
+/**
+ * Write CSS cache
+ *
+ * @param unknown_type $path
+ * @param unknown_type $content
+ * @return unknown
+ */
+	function write_css_cache($path, $content) {
+		if (!is_dir(dirname($path))) {
+			mkdir(dirname($path));
+		}
+		$cache = new File($path);
+		return $cache->write($content);
+	}
+
+	if (preg_match('|\.\.|', $url) || !preg_match('|^ccss/(.+)$|i', $url, $regs)) {
+		die('Wrong file name.');
+	}
+
+	$filename = 'css/' . $regs[1];
+	$filepath = CSS . $regs[1];
+	$cachepath = CACHE . 'css' . DS . str_replace(array('/','\\'), '-', $regs[1]);
+
+	if (!file_exists($filepath)) {
+		die('Wrong file name.');
+	}
+
+	if (file_exists($cachepath)) {
+		$templateModified = filemtime($filepath);
+		$cacheModified = filemtime($cachepath);
+
+		if ($templateModified > $cacheModified) {
+			$output = make_clean_css($filepath, $filename);
+			write_css_cache($cachepath, $output);
+		} else {
+			$output = file_get_contents($cachepath);
+		}
+	} else {
+		$output = make_clean_css($filepath, $filename);
+		write_css_cache($cachepath, $output);
+		$templateModified = time();
+	}
+
+	header("Date: " . date("D, j M Y G:i:s ", $templateModified) . 'GMT');
+	header("Content-Type: text/css");
+	header("Expires: " . gmdate("D, d M Y H:i:s", time() + DAY) . " GMT");
+	header("Cache-Control: max-age=86400, must-revalidate"); // HTTP/1.1
+	header("Pragma: cache");        // HTTP/1.0
+	print $output;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/webroot/css/cake.generic.css	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,535 @@
+/**
+ *
+ * Generic CSS for CakePHP
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.webroot.css
+ * @since         CakePHP(tm)
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+* {
+	margin:0;
+	padding:0;
+}
+
+/** General Style Info **/
+body {
+	background: #003d4c;
+	color: #fff;
+	font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
+	font-size:90%;
+	margin: 0;
+}
+a {
+	color: #003d4c;
+	text-decoration: underline;
+	font-weight: bold;
+}
+a:hover {
+	color: #367889;
+	text-decoration:none;
+}
+a img {
+	border:none;
+}
+h1, h2, h3, h4 {
+	font-weight: normal;
+	margin-bottom:0.5em;
+}
+h1 {
+	background:#fff;
+	color: #003d4c;
+	font-size: 100%;
+}
+h2 {
+	background:#fff;
+	color: #e32;
+	font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif;
+	font-size: 190%;
+}
+h3 {
+	color: #993;
+	font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif;
+	font-size: 165%;
+}
+h4 {
+	color: #993;
+	font-weight: normal;
+}
+ul, li {
+	margin: 0 12px;
+}
+
+/** Layout **/
+#container {
+	text-align: left;
+}
+
+#header{
+	padding: 10px 20px;
+}
+#header h1 {
+	line-height:20px;
+	background: #003d4c url('../img/cake.icon.png') no-repeat left;
+	color: #fff;
+	padding: 0px 30px;
+}
+#header h1 a {
+	color: #fff;
+	background: #003d4c;
+	font-weight: normal;
+	text-decoration: none;
+}
+#header h1 a:hover {
+	color: #fff;
+	background: #003d4c;
+	text-decoration: underline;
+}
+#content{
+	background: #fff;
+	clear: both;
+	color: #333;
+	padding: 10px 20px 40px 20px;
+	overflow: auto;
+}
+#footer {
+	clear: both;
+	padding: 6px 10px;
+	text-align: right;
+}
+
+/** containers **/
+div.form,
+div.index,
+div.view {
+	float:right;
+	width:76%;
+	border-left:1px solid #666;
+	padding:10px 2%;
+}
+div.actions {
+	float:left;
+	width:16%;
+	padding:10px 1.5%;
+}
+div.actions h3 {
+	padding-top:0;
+	color:#777;
+}
+
+
+/** Tables **/
+table {
+	background: #fff;
+	border-right:0;
+	clear: both;
+	color: #333;
+	margin-bottom: 10px;
+	width: 100%;
+}
+th {
+	border:0;
+	border-bottom:2px solid #555;
+	text-align: left;
+	padding:4px;
+}
+th a {
+	display: block;
+	padding: 2px 4px;
+	text-decoration: none;
+}
+th a.asc:after {
+	content: ' ⇣';
+}
+th a.desc:after {
+	content: ' ⇡';
+}
+table tr td {
+	background: #fff;
+	padding: 6px;
+	text-align: left;
+	vertical-align: top;
+	border-bottom:1px solid #ddd;
+}
+table tr:nth-child(2n) td {
+	background: #f5f5f5;
+}
+table .altrow td {
+	background: #f5f5f5;
+}
+td.actions {
+	text-align: center;
+	white-space: nowrap;
+}
+table td.actions a {
+	margin: 0px 6px;
+	padding:2px 5px;
+}
+.cake-sql-log table {
+	background: #f4f4f4;
+}
+.cake-sql-log td {
+	padding: 4px 8px;
+	text-align: left;
+	font-family: Monaco, Consolas, "Courier New", monospaced;
+}
+.cake-sql-log caption {
+	color:#fff;
+}
+
+/** Paging **/
+div.paging {
+	background:#fff;
+	color: #ccc;
+	margin-top: 1em;
+	clear:both;
+}
+div.paging span.disabled {
+	color: #ddd;
+	display: inline;
+}
+div.paging span.current {
+	color: #c73e14;
+}
+div.paging span a {
+}
+
+/** Scaffold View **/
+dl {
+	line-height: 2em;
+	margin: 0em 0em;
+	width: 60%;
+}
+dl .altrow {
+	background: #f4f4f4;
+}
+dt {
+	font-weight: bold;
+	padding-left: 4px;
+	vertical-align: top;
+}
+dd {
+	margin-left: 10em;
+	margin-top: -2em;
+	vertical-align: top;
+}
+
+/** Forms **/
+form {
+	clear: both;
+	margin-right: 20px;
+	padding: 0;
+	width: 95%;
+}
+fieldset {
+	border: 1px solid #ccc;
+	margin-bottom: 1em;
+	padding: 16px 20px;
+}
+fieldset legend {
+	background:#fff;
+	color: #e32;
+	font-size: 160%;
+	font-weight: bold;
+}
+fieldset fieldset {
+	margin-top: 0px;
+	margin-bottom: 20px;
+	padding: 16px 10px;
+}
+fieldset fieldset legend {
+	font-size: 120%;
+	font-weight: normal;
+}
+fieldset fieldset div {
+	clear: left;
+	margin: 0 20px;
+}
+form div {
+	clear: both;
+	margin-bottom: 1em;
+	padding: .5em;
+	vertical-align: text-top;
+}
+form .input {
+	color: #444;
+}
+form .required {
+	font-weight: bold;
+}
+form .required label:after {
+	color: #e32;
+	content: '*';
+	display:inline;
+}
+form div.submit {
+	border: 0;
+	clear: both;
+	margin-top: 10px;
+}
+label {
+	display: block;
+	font-size: 110%;
+	margin-bottom:3px;
+}
+input, textarea {
+	clear: both;
+	font-size: 140%;
+	font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
+	padding: 1%;
+	width:98%;
+}
+select {
+	clear: both;
+	font-size: 120%;
+	vertical-align: text-bottom;
+}
+select[multiple=multiple] {
+	width: 100%;
+}
+option {
+	font-size: 120%;
+	padding: 0 3px;
+}
+input[type=checkbox] {
+	clear: left;
+	float: left;
+	margin: 0px 6px 7px 2px;
+	width: auto;
+}
+div.checkbox label {
+	display: inline;
+}
+input[type=radio] {
+	float:left;
+	width:auto;
+	margin: 0 3px 7px 0;
+}
+div.radio label {
+	margin: 0 0 6px 20px;
+}
+input[type=submit] {
+	display: inline;
+	font-size: 110%;
+	width: auto;
+}
+form .submit input[type=submit] {
+	background:#62af56;
+	background: -webkit-gradient(linear, left top, left bottom, from(#a8ea9c), to(#62af56));
+	background-image: -moz-linear-gradient(top, #a8ea9c, #62af56);
+	border-color: #2d6324;
+	color: #000;
+	text-shadow: #8cee7c 0px 1px 0px;
+}
+form .submit input[type=submit]:hover {
+	background:#4ca83d;
+	background: -webkit-gradient(linear, left top, left bottom, from(#85e573), to(#4ca83d));
+	background-image: -moz-linear-gradient(top, #85e573, #4ca83d);
+}
+
+/** Notices and Errors **/
+div.message {
+	clear: both;
+	color: #fff;
+	font-size: 140%;
+	font-weight: bold;
+	margin: 0 0 1em 0;
+	background: #c73e14;
+	padding: 5px;
+}
+div.error-message {
+	clear: both;
+	color: #fff;
+	font-weight: bold;
+	background: #c73e14;
+}
+p.error {
+	background-color: #e32;
+	color: #fff;
+	font-family: Courier, monospace;
+	font-size: 120%;
+	line-height: 140%;
+	padding: 0.8em;
+	margin: 1em 0;
+}
+p.error em {
+	color: #000;
+	font-weight: normal;
+	line-height: 140%;
+}
+.notice {
+	background: #ffcc00;
+	color: #000;
+	display: block;
+	font-family: Courier, monospace;
+	font-size: 120%;
+	line-height: 140%;
+	padding: 0.8em;
+	margin: 1em 0;
+}
+.success {
+	background: green;
+	color: #fff;
+}
+
+/**  Actions  **/
+div.actions ul {
+	margin: 0;
+	padding: 0;
+}
+div.actions li {
+	margin:0 0 0.5em 0;
+	list-style-type: none;
+	white-space: nowrap;
+	padding: 0;
+}
+div.actions ul li a {
+	font-weight: normal;
+	display: block;
+	clear: both;
+}
+div.actions ul li a:hover {
+	text-decoration: underline;
+}
+
+input[type=submit],
+div.actions ul li a,
+td.actions a {
+	font-weight:normal;
+	padding: 4px 8px;
+	background:#e6e49f;
+	background: -webkit-gradient(linear, left top, left bottom, from(#f1f1d4), to(#e6e49f));
+	background-image: -moz-linear-gradient(top, #f1f1d4, #e6e49f);
+	color:#333;
+	border:1px solid #aaac62;
+	-webkit-border-radius:8px;
+	-moz-border-radius:8px;
+	border-radius:8px;
+	text-decoration:none;
+	text-shadow: #fff 0px 1px 0px;
+	min-width: 0;
+}
+input[type=submit]:hover,
+div.actions ul li a:hover,
+td.actions a:hover {
+	background: #f0f09a;
+	background: -webkit-gradient(linear, left top, left bottom, from(#f7f7e1), to(#eeeca9));
+}
+
+/** Related **/
+div.related {
+	clear: both;
+	display: block;
+}
+
+/** Debugging **/
+pre {
+	color: #000;
+	background: #f0f0f0;
+	padding: 1em;
+}
+pre.cake-debug {
+	background: #ffcc00;
+	font-size: 120%;
+	line-height: 140%;
+	margin-top: 1em;
+	overflow: auto;
+	position: relative;
+}
+div.cake-stack-trace {
+	background: #fff;
+	color: #333;
+	margin: 0px;
+	padding: 6px;
+	font-size: 120%;
+	line-height: 140%;
+	overflow: auto;
+	position: relative;
+}
+div.cake-code-dump pre {
+	position: relative;
+	overflow: auto;
+}
+div.cake-stack-trace pre, div.cake-code-dump pre {
+	color: #000;
+	background-color: #F0F0F0;
+	margin: 0px;
+	padding: 1em;
+	overflow: auto;
+}
+div.cake-code-dump pre, div.cake-code-dump pre code {
+	clear: both;
+	font-size: 12px;
+	line-height: 15px;
+	margin: 4px 2px;
+	padding: 4px;
+	overflow: auto;
+}
+div.cake-code-dump span.code-highlight {
+	background-color: #ff0;
+	padding: 4px;
+}
+div.code-coverage-results div.code-line {
+	padding-left:5px;
+	display:block;
+	margin-left:10px;
+}
+div.code-coverage-results div.uncovered span.content {
+	background:#ecc;
+}
+div.code-coverage-results div.covered span.content {
+	background:#cec;
+}
+div.code-coverage-results div.ignored span.content {
+	color:#aaa;
+}
+div.code-coverage-results span.line-num {
+	color:#666;
+	display:block;
+	float:left;
+	width:20px;
+	text-align:right;
+	margin-right:5px;
+}
+div.code-coverage-results span.line-num strong {
+	color:#666;
+}
+div.code-coverage-results div.start {
+	border:1px solid #aaa;
+	border-width:1px 1px 0px 1px;
+	margin-top:30px;
+	padding-top:5px;
+}
+div.code-coverage-results div.end {
+	border:1px solid #aaa;
+	border-width:0px 1px 1px 1px;
+	margin-bottom:30px;
+	padding-bottom:5px;
+}
+div.code-coverage-results div.realstart {
+	margin-top:0px;
+}
+div.code-coverage-results p.note {
+	color:#bbb;
+	padding:5px;
+	margin:5px 0 10px;
+	font-size:10px;
+}
+div.code-coverage-results span.result-bad {
+	color: #a00;
+}
+div.code-coverage-results span.result-ok {
+	color: #fa0;
+}
+div.code-coverage-results span.result-good {
+	color: #0a0;
+}
\ No newline at end of file
Binary file app/webroot/favicon.ico has changed
Binary file app/webroot/img/cake.icon.png has changed
Binary file app/webroot/img/cake.power.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/webroot/index.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Index
+ *
+ * The Front Controller for handling every request
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.webroot
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/**
+ * Use the DS to separate the directories in other defines
+ */
+	if (!defined('DS')) {
+		define('DS', DIRECTORY_SEPARATOR);
+	}
+/**
+ * These defines should only be edited if you have cake installed in
+ * a directory layout other than the way it is distributed.
+ * When using custom settings be sure to use the DS and do not add a trailing DS.
+ */
+
+/**
+ * The full path to the directory which holds "app", WITHOUT a trailing DS.
+ *
+ */
+	if (!defined('ROOT')) {
+		define('ROOT', dirname(dirname(dirname(__FILE__))));
+	}
+/**
+ * The actual directory name for the "app".
+ *
+ */
+	if (!defined('APP_DIR')) {
+		define('APP_DIR', basename(dirname(dirname(__FILE__))));
+	}
+/**
+ * The absolute path to the "cake" directory, WITHOUT a trailing DS.
+ *
+ */
+	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+		define('CAKE_CORE_INCLUDE_PATH', ROOT);
+	}
+
+/**
+ * Editing below this line should NOT be necessary.
+ * Change at your own risk.
+ *
+ */
+	if (!defined('WEBROOT_DIR')) {
+		define('WEBROOT_DIR', basename(dirname(__FILE__)));
+	}
+	if (!defined('WWW_ROOT')) {
+		define('WWW_ROOT', dirname(__FILE__) . DS);
+	}
+	if (!defined('CORE_PATH')) {
+		if (function_exists('ini_set') && ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'))) {
+			define('APP_PATH', null);
+			define('CORE_PATH', null);
+		} else {
+			define('APP_PATH', ROOT . DS . APP_DIR . DS);
+			define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
+		}
+	}
+	if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
+		trigger_error("CakePHP core could not be found.  Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php.  It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
+	}
+	if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {
+		return;
+	} else {
+		$Dispatcher = new Dispatcher();
+		$Dispatcher->dispatch();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/webroot/test.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Web Access Frontend for TestSuite
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing>
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ *  Licensed under The Open Group Test Suite License
+ *  Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://book.cakephp.org/view/1196/Testing
+ * @package       cake
+ * @subpackage    cake.app.webroot
+ * @since         CakePHP(tm) v 1.2.0.4433
+ * @license       http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License
+ */
+set_time_limit(0);
+ini_set('display_errors', 1);
+/**
+ * Use the DS to separate the directories in other defines
+ */
+	if (!defined('DS')) {
+		define('DS', DIRECTORY_SEPARATOR);
+	}
+/**
+ * These defines should only be edited if you have cake installed in
+ * a directory layout other than the way it is distributed.
+ * When using custom settings be sure to use the DS and do not add a trailing DS.
+ */
+
+/**
+ * The full path to the directory which holds "app", WITHOUT a trailing DS.
+ *
+ */
+	if (!defined('ROOT')) {
+		define('ROOT', dirname(dirname(dirname(__FILE__))));
+	}
+/**
+ * The actual directory name for the "app".
+ *
+ */
+	if (!defined('APP_DIR')) {
+		define('APP_DIR', basename(dirname(dirname(__FILE__))));
+	}
+/**
+ * The absolute path to the "cake" directory, WITHOUT a trailing DS.
+ *
+ */
+	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+		define('CAKE_CORE_INCLUDE_PATH', ROOT);
+	}
+
+/**
+ * Editing below this line should not be necessary.
+ * Change at your own risk.
+ *
+ */
+if (!defined('WEBROOT_DIR')) {
+	define('WEBROOT_DIR', basename(dirname(__FILE__)));
+}
+if (!defined('WWW_ROOT')) {
+	define('WWW_ROOT', dirname(__FILE__) . DS);
+}
+if (!defined('CORE_PATH')) {
+	if (function_exists('ini_set') && ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'))) {
+		define('APP_PATH', null);
+		define('CORE_PATH', null);
+	} else {
+		define('APP_PATH', ROOT . DS . APP_DIR . DS);
+		define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
+	}
+}
+if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
+	trigger_error("CakePHP core could not be found.  Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php.  It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
+}
+
+$corePath = App::core('cake');
+if (isset($corePath[0])) {
+	define('TEST_CAKE_CORE_INCLUDE_PATH', rtrim($corePath[0], DS) . DS);
+} else {
+	define('TEST_CAKE_CORE_INCLUDE_PATH', CAKE_CORE_INCLUDE_PATH);
+}
+
+if (Configure::read('debug') < 1) {
+	die(__('Debug setting does not allow access to this url.', true));
+}
+
+require_once CAKE_TESTS_LIB . 'cake_test_suite_dispatcher.php';
+
+$Dispatcher = new CakeTestSuiteDispatcher();
+$Dispatcher->dispatch();
Binary file app/webroot/vncviewer/tightvnc-jviewer.jar has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/LICENSE.txt	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,22 @@
+The MIT License
+
+CakePHP(tm) : The Rapid Development PHP Framework (http://cakephp.org)
+Copyright 2005-2010, Cake Software Foundation, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/VERSION.txt	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,21 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// +--------------------------------------------------------------------------------------------+ //
+// CakePHP Version
+//
+// Holds a static string representing the current version of CakePHP
+//
+// CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+// Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+//
+// Licensed under The MIT License
+// Redistributions of files must retain the above copyright notice.
+//
+// @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+// @link          http://cakephp.org
+// @package       cake
+// @subpackage    cake.cake.libs
+// @since         CakePHP(tm) v 0.2.9
+// @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+// +--------------------------------------------------------------------------------------------+ //
+////////////////////////////////////////////////////////////////////////////////////////////////////
+1.3.9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/basics.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,1026 @@
+<?php
+/**
+ * Basic Cake functionality.
+ *
+ * Core functions for including other source files, loading models and so forth.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * Basic defines for timing functions.
+ */
+	define('SECOND', 1);
+	define('MINUTE', 60);
+	define('HOUR', 3600);
+	define('DAY', 86400);
+	define('WEEK', 604800);
+	define('MONTH', 2592000);
+	define('YEAR', 31536000);
+
+/**
+ * Patch for PHP < 5.0
+ */
+if (!function_exists('clone')) {
+	if (version_compare(PHP_VERSION, '5.0') < 0) {
+		eval ('
+		function clone($object)
+		{
+			return $object;
+		}');
+	}
+}
+
+/**
+ * Loads configuration files. Receives a set of configuration files
+ * to load.
+ * Example:
+ *
+ * `config('config1', 'config2');`
+ *
+ * @return boolean Success
+ * @link http://book.cakephp.org/view/1125/config
+ */
+	function config() {
+		$args = func_get_args();
+		foreach ($args as $arg) {
+			if ($arg === 'database' && file_exists(CONFIGS . 'database.php')) {
+				include_once(CONFIGS . $arg . '.php');
+			} elseif (file_exists(CONFIGS . $arg . '.php')) {
+				include_once(CONFIGS . $arg . '.php');
+
+				if (count($args) == 1) {
+					return true;
+				}
+			} else {
+				if (count($args) == 1) {
+					return false;
+				}
+			}
+		}
+		return true;
+	}
+
+/**
+ * Loads component/components from LIBS. Takes optional number of parameters.
+ *
+ * Example:
+ *
+ * `uses('flay', 'time');`
+ *
+ * @param string $name Filename without the .php part
+ * @deprecated Will be removed in 2.0
+ * @link http://book.cakephp.org/view/1140/uses
+ */
+	function uses() {
+		$args = func_get_args();
+		foreach ($args as $file) {
+			require_once(LIBS . strtolower($file) . '.php');
+		}
+	}
+
+/**
+ * Prints out debug information about given variable.
+ *
+ * Only runs if debug level is greater than zero.
+ *
+ * @param boolean $var Variable to show debug information for.
+ * @param boolean $showHtml If set to true, the method prints the debug data in a screen-friendly way.
+ * @param boolean $showFrom If set to true, the method prints from where the function was called.
+ * @link http://book.cakephp.org/view/1190/Basic-Debugging
+ * @link http://book.cakephp.org/view/1128/debug
+ */
+	function debug($var = false, $showHtml = false, $showFrom = true) {
+		if (Configure::read() > 0) {
+			if ($showFrom) {
+				$calledFrom = debug_backtrace();
+				echo '<strong>' . substr(str_replace(ROOT, '', $calledFrom[0]['file']), 1) . '</strong>';
+				echo ' (line <strong>' . $calledFrom[0]['line'] . '</strong>)';
+			}
+			echo "\n<pre class=\"cake-debug\">\n";
+
+			$var = print_r($var, true);
+			if ($showHtml) {
+				$var = str_replace('<', '&lt;', str_replace('>', '&gt;', $var));
+			}
+			echo $var . "\n</pre>\n";
+		}
+	}
+if (!function_exists('getMicrotime')) {
+
+/**
+ * Returns microtime for execution time checking
+ *
+ * @return float Microtime
+ */
+	function getMicrotime() {
+		list($usec, $sec) = explode(' ', microtime());
+		return ((float)$usec + (float)$sec);
+	}
+}
+if (!function_exists('sortByKey')) {
+
+/**
+ * Sorts given $array by key $sortby.
+ *
+ * @param array $array Array to sort
+ * @param string $sortby Sort by this key
+ * @param string $order  Sort order asc/desc (ascending or descending).
+ * @param integer $type Type of sorting to perform
+ * @return mixed Sorted array
+ */
+	function sortByKey(&$array, $sortby, $order = 'asc', $type = SORT_NUMERIC) {
+		if (!is_array($array)) {
+			return null;
+		}
+
+		foreach ($array as $key => $val) {
+			$sa[$key] = $val[$sortby];
+		}
+
+		if ($order == 'asc') {
+			asort($sa, $type);
+		} else {
+			arsort($sa, $type);
+		}
+
+		foreach ($sa as $key => $val) {
+			$out[] = $array[$key];
+		}
+		return $out;
+	}
+}
+if (!function_exists('array_combine')) {
+
+/**
+ * Combines given identical arrays by using the first array's values as keys,
+ * and the second one's values as values. (Implemented for backwards compatibility with PHP4)
+ *
+ * @param array $a1 Array to use for keys
+ * @param array $a2 Array to use for values
+ * @return mixed Outputs either combined array or false.
+ * @deprecated Will be removed in 2.0
+ */
+	function array_combine($a1, $a2) {
+		$a1 = array_values($a1);
+		$a2 = array_values($a2);
+		$c1 = count($a1);
+		$c2 = count($a2);
+
+		if ($c1 != $c2) {
+			return false;
+		}
+		if ($c1 <= 0) {
+			return false;
+		}
+		$output = array();
+
+		for ($i = 0; $i < $c1; $i++) {
+			$output[$a1[$i]] = $a2[$i];
+		}
+		return $output;
+	}
+}
+
+/**
+ * Convenience method for htmlspecialchars.
+ *
+ * @param string $text Text to wrap through htmlspecialchars
+ * @param string $charset Character set to use when escaping.  Defaults to config value in 'App.encoding' or 'UTF-8'
+ * @return string Wrapped text
+ * @link http://book.cakephp.org/view/1132/h
+ */
+	function h($text, $charset = null) {
+		if (is_array($text)) {
+			return array_map('h', $text);
+		}
+
+		static $defaultCharset = false;
+		if ($defaultCharset === false) {
+			$defaultCharset = Configure::read('App.encoding');
+			if ($defaultCharset === null) {
+				$defaultCharset = 'UTF-8';
+			}
+		}
+		if ($charset) {
+			return htmlspecialchars($text, ENT_QUOTES, $charset);
+		} else {
+			return htmlspecialchars($text, ENT_QUOTES, $defaultCharset);
+		}
+	}
+
+/**
+ * Splits a dot syntax plugin name into its plugin and classname.
+ * If $name does not have a dot, then index 0 will be null.
+ *
+ * Commonly used like `list($plugin, $name) = pluginSplit($name);`
+ *
+ * @param string $name The name you want to plugin split.
+ * @param boolean $dotAppend Set to true if you want the plugin to have a '.' appended to it.
+ * @param string $plugin Optional default plugin to use if no plugin is found. Defaults to null.
+ * @return array Array with 2 indexes.  0 => plugin name, 1 => classname
+ */
+	function pluginSplit($name, $dotAppend = false, $plugin = null) {
+		if (strpos($name, '.') !== false) {
+			$parts = explode('.', $name, 2);
+			if ($dotAppend) {
+				$parts[0] .= '.';
+			}
+			return $parts;
+		}
+		return array($plugin, $name);
+	}
+
+/**
+ * Returns an array of all the given parameters.
+ *
+ * Example:
+ *
+ * `a('a', 'b')`
+ *
+ * Would return:
+ *
+ * `array('a', 'b')`
+ *
+ * @return array Array of given parameters
+ * @link http://book.cakephp.org/view/1122/a
+ * @deprecated Will be removed in 2.0
+ */
+	function a() {
+		$args = func_get_args();
+		return $args;
+	}
+
+/**
+ * Constructs associative array from pairs of arguments.
+ *
+ * Example:
+ *
+ * `aa('a','b')`
+ *
+ * Would return:
+ *
+ * `array('a'=>'b')`
+ *
+ * @return array Associative array
+ * @link http://book.cakephp.org/view/1123/aa
+ * @deprecated Will be removed in 2.0
+ */
+	function aa() {
+		$args = func_get_args();
+		$argc = count($args);
+		for ($i = 0; $i < $argc; $i++) {
+			if ($i + 1 < $argc) {
+				$a[$args[$i]] = $args[$i + 1];
+			} else {
+				$a[$args[$i]] = null;
+			}
+			$i++;
+		}
+		return $a;
+	}
+
+/**
+ * Convenience method for echo().
+ *
+ * @param string $text String to echo
+ * @link http://book.cakephp.org/view/1129/e
+ * @deprecated Will be removed in 2.0
+ */
+	function e($text) {
+		echo $text;
+	}
+
+/**
+ * Convenience method for strtolower().
+ *
+ * @param string $str String to lowercase
+ * @return string Lowercased string
+ * @link http://book.cakephp.org/view/1134/low
+ * @deprecated Will be removed in 2.0
+ */
+	function low($str) {
+		return strtolower($str);
+	}
+
+/**
+ * Convenience method for strtoupper().
+ *
+ * @param string $str String to uppercase
+ * @return string Uppercased string
+ * @link http://book.cakephp.org/view/1139/up
+ * @deprecated Will be removed in 2.0
+ */
+	function up($str) {
+		return strtoupper($str);
+	}
+
+/**
+ * Convenience method for str_replace().
+ *
+ * @param string $search String to be replaced
+ * @param string $replace String to insert
+ * @param string $subject String to search
+ * @return string Replaced string
+ * @link http://book.cakephp.org/view/1137/r
+ * @deprecated Will be removed in 2.0
+ */
+	function r($search, $replace, $subject) {
+		return str_replace($search, $replace, $subject);
+	}
+
+/**
+ * Print_r convenience function, which prints out <PRE> tags around
+ * the output of given array. Similar to debug().
+ *
+ * @see	debug()
+ * @param array $var Variable to print out
+ * @link http://book.cakephp.org/view/1136/pr
+ */
+	function pr($var) {
+		if (Configure::read() > 0) {
+			echo '<pre>';
+			print_r($var);
+			echo '</pre>';
+		}
+	}
+
+/**
+ * Display parameters.
+ *
+ * @param mixed $p Parameter as string or array
+ * @return string
+ * @deprecated Will be removed in 2.0
+ */
+	function params($p) {
+		if (!is_array($p) || count($p) == 0) {
+			return null;
+		}
+		if (is_array($p[0]) && count($p) == 1) {
+			return $p[0];
+		}
+		return $p;
+	}
+
+/**
+ * Merge a group of arrays
+ *
+ * @param array First array
+ * @param array Second array
+ * @param array Third array
+ * @param array Etc...
+ * @return array All array parameters merged into one
+ * @link http://book.cakephp.org/view/1124/am
+ */
+	function am() {
+		$r = array();
+		$args = func_get_args();
+		foreach ($args as $a) {
+			if (!is_array($a)) {
+				$a = array($a);
+			}
+			$r = array_merge($r, $a);
+		}
+		return $r;
+	}
+
+/**
+ * Gets an environment variable from available sources, and provides emulation
+ * for unsupported or inconsistent environment variables (i.e. DOCUMENT_ROOT on
+ * IIS, or SCRIPT_NAME in CGI mode).  Also exposes some additional custom
+ * environment information.
+ *
+ * @param  string $key Environment variable name.
+ * @return string Environment variable setting.
+ * @link http://book.cakephp.org/view/1130/env
+ */
+	function env($key) {
+		if ($key == 'HTTPS') {
+			if (isset($_SERVER['HTTPS'])) {
+				return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off');
+			}
+			return (strpos(env('SCRIPT_URI'), 'https://') === 0);
+		}
+
+		if ($key == 'SCRIPT_NAME') {
+			if (env('CGI_MODE') && isset($_ENV['SCRIPT_URL'])) {
+				$key = 'SCRIPT_URL';
+			}
+		}
+
+		$val = null;
+		if (isset($_SERVER[$key])) {
+			$val = $_SERVER[$key];
+		} elseif (isset($_ENV[$key])) {
+			$val = $_ENV[$key];
+		} elseif (getenv($key) !== false) {
+			$val = getenv($key);
+		}
+
+		if ($key === 'REMOTE_ADDR' && $val === env('SERVER_ADDR')) {
+			$addr = env('HTTP_PC_REMOTE_ADDR');
+			if ($addr !== null) {
+				$val = $addr;
+			}
+		}
+
+		if ($val !== null) {
+			return $val;
+		}
+
+		switch ($key) {
+			case 'SCRIPT_FILENAME':
+				if (defined('SERVER_IIS') && SERVER_IIS === true) {
+					return str_replace('\\\\', '\\', env('PATH_TRANSLATED'));
+				}
+				break;
+			case 'DOCUMENT_ROOT':
+				$name = env('SCRIPT_NAME');
+				$filename = env('SCRIPT_FILENAME');
+				$offset = 0;
+				if (!strpos($name, '.php')) {
+					$offset = 4;
+				}
+				return substr($filename, 0, strlen($filename) - (strlen($name) + $offset));
+				break;
+			case 'PHP_SELF':
+				return str_replace(env('DOCUMENT_ROOT'), '', env('SCRIPT_FILENAME'));
+				break;
+			case 'CGI_MODE':
+				return (PHP_SAPI === 'cgi');
+				break;
+			case 'HTTP_BASE':
+				$host = env('HTTP_HOST');
+				$parts = explode('.', $host);
+				$count = count($parts);
+
+				if ($count === 1) {
+					return '.' . $host;
+				} elseif ($count === 2) {
+					return '.' . $host;
+				} elseif ($count === 3) {
+					$gTLD = array('aero', 'asia', 'biz', 'cat', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'jobs', 'mil', 'mobi', 'museum', 'name', 'net', 'org', 'pro', 'tel', 'travel', 'xxx');
+					if (in_array($parts[1], $gTLD)) {
+						return '.' . $host;
+					}
+				}
+				array_shift($parts);
+				return '.' . implode('.', $parts);
+				break;
+		}
+		return null;
+	}
+if (!function_exists('file_put_contents')) {
+
+/**
+ * Writes data into file.
+ *
+ * If file exists, it will be overwritten. If data is an array, it will be implode()ed with an empty string.
+ *
+ * @param string $fileName File name.
+ * @param mixed  $data String or array.
+ * @return boolean Success
+ * @deprecated Will be removed in 2.0
+ */
+	function file_put_contents($fileName, $data) {
+		if (is_array($data)) {
+			$data = implode('', $data);
+		}
+		$res = @fopen($fileName, 'w+b');
+
+		if ($res) {
+			$write = @fwrite($res, $data);
+			if ($write === false) {
+				return false;
+			} else {
+				@fclose($res);
+				return $write;
+			}
+		}
+		return false;
+	}
+}
+
+/**
+ * Reads/writes temporary data to cache files or session.
+ *
+ * @param  string $path	File path within /tmp to save the file.
+ * @param  mixed  $data	The data to save to the temporary file.
+ * @param  mixed  $expires A valid strtotime string when the data expires.
+ * @param  string $target  The target of the cached data; either 'cache' or 'public'.
+ * @return mixed  The contents of the temporary file.
+ * @deprecated Please use Cache::write() instead
+ */
+	function cache($path, $data = null, $expires = '+1 day', $target = 'cache') {
+		if (Configure::read('Cache.disable')) {
+			return null;
+		}
+		$now = time();
+
+		if (!is_numeric($expires)) {
+			$expires = strtotime($expires, $now);
+		}
+
+		switch (strtolower($target)) {
+			case 'cache':
+				$filename = CACHE . $path;
+			break;
+			case 'public':
+				$filename = WWW_ROOT . $path;
+			break;
+			case 'tmp':
+				$filename = TMP . $path;
+			break;
+		}
+		$timediff = $expires - $now;
+		$filetime = false;
+
+		if (file_exists($filename)) {
+			$filetime = @filemtime($filename);
+		}
+
+		if ($data === null) {
+			if (file_exists($filename) && $filetime !== false) {
+				if ($filetime + $timediff < $now) {
+					@unlink($filename);
+				} else {
+					$data = @file_get_contents($filename);
+				}
+			}
+		} elseif (is_writable(dirname($filename))) {
+			@file_put_contents($filename, $data);
+		}
+		return $data;
+	}
+
+/**
+ * Used to delete files in the cache directories, or clear contents of cache directories
+ *
+ * @param mixed $params As String name to be searched for deletion, if name is a directory all files in
+ *   directory will be deleted. If array, names to be searched for deletion. If clearCache() without params,
+ *   all files in app/tmp/cache/views will be deleted
+ * @param string $type Directory in tmp/cache defaults to view directory
+ * @param string $ext The file extension you are deleting
+ * @return true if files found and deleted false otherwise
+ */
+	function clearCache($params = null, $type = 'views', $ext = '.php') {
+		if (is_string($params) || $params === null) {
+			$params = preg_replace('/\/\//', '/', $params);
+			$cache = CACHE . $type . DS . $params;
+
+			if (is_file($cache . $ext)) {
+				@unlink($cache . $ext);
+				return true;
+			} elseif (is_dir($cache)) {
+				$files = glob($cache . '*');
+
+				if ($files === false) {
+					return false;
+				}
+
+				foreach ($files as $file) {
+					if (is_file($file) && strrpos($file, DS . 'empty') !== strlen($file) - 6) {
+						@unlink($file);
+					}
+				}
+				return true;
+			} else {
+				$cache = array(
+					CACHE . $type . DS . '*' . $params . $ext,
+					CACHE . $type . DS . '*' . $params . '_*' . $ext
+				);
+				$files = array();
+				while ($search = array_shift($cache)) {
+					$results = glob($search);
+					if ($results !== false) {
+						$files = array_merge($files, $results);
+					}
+				}
+				if (empty($files)) {
+					return false;
+				}
+				foreach ($files as $file) {
+					if (is_file($file) && strrpos($file, DS . 'empty') !== strlen($file) - 6) {
+						@unlink($file);
+					}
+				}
+				return true;
+			}
+		} elseif (is_array($params)) {
+			foreach ($params as $file) {
+				clearCache($file, $type, $ext);
+			}
+			return true;
+		}
+		return false;
+	}
+
+/**
+ * Recursively strips slashes from all values in an array
+ *
+ * @param array $values Array of values to strip slashes
+ * @return mixed What is returned from calling stripslashes
+ * @link http://book.cakephp.org/view/1138/stripslashes_deep
+ */
+	function stripslashes_deep($values) {
+		if (is_array($values)) {
+			foreach ($values as $key => $value) {
+				$values[$key] = stripslashes_deep($value);
+			}
+		} else {
+			$values = stripslashes($values);
+		}
+		return $values;
+	}
+
+/**
+ * Returns a translated string if one is found; Otherwise, the submitted message.
+ *
+ * @param string $singular Text to translate
+ * @param boolean $return Set to true to return translated string, or false to echo
+ * @return mixed translated string if $return is false string will be echoed
+ * @link http://book.cakephp.org/view/1121/__
+ */
+	function __($singular, $return = false) {
+		if (!$singular) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($singular);
+		} else {
+			return I18n::translate($singular);
+		}
+	}
+
+/**
+ * Returns correct plural form of message identified by $singular and $plural for count $count.
+ * Some languages have more than one form for plural messages dependent on the count.
+ *
+ * @param string $singular Singular text to translate
+ * @param string $plural Plural text
+ * @param integer $count Count
+ * @param boolean $return true to return, false to echo
+ * @return mixed plural form of translated string if $return is false string will be echoed
+ */
+	function __n($singular, $plural, $count, $return = false) {
+		if (!$singular) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($singular, $plural, null, 6, $count);
+		} else {
+			return I18n::translate($singular, $plural, null, 6, $count);
+		}
+	}
+
+/**
+ * Allows you to override the current domain for a single message lookup.
+ *
+ * @param string $domain Domain
+ * @param string $msg String to translate
+ * @param string $return true to return, false to echo
+ * @return translated string if $return is false string will be echoed
+ */
+	function __d($domain, $msg, $return = false) {
+		if (!$msg) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($msg, null, $domain);
+		} else {
+			return I18n::translate($msg, null, $domain);
+		}
+	}
+
+/**
+ * Allows you to override the current domain for a single plural message lookup.
+ * Returns correct plural form of message identified by $singular and $plural for count $count
+ * from domain $domain.
+ *
+ * @param string $domain Domain
+ * @param string $singular Singular string to translate
+ * @param string $plural Plural
+ * @param integer $count Count
+ * @param boolean $return true to return, false to echo
+ * @return plural form of translated string if $return is false string will be echoed
+ */
+	function __dn($domain, $singular, $plural, $count, $return = false) {
+		if (!$singular) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($singular, $plural, $domain, 6, $count);
+		} else {
+			return I18n::translate($singular, $plural, $domain, 6, $count);
+		}
+	}
+
+/**
+ * Allows you to override the current domain for a single message lookup.
+ * It also allows you to specify a category.
+ *
+ * The category argument allows a specific category of the locale settings to be used for fetching a message.
+ * Valid categories are: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES and LC_ALL.
+ *
+ * Note that the category must be specified with a numeric value, instead of the constant name.  The values are:
+ *
+ * - LC_ALL       0
+ * - LC_COLLATE   1
+ * - LC_CTYPE     2
+ * - LC_MONETARY  3
+ * - LC_NUMERIC   4
+ * - LC_TIME      5
+ * - LC_MESSAGES  6
+ *
+ * @param string $domain Domain
+ * @param string $msg Message to translate
+ * @param integer $category Category
+ * @param boolean $return true to return, false to echo
+ * @return translated string if $return is false string will be echoed
+ */
+	function __dc($domain, $msg, $category, $return = false) {
+		if (!$msg) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($msg, null, $domain, $category);
+		} else {
+			return I18n::translate($msg, null, $domain, $category);
+		}
+	}
+
+/**
+ * Allows you to override the current domain for a single plural message lookup.
+ * It also allows you to specify a category.
+ * Returns correct plural form of message identified by $singular and $plural for count $count
+ * from domain $domain.
+ *
+ * The category argument allows a specific category of the locale settings to be used for fetching a message.
+ * Valid categories are: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES and LC_ALL.
+ *
+ * Note that the category must be specified with a numeric value, instead of the constant name.  The values are:
+ *
+ * - LC_ALL       0
+ * - LC_COLLATE   1
+ * - LC_CTYPE     2
+ * - LC_MONETARY  3
+ * - LC_NUMERIC   4
+ * - LC_TIME      5
+ * - LC_MESSAGES  6
+ *
+ * @param string $domain Domain
+ * @param string $singular Singular string to translate
+ * @param string $plural Plural
+ * @param integer $count Count
+ * @param integer $category Category
+ * @param boolean $return true to return, false to echo
+ * @return plural form of translated string if $return is false string will be echoed
+ */
+	function __dcn($domain, $singular, $plural, $count, $category, $return = false) {
+		if (!$singular) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($singular, $plural, $domain, $category, $count);
+		} else {
+			return I18n::translate($singular, $plural, $domain, $category, $count);
+		}
+	}
+
+/**
+ * The category argument allows a specific category of the locale settings to be used for fetching a message.
+ * Valid categories are: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES and LC_ALL.
+ *
+ * Note that the category must be specified with a numeric value, instead of the constant name.  The values are:
+ *
+ * - LC_ALL       0
+ * - LC_COLLATE   1
+ * - LC_CTYPE     2
+ * - LC_MONETARY  3
+ * - LC_NUMERIC   4
+ * - LC_TIME      5
+ * - LC_MESSAGES  6
+ *
+ * @param string $msg String to translate
+ * @param integer $category Category
+ * @param string $return true to return, false to echo
+ * @return translated string if $return is false string will be echoed
+ */
+	function __c($msg, $category, $return = false) {
+		if (!$msg) {
+			return;
+		}
+		if (!class_exists('I18n')) {
+			App::import('Core', 'i18n');
+		}
+
+		if ($return === false) {
+			echo I18n::translate($msg, null, null, $category);
+		} else {
+			return I18n::translate($msg, null, null, $category);
+		}
+	}
+
+/**
+ * Computes the difference of arrays using keys for comparison.
+ *
+ * @param array First array
+ * @param array Second array
+ * @return array Array with different keys
+ * @deprecated Will be removed in 2.0
+ */
+	if (!function_exists('array_diff_key')) {
+		function array_diff_key() {
+			$valuesDiff = array();
+
+			$argc = func_num_args();
+			if ($argc < 2) {
+				return false;
+			}
+
+			$args = func_get_args();
+			foreach ($args as $param) {
+				if (!is_array($param)) {
+					return false;
+				}
+			}
+
+			foreach ($args[0] as $valueKey => $valueData) {
+				for ($i = 1; $i < $argc; $i++) {
+					if (array_key_exists($valueKey, $args[$i])) {
+						continue 2;
+					}
+				}
+				$valuesDiff[$valueKey] = $valueData;
+			}
+			return $valuesDiff;
+		}
+	}
+
+/**
+ * Computes the intersection of arrays using keys for comparison
+ *
+ * @param array First array
+ * @param array Second array
+ * @return array Array with interesected keys
+ * @deprecated Will be removed in 2.0
+ */
+	if (!function_exists('array_intersect_key')) {
+		function array_intersect_key($arr1, $arr2) {
+			$res = array();
+			foreach ($arr1 as $key => $value) {
+				if (array_key_exists($key, $arr2)) {
+					$res[$key] = $arr1[$key];
+				}
+			}
+			return $res;
+		}
+	}
+
+/**
+ * Shortcut to Log::write.
+ *
+ * @param string $message Message to write to log
+ */
+	function LogError($message) {
+		if (!class_exists('CakeLog')) {
+			App::import('Core', 'CakeLog');
+		}
+		$bad = array("\n", "\r", "\t");
+		$good = ' ';
+		CakeLog::write('error', str_replace($bad, $good, $message));
+	}
+
+/**
+ * Searches include path for files.
+ *
+ * @param string $file File to look for
+ * @return Full path to file if exists, otherwise false
+ * @link http://book.cakephp.org/view/1131/fileExistsInPath
+ */
+	function fileExistsInPath($file) {
+		$paths = explode(PATH_SEPARATOR, ini_get('include_path'));
+		foreach ($paths as $path) {
+			$fullPath = $path . DS . $file;
+
+			if (file_exists($fullPath)) {
+				return $fullPath;
+			} elseif (file_exists($file)) {
+				return $file;
+			}
+		}
+		return false;
+	}
+
+/**
+ * Convert forward slashes to underscores and removes first and last underscores in a string
+ *
+ * @param string String to convert
+ * @return string with underscore remove from start and end of string
+ * @link http://book.cakephp.org/view/1126/convertSlash
+ */
+	function convertSlash($string) {
+		$string = trim($string, '/');
+		$string = preg_replace('/\/\//', '/', $string);
+		$string = str_replace('/', '_', $string);
+		return $string;
+	}
+
+/**
+ * Implements http_build_query for PHP4.
+ *
+ * @param string $data Data to set in query string
+ * @param string $prefix If numeric indices, prepend this to index for elements in base array.
+ * @param string $argSep String used to separate arguments
+ * @param string $baseKey Base key
+ * @return string URL encoded query string
+ * @see http://php.net/http_build_query
+ * @deprecated Will be removed in 2.0
+ */
+	if (!function_exists('http_build_query')) {
+		function http_build_query($data, $prefix = null, $argSep = null, $baseKey = null) {
+			if (empty($argSep)) {
+				$argSep = ini_get('arg_separator.output');
+			}
+			if (is_object($data)) {
+				$data = get_object_vars($data);
+			}
+			$out = array();
+
+			foreach ((array)$data as $key => $v) {
+				if (is_numeric($key) && !empty($prefix)) {
+					$key = $prefix . $key;
+				}
+				$key = urlencode($key);
+
+				if (!empty($baseKey)) {
+					$key = $baseKey . '[' . $key . ']';
+				}
+
+				if (is_array($v) || is_object($v)) {
+					$out[] = http_build_query($v, $prefix, $argSep, $key);
+				} else {
+					$out[] = $key . '=' . urlencode($v);
+				}
+			}
+			return implode($argSep, $out);
+		}
+	}
+
+/**
+ * Wraps ternary operations. If $condition is a non-empty value, $val1 is returned, otherwise $val2.
+ * Don't use for isset() conditions, or wrap your variable with @ operator:
+ * Example:
+ *
+ * `ife(isset($variable), @$variable, 'default');`
+ *
+ * @param mixed $condition Conditional expression
+ * @param mixed $val1 Value to return in case condition matches
+ * @param mixed $val2 Value to return if condition doesn't match
+ * @return mixed $val1 or $val2, depending on whether $condition evaluates to a non-empty expression.
+ * @link http://book.cakephp.org/view/1133/ife
+ * @deprecated Will be removed in 2.0
+ */
+	function ife($condition, $val1 = null, $val2 = null) {
+		if (!empty($condition)) {
+			return $val1;
+		}
+		return $val2;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/bootstrap.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Basic Cake functionality.
+ *
+ * Handles loading of core files needed on every request
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+if (!defined('PHP5')) {
+	define('PHP5', (PHP_VERSION >= 5));
+}
+if (!defined('E_DEPRECATED')) {
+	define('E_DEPRECATED', 8192);
+}
+error_reporting(E_ALL & ~E_DEPRECATED);
+
+require CORE_PATH . 'cake' . DS . 'basics.php';
+$TIME_START = getMicrotime();
+require CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php';
+require LIBS . 'object.php';
+require LIBS . 'inflector.php';
+require LIBS . 'configure.php';
+require LIBS . 'set.php';
+require LIBS . 'cache.php';
+Configure::getInstance();
+require CAKE . 'dispatcher.php';
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/config.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Core Configurations.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.app.config
+ * @since         CakePHP(tm) v 1.1.11.4062
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+return $config['Cake.version'] = '1.3.9';
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/paths.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,231 @@
+<?php
+/**
+ * Path configuration
+ *
+ * In this file you set paths to different directories used by Cake.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.app.config
+ * @since         CakePHP(tm) v 0.2.9
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * If the index.php file is used instead of an .htaccess file
+ * or if the user can not set the web root to use the public
+ * directory we will define ROOT there, otherwise we set it
+ * here.
+ */
+	if (!defined('ROOT')) {
+		define('ROOT', '../');
+	}
+	if (!defined('WEBROOT_DIR')) {
+		define('WEBROOT_DIR', 'webroot');
+	}
+
+/**
+ * Path to the cake directory.
+ */
+	define('CAKE', CORE_PATH.'cake'.DS);
+
+/**
+ * Path to the application's directory.
+ */
+if (!defined('APP')) {
+	define('APP', ROOT.DS.APP_DIR.DS);
+}
+
+/**
+ * Path to the application's models directory.
+ */
+	define('MODELS', APP.'models'.DS);
+
+/**
+ * Path to model behaviors directory.
+ */
+	define('BEHAVIORS', MODELS.'behaviors'.DS);
+
+/**
+ * Path to the application's controllers directory.
+ */
+	define('CONTROLLERS', APP.'controllers'.DS);
+
+/**
+ * Path to the application's components directory.
+ */
+	define('COMPONENTS', CONTROLLERS.'components'.DS);
+
+/**
+ * Path to the application's libs directory.
+ */
+	define('APPLIBS', APP.'libs'.DS);
+
+/**
+ * Path to the application's views directory.
+ */
+	define('VIEWS', APP.'views'.DS);
+
+/**
+ * Path to the application's helpers directory.
+ */
+	define('HELPERS', VIEWS.'helpers'.DS);
+
+/**
+ * Path to the application's view's layouts directory.
+ */
+	define('LAYOUTS', VIEWS.'layouts'.DS);
+
+/**
+ * Path to the application's view's elements directory.
+ * It's supposed to hold pieces of PHP/HTML that are used on multiple pages
+ * and are not linked to a particular layout (like polls, footers and so on).
+ */
+	define('ELEMENTS', VIEWS.'elements'.DS);
+
+/**
+ * Path to the configuration files directory.
+ */
+if (!defined('CONFIGS')) {
+	define('CONFIGS', APP.'config'.DS);
+}
+
+/**
+ * Path to the libs directory.
+ */
+	define('LIBS', CAKE.'libs'.DS);
+
+/**
+ * Path to the public CSS directory.
+ */
+	define('CSS', WWW_ROOT.'css'.DS);
+
+/**
+ * Path to the public JavaScript directory.
+ */
+	define('JS', WWW_ROOT.'js'.DS);
+
+/**
+ * Path to the public images directory.
+ */
+	define('IMAGES', WWW_ROOT.'img'.DS);
+
+/**
+ * Path to the console libs direcotry.
+ */
+	define('CONSOLE_LIBS', CAKE.'console'.DS.'libs'.DS);
+
+/**
+ * Path to the tests directory.
+ */
+if (!defined('TESTS')) {
+	define('TESTS', APP.'tests'.DS);
+}
+
+/**
+ * Path to the core tests directory.
+ */
+if (!defined('CAKE_TESTS')) {
+	define('CAKE_TESTS', CAKE.'tests'.DS);
+}
+
+/**
+ * Path to the test suite.
+ */
+	define('CAKE_TESTS_LIB', CAKE_TESTS.'lib'.DS);
+
+/**
+ * Path to the controller test directory.
+ */
+	define('CONTROLLER_TESTS', TESTS.'cases'.DS.'controllers'.DS);
+
+/**
+ * Path to the components test directory.
+ */
+	define('COMPONENT_TESTS', TESTS.'cases'.DS.'components'.DS);
+
+/**
+ * Path to the helpers test directory.
+ */
+	define('HELPER_TESTS', TESTS.'cases'.DS.'views'.DS.'helpers'.DS);
+
+/**
+ * Path to the models' test directory.
+ */
+	define('MODEL_TESTS', TESTS.'cases'.DS.'models'.DS);
+
+/**
+ * Path to the lib test directory.
+ */
+	define('LIB_TESTS', CAKE_TESTS.'cases'.DS.'lib'.DS);
+
+/**
+ * Path to the temporary files directory.
+ */
+if (!defined('TMP')) {
+	define('TMP', APP.'tmp'.DS);
+}
+
+/**
+ * Path to the logs directory.
+ */
+	define('LOGS', TMP.'logs'.DS);
+
+/**
+ * Path to the cache files directory. It can be shared between hosts in a multi-server setup.
+ */
+	define('CACHE', TMP.'cache'.DS);
+
+/**
+ * Path to the vendors directory.
+ */
+if (!defined('VENDORS')) {
+	define('VENDORS', CAKE_CORE_INCLUDE_PATH.DS.'vendors'.DS);
+}
+
+/**
+ *  Full url prefix
+ */
+if (!defined('FULL_BASE_URL')) {
+	$s = null;
+	if (env('HTTPS')) {
+		$s ='s';
+	}
+
+	$httpHost = env('HTTP_HOST');
+
+	if (isset($httpHost)) {
+		define('FULL_BASE_URL', 'http'.$s.'://'.$httpHost);
+	}
+	unset($httpHost, $s);
+}
+
+/**
+ * Web path to the public images directory.
+ */
+if (!defined('IMAGES_URL')) {
+	define('IMAGES_URL', 'img/');
+}
+
+/**
+ * Web path to the CSS files directory.
+ */
+if (!defined('CSS_URL')) {
+	define('CSS_URL', 'css/');
+}
+
+/**
+ * Web path to the js files directory.
+ */
+if (!defined('JS_URL')) {
+	define('JS_URL', 'js/');
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0080_00ff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0080 through U+00FF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0080_00ff'][] = array('upper' => 181, 'status' => 'C', 'lower' => array(956));
+$config['0080_00ff'][] = array('upper' => 924, 'status' => 'C', 'lower' => array(181));
+$config['0080_00ff'][] = array('upper' => 192, 'status' => 'C', 'lower' => array(224)); /* LATIN CAPITAL LETTER A WITH GRAVE */
+$config['0080_00ff'][] = array('upper' => 193, 'status' => 'C', 'lower' => array(225)); /* LATIN CAPITAL LETTER A WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 194, 'status' => 'C', 'lower' => array(226)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+$config['0080_00ff'][] = array('upper' => 195, 'status' => 'C', 'lower' => array(227)); /* LATIN CAPITAL LETTER A WITH TILDE */
+$config['0080_00ff'][] = array('upper' => 196, 'status' => 'C', 'lower' => array(228)); /* LATIN CAPITAL LETTER A WITH DIAERESIS */
+$config['0080_00ff'][] = array('upper' => 197, 'status' => 'C', 'lower' => array(229)); /* LATIN CAPITAL LETTER A WITH RING ABOVE */
+$config['0080_00ff'][] = array('upper' => 198, 'status' => 'C', 'lower' => array(230)); /* LATIN CAPITAL LETTER AE */
+$config['0080_00ff'][] = array('upper' => 199, 'status' => 'C', 'lower' => array(231)); /* LATIN CAPITAL LETTER C WITH CEDILLA */
+$config['0080_00ff'][] = array('upper' => 200, 'status' => 'C', 'lower' => array(232)); /* LATIN CAPITAL LETTER E WITH GRAVE */
+$config['0080_00ff'][] = array('upper' => 201, 'status' => 'C', 'lower' => array(233)); /* LATIN CAPITAL LETTER E WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 202, 'status' => 'C', 'lower' => array(234)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+$config['0080_00ff'][] = array('upper' => 203, 'status' => 'C', 'lower' => array(235)); /* LATIN CAPITAL LETTER E WITH DIAERESIS */
+$config['0080_00ff'][] = array('upper' => 204, 'status' => 'C', 'lower' => array(236)); /* LATIN CAPITAL LETTER I WITH GRAVE */
+$config['0080_00ff'][] = array('upper' => 205, 'status' => 'C', 'lower' => array(237)); /* LATIN CAPITAL LETTER I WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 206, 'status' => 'C', 'lower' => array(238)); /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+$config['0080_00ff'][] = array('upper' => 207, 'status' => 'C', 'lower' => array(239)); /* LATIN CAPITAL LETTER I WITH DIAERESIS */
+$config['0080_00ff'][] = array('upper' => 208, 'status' => 'C', 'lower' => array(240)); /* LATIN CAPITAL LETTER ETH */
+$config['0080_00ff'][] = array('upper' => 209, 'status' => 'C', 'lower' => array(241)); /* LATIN CAPITAL LETTER N WITH TILDE */
+$config['0080_00ff'][] = array('upper' => 210, 'status' => 'C', 'lower' => array(242)); /* LATIN CAPITAL LETTER O WITH GRAVE */
+$config['0080_00ff'][] = array('upper' => 211, 'status' => 'C', 'lower' => array(243)); /* LATIN CAPITAL LETTER O WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 212, 'status' => 'C', 'lower' => array(244)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+$config['0080_00ff'][] = array('upper' => 213, 'status' => 'C', 'lower' => array(245)); /* LATIN CAPITAL LETTER O WITH TILDE */
+$config['0080_00ff'][] = array('upper' => 214, 'status' => 'C', 'lower' => array(246)); /* LATIN CAPITAL LETTER O WITH DIAERESIS */
+$config['0080_00ff'][] = array('upper' => 216, 'status' => 'C', 'lower' => array(248)); /* LATIN CAPITAL LETTER O WITH STROKE */
+$config['0080_00ff'][] = array('upper' => 217, 'status' => 'C', 'lower' => array(249)); /* LATIN CAPITAL LETTER U WITH GRAVE */
+$config['0080_00ff'][] = array('upper' => 218, 'status' => 'C', 'lower' => array(250)); /* LATIN CAPITAL LETTER U WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 219, 'status' => 'C', 'lower' => array(251)); /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+$config['0080_00ff'][] = array('upper' => 220, 'status' => 'C', 'lower' => array(252)); /* LATIN CAPITAL LETTER U WITH DIAERESIS */
+$config['0080_00ff'][] = array('upper' => 221, 'status' => 'C', 'lower' => array(253)); /* LATIN CAPITAL LETTER Y WITH ACUTE */
+$config['0080_00ff'][] = array('upper' => 222, 'status' => 'C', 'lower' => array(254)); /* LATIN CAPITAL LETTER THORN */
+$config['0080_00ff'][] = array('upper' => 223, 'status' => 'F', 'lower' => array(115, 115)); /* LATIN SMALL LETTER SHARP S */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0100_017f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0100 through U+017F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0100_017f'][] = array('upper' => 256, 'status' => 'C', 'lower' => array(257)); /* LATIN CAPITAL LETTER A WITH MACRON */
+$config['0100_017f'][] = array('upper' => 258, 'status' => 'C', 'lower' => array(259)); /* LATIN CAPITAL LETTER A WITH BREVE */
+$config['0100_017f'][] = array('upper' => 260, 'status' => 'C', 'lower' => array(261)); /* LATIN CAPITAL LETTER A WITH OGONEK */
+$config['0100_017f'][] = array('upper' => 262, 'status' => 'C', 'lower' => array(263)); /* LATIN CAPITAL LETTER C WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 264, 'status' => 'C', 'lower' => array(265)); /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 266, 'status' => 'C', 'lower' => array(267)); /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 268, 'status' => 'C', 'lower' => array(269)); /* LATIN CAPITAL LETTER C WITH CARON */
+$config['0100_017f'][] = array('upper' => 270, 'status' => 'C', 'lower' => array(271)); /* LATIN CAPITAL LETTER D WITH CARON */
+$config['0100_017f'][] = array('upper' => 272, 'status' => 'C', 'lower' => array(273)); /* LATIN CAPITAL LETTER D WITH STROKE */
+$config['0100_017f'][] = array('upper' => 274, 'status' => 'C', 'lower' => array(275)); /* LATIN CAPITAL LETTER E WITH MACRON */
+$config['0100_017f'][] = array('upper' => 276, 'status' => 'C', 'lower' => array(277)); /* LATIN CAPITAL LETTER E WITH BREVE */
+$config['0100_017f'][] = array('upper' => 278, 'status' => 'C', 'lower' => array(279)); /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 280, 'status' => 'C', 'lower' => array(281)); /* LATIN CAPITAL LETTER E WITH OGONEK */
+$config['0100_017f'][] = array('upper' => 282, 'status' => 'C', 'lower' => array(283)); /* LATIN CAPITAL LETTER E WITH CARON */
+$config['0100_017f'][] = array('upper' => 284, 'status' => 'C', 'lower' => array(285)); /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 286, 'status' => 'C', 'lower' => array(287)); /* LATIN CAPITAL LETTER G WITH BREVE */
+$config['0100_017f'][] = array('upper' => 288, 'status' => 'C', 'lower' => array(289)); /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 290, 'status' => 'C', 'lower' => array(291)); /* LATIN CAPITAL LETTER G WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 292, 'status' => 'C', 'lower' => array(293)); /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 294, 'status' => 'C', 'lower' => array(295)); /* LATIN CAPITAL LETTER H WITH STROKE */
+$config['0100_017f'][] = array('upper' => 296, 'status' => 'C', 'lower' => array(297)); /* LATIN CAPITAL LETTER I WITH TILDE */
+$config['0100_017f'][] = array('upper' => 298, 'status' => 'C', 'lower' => array(299)); /* LATIN CAPITAL LETTER I WITH MACRON */
+$config['0100_017f'][] = array('upper' => 300, 'status' => 'C', 'lower' => array(301)); /* LATIN CAPITAL LETTER I WITH BREVE */
+$config['0100_017f'][] = array('upper' => 302, 'status' => 'C', 'lower' => array(303)); /* LATIN CAPITAL LETTER I WITH OGONEK */
+$config['0100_017f'][] = array('upper' => 304, 'status' => 'F', 'lower' => array(105, 775)); /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 304, 'status' => 'T', 'lower' => array(105)); /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 306, 'status' => 'C', 'lower' => array(307)); /* LATIN CAPITAL LIGATURE IJ */
+$config['0100_017f'][] = array('upper' => 308, 'status' => 'C', 'lower' => array(309)); /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 310, 'status' => 'C', 'lower' => array(311)); /* LATIN CAPITAL LETTER K WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 313, 'status' => 'C', 'lower' => array(314)); /* LATIN CAPITAL LETTER L WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 315, 'status' => 'C', 'lower' => array(316)); /* LATIN CAPITAL LETTER L WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 317, 'status' => 'C', 'lower' => array(318)); /* LATIN CAPITAL LETTER L WITH CARON */
+$config['0100_017f'][] = array('upper' => 319, 'status' => 'C', 'lower' => array(320)); /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
+$config['0100_017f'][] = array('upper' => 321, 'status' => 'C', 'lower' => array(322)); /* LATIN CAPITAL LETTER L WITH STROKE */
+$config['0100_017f'][] = array('upper' => 323, 'status' => 'C', 'lower' => array(324)); /* LATIN CAPITAL LETTER N WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 325, 'status' => 'C', 'lower' => array(326)); /* LATIN CAPITAL LETTER N WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 327, 'status' => 'C', 'lower' => array(328)); /* LATIN CAPITAL LETTER N WITH CARON */
+$config['0100_017f'][] = array('upper' => 329, 'status' => 'F', 'lower' => array(700, 110)); /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
+$config['0100_017f'][] = array('upper' => 330, 'status' => 'C', 'lower' => array(331)); /* LATIN CAPITAL LETTER ENG */
+$config['0100_017f'][] = array('upper' => 332, 'status' => 'C', 'lower' => array(333)); /* LATIN CAPITAL LETTER O WITH MACRON */
+$config['0100_017f'][] = array('upper' => 334, 'status' => 'C', 'lower' => array(335)); /* LATIN CAPITAL LETTER O WITH BREVE */
+$config['0100_017f'][] = array('upper' => 336, 'status' => 'C', 'lower' => array(337)); /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+$config['0100_017f'][] = array('upper' => 338, 'status' => 'C', 'lower' => array(339)); /* LATIN CAPITAL LIGATURE OE */
+$config['0100_017f'][] = array('upper' => 340, 'status' => 'C', 'lower' => array(341)); /* LATIN CAPITAL LETTER R WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 342, 'status' => 'C', 'lower' => array(343)); /* LATIN CAPITAL LETTER R WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 344, 'status' => 'C', 'lower' => array(345)); /* LATIN CAPITAL LETTER R WITH CARON */
+$config['0100_017f'][] = array('upper' => 346, 'status' => 'C', 'lower' => array(347)); /* LATIN CAPITAL LETTER S WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 348, 'status' => 'C', 'lower' => array(349)); /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 350, 'status' => 'C', 'lower' => array(351)); /* LATIN CAPITAL LETTER S WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 352, 'status' => 'C', 'lower' => array(353)); /* LATIN CAPITAL LETTER S WITH CARON */
+$config['0100_017f'][] = array('upper' => 354, 'status' => 'C', 'lower' => array(355)); /* LATIN CAPITAL LETTER T WITH CEDILLA */
+$config['0100_017f'][] = array('upper' => 356, 'status' => 'C', 'lower' => array(357)); /* LATIN CAPITAL LETTER T WITH CARON */
+$config['0100_017f'][] = array('upper' => 358, 'status' => 'C', 'lower' => array(359)); /* LATIN CAPITAL LETTER T WITH STROKE */
+$config['0100_017f'][] = array('upper' => 360, 'status' => 'C', 'lower' => array(361)); /* LATIN CAPITAL LETTER U WITH TILDE */
+$config['0100_017f'][] = array('upper' => 362, 'status' => 'C', 'lower' => array(363)); /* LATIN CAPITAL LETTER U WITH MACRON */
+$config['0100_017f'][] = array('upper' => 364, 'status' => 'C', 'lower' => array(365)); /* LATIN CAPITAL LETTER U WITH BREVE */
+$config['0100_017f'][] = array('upper' => 366, 'status' => 'C', 'lower' => array(367)); /* LATIN CAPITAL LETTER U WITH RING ABOVE */
+$config['0100_017f'][] = array('upper' => 368, 'status' => 'C', 'lower' => array(369)); /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+$config['0100_017f'][] = array('upper' => 370, 'status' => 'C', 'lower' => array(371)); /* LATIN CAPITAL LETTER U WITH OGONEK */
+$config['0100_017f'][] = array('upper' => 372, 'status' => 'C', 'lower' => array(373)); /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 374, 'status' => 'C', 'lower' => array(375)); /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+$config['0100_017f'][] = array('upper' => 376, 'status' => 'C', 'lower' => array(255)); /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
+$config['0100_017f'][] = array('upper' => 377, 'status' => 'C', 'lower' => array(378)); /* LATIN CAPITAL LETTER Z WITH ACUTE */
+$config['0100_017f'][] = array('upper' => 379, 'status' => 'C', 'lower' => array(380)); /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+$config['0100_017f'][] = array('upper' => 381, 'status' => 'C', 'lower' => array(382)); /* LATIN CAPITAL LETTER Z WITH CARON */
+$config['0100_017f'][] = array('upper' => 383, 'status' => 'C', 'lower' => array(115)); /* LATIN SMALL LETTER LONG S */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0180_024F.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,149 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0180 through U+024F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0180_024F'][] = array('upper' => 385, 'status' => 'C', 'lower' => array(595)); /* LATIN CAPITAL LETTER B WITH HOOK */
+$config['0180_024F'][] = array('upper' => 386, 'status' => 'C', 'lower' => array(387)); /* LATIN CAPITAL LETTER B WITH TOPBAR */
+$config['0180_024F'][] = array('upper' => 388, 'status' => 'C', 'lower' => array(389)); /* LATIN CAPITAL LETTER TONE SIX */
+$config['0180_024F'][] = array('upper' => 390, 'status' => 'C', 'lower' => array(596)); /* LATIN CAPITAL LETTER OPEN O */
+$config['0180_024F'][] = array('upper' => 391, 'status' => 'C', 'lower' => array(392)); /* LATIN CAPITAL LETTER C WITH HOOK */
+$config['0180_024F'][] = array('upper' => 393, 'status' => 'C', 'lower' => array(598)); /* LATIN CAPITAL LETTER AFRICAN D */
+$config['0180_024F'][] = array('upper' => 394, 'status' => 'C', 'lower' => array(599)); /* LATIN CAPITAL LETTER D WITH HOOK */
+$config['0180_024F'][] = array('upper' => 395, 'status' => 'C', 'lower' => array(396)); /* LATIN CAPITAL LETTER D WITH TOPBAR */
+$config['0180_024F'][] = array('upper' => 398, 'status' => 'C', 'lower' => array(477)); /* LATIN CAPITAL LETTER REVERSED E */
+$config['0180_024F'][] = array('upper' => 399, 'status' => 'C', 'lower' => array(601)); /* LATIN CAPITAL LETTER SCHWA */
+$config['0180_024F'][] = array('upper' => 400, 'status' => 'C', 'lower' => array(603)); /* LATIN CAPITAL LETTER OPEN E */
+$config['0180_024F'][] = array('upper' => 401, 'status' => 'C', 'lower' => array(402)); /* LATIN CAPITAL LETTER F WITH HOOK */
+$config['0180_024F'][] = array('upper' => 403, 'status' => 'C', 'lower' => array(608)); /* LATIN CAPITAL LETTER G WITH HOOK */
+$config['0180_024F'][] = array('upper' => 404, 'status' => 'C', 'lower' => array(611)); /* LATIN CAPITAL LETTER GAMMA */
+$config['0180_024F'][] = array('upper' => 406, 'status' => 'C', 'lower' => array(617)); /* LATIN CAPITAL LETTER IOTA */
+$config['0180_024F'][] = array('upper' => 407, 'status' => 'C', 'lower' => array(616)); /* LATIN CAPITAL LETTER I WITH STROKE */
+$config['0180_024F'][] = array('upper' => 408, 'status' => 'C', 'lower' => array(409)); /* LATIN CAPITAL LETTER K WITH HOOK */
+$config['0180_024F'][] = array('upper' => 412, 'status' => 'C', 'lower' => array(623)); /* LATIN CAPITAL LETTER TURNED M */
+$config['0180_024F'][] = array('upper' => 413, 'status' => 'C', 'lower' => array(626)); /* LATIN CAPITAL LETTER N WITH LEFT HOOK */
+$config['0180_024F'][] = array('upper' => 415, 'status' => 'C', 'lower' => array(629)); /* LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+$config['0180_024F'][] = array('upper' => 416, 'status' => 'C', 'lower' => array(417)); /* LATIN CAPITAL LETTER O WITH HORN */
+$config['0180_024F'][] = array('upper' => 418, 'status' => 'C', 'lower' => array(419)); /* LATIN CAPITAL LETTER OI */
+$config['0180_024F'][] = array('upper' => 420, 'status' => 'C', 'lower' => array(421)); /* LATIN CAPITAL LETTER P WITH HOOK */
+$config['0180_024F'][] = array('upper' => 422, 'status' => 'C', 'lower' => array(640)); /* LATIN LETTER YR */
+$config['0180_024F'][] = array('upper' => 423, 'status' => 'C', 'lower' => array(424)); /* LATIN CAPITAL LETTER TONE TWO */
+$config['0180_024F'][] = array('upper' => 425, 'status' => 'C', 'lower' => array(643)); /* LATIN CAPITAL LETTER ESH */
+$config['0180_024F'][] = array('upper' => 428, 'status' => 'C', 'lower' => array(429)); /* LATIN CAPITAL LETTER T WITH HOOK */
+$config['0180_024F'][] = array('upper' => 430, 'status' => 'C', 'lower' => array(648)); /* LATIN CAPITAL LETTER T WITH RETROFLEX HOOK */
+$config['0180_024F'][] = array('upper' => 431, 'status' => 'C', 'lower' => array(432)); /* LATIN CAPITAL LETTER U WITH HORN */
+$config['0180_024F'][] = array('upper' => 433, 'status' => 'C', 'lower' => array(650)); /* LATIN CAPITAL LETTER UPSILON */
+$config['0180_024F'][] = array('upper' => 434, 'status' => 'C', 'lower' => array(651)); /* LATIN CAPITAL LETTER V WITH HOOK */
+$config['0180_024F'][] = array('upper' => 435, 'status' => 'C', 'lower' => array(436)); /* LATIN CAPITAL LETTER Y WITH HOOK */
+$config['0180_024F'][] = array('upper' => 437, 'status' => 'C', 'lower' => array(438)); /* LATIN CAPITAL LETTER Z WITH STROKE */
+$config['0180_024F'][] = array('upper' => 439, 'status' => 'C', 'lower' => array(658)); /* LATIN CAPITAL LETTER EZH */
+$config['0180_024F'][] = array('upper' => 440, 'status' => 'C', 'lower' => array(441)); /* LATIN CAPITAL LETTER EZH REVERSED */
+$config['0180_024F'][] = array('upper' => 444, 'status' => 'C', 'lower' => array(445)); /* LATIN CAPITAL LETTER TONE FIVE */
+$config['0180_024F'][] = array('upper' => 452, 'status' => 'C', 'lower' => array(454)); /* LATIN CAPITAL LETTER DZ WITH CARON */
+$config['0180_024F'][] = array('upper' => 453, 'status' => 'C', 'lower' => array(454)); /* LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON */
+$config['0180_024F'][] = array('upper' => 455, 'status' => 'C', 'lower' => array(457)); /* LATIN CAPITAL LETTER LJ */
+$config['0180_024F'][] = array('upper' => 456, 'status' => 'C', 'lower' => array(457)); /* LATIN CAPITAL LETTER L WITH SMALL LETTER J */
+$config['0180_024F'][] = array('upper' => 458, 'status' => 'C', 'lower' => array(460)); /* LATIN CAPITAL LETTER NJ */
+$config['0180_024F'][] = array('upper' => 459, 'status' => 'C', 'lower' => array(460)); /* LATIN CAPITAL LETTER N WITH SMALL LETTER J */
+$config['0180_024F'][] = array('upper' => 461, 'status' => 'C', 'lower' => array(462)); /* LATIN CAPITAL LETTER A WITH CARON */
+$config['0180_024F'][] = array('upper' => 463, 'status' => 'C', 'lower' => array(464)); /* LATIN CAPITAL LETTER I WITH CARON */
+$config['0180_024F'][] = array('upper' => 465, 'status' => 'C', 'lower' => array(466)); /* LATIN CAPITAL LETTER O WITH CARON */
+$config['0180_024F'][] = array('upper' => 467, 'status' => 'C', 'lower' => array(468)); /* LATIN CAPITAL LETTER U WITH CARON */
+$config['0180_024F'][] = array('upper' => 469, 'status' => 'C', 'lower' => array(470)); /* LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON */
+$config['0180_024F'][] = array('upper' => 471, 'status' => 'C', 'lower' => array(472)); /* LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE */
+$config['0180_024F'][] = array('upper' => 473, 'status' => 'C', 'lower' => array(474)); /* LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON */
+$config['0180_024F'][] = array('upper' => 475, 'status' => 'C', 'lower' => array(476)); /* LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE */
+$config['0180_024F'][] = array('upper' => 478, 'status' => 'C', 'lower' => array(479)); /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */
+$config['0180_024F'][] = array('upper' => 480, 'status' => 'C', 'lower' => array(481)); /* LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON */
+$config['0180_024F'][] = array('upper' => 482, 'status' => 'C', 'lower' => array(483)); /* LATIN CAPITAL LETTER AE WITH MACRON */
+$config['0180_024F'][] = array('upper' => 484, 'status' => 'C', 'lower' => array(485)); /* LATIN CAPITAL LETTER G WITH STROKE */
+$config['0180_024F'][] = array('upper' => 486, 'status' => 'C', 'lower' => array(487)); /* LATIN CAPITAL LETTER G WITH CARON */
+$config['0180_024F'][] = array('upper' => 488, 'status' => 'C', 'lower' => array(489)); /* LATIN CAPITAL LETTER K WITH CARON */
+$config['0180_024F'][] = array('upper' => 490, 'status' => 'C', 'lower' => array(491)); /* LATIN CAPITAL LETTER O WITH OGONEK */
+$config['0180_024F'][] = array('upper' => 492, 'status' => 'C', 'lower' => array(493)); /* LATIN CAPITAL LETTER O WITH OGONEK AND MACRON */
+$config['0180_024F'][] = array('upper' => 494, 'status' => 'C', 'lower' => array(495)); /* LATIN CAPITAL LETTER EZH WITH CARON */
+$config['0180_024F'][] = array('upper' => 496, 'status' => 'F', 'lower' => array(106, 780)); /* LATIN SMALL LETTER J WITH CARON */
+$config['0180_024F'][] = array('upper' => 497, 'status' => 'C', 'lower' => array(499)); /* LATIN CAPITAL LETTER DZ */
+$config['0180_024F'][] = array('upper' => 498, 'status' => 'C', 'lower' => array(499)); /* LATIN CAPITAL LETTER D WITH SMALL LETTER Z */
+$config['0180_024F'][] = array('upper' => 500, 'status' => 'C', 'lower' => array(501)); /* LATIN CAPITAL LETTER G WITH ACUTE */
+$config['0180_024F'][] = array('upper' => 502, 'status' => 'C', 'lower' => array(405)); /* LATIN CAPITAL LETTER HWAIR */
+$config['0180_024F'][] = array('upper' => 503, 'status' => 'C', 'lower' => array(447)); /* LATIN CAPITAL LETTER WYNN */
+$config['0180_024F'][] = array('upper' => 504, 'status' => 'C', 'lower' => array(505)); /* LATIN CAPITAL LETTER N WITH GRAVE */
+$config['0180_024F'][] = array('upper' => 506, 'status' => 'C', 'lower' => array(507)); /* LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE */
+$config['0180_024F'][] = array('upper' => 508, 'status' => 'C', 'lower' => array(509)); /* LATIN CAPITAL LETTER AE WITH ACUTE */
+$config['0180_024F'][] = array('upper' => 510, 'status' => 'C', 'lower' => array(511)); /* LATIN CAPITAL LETTER O WITH STROKE AND ACUTE */
+$config['0180_024F'][] = array('upper' => 512, 'status' => 'C', 'lower' => array(513)); /* LATIN CAPITAL LETTER A WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 514, 'status' => 'C', 'lower' => array(515)); /* LATIN CAPITAL LETTER A WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 516, 'status' => 'C', 'lower' => array(517)); /* LATIN CAPITAL LETTER E WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 518, 'status' => 'C', 'lower' => array(519)); /* LATIN CAPITAL LETTER E WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 520, 'status' => 'C', 'lower' => array(521)); /* LATIN CAPITAL LETTER I WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 522, 'status' => 'C', 'lower' => array(523)); /* LATIN CAPITAL LETTER I WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 524, 'status' => 'C', 'lower' => array(525)); /* LATIN CAPITAL LETTER O WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 526, 'status' => 'C', 'lower' => array(527)); /* LATIN CAPITAL LETTER O WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 528, 'status' => 'C', 'lower' => array(529)); /* LATIN CAPITAL LETTER R WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 530, 'status' => 'C', 'lower' => array(531)); /* LATIN CAPITAL LETTER R WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 532, 'status' => 'C', 'lower' => array(533)); /* LATIN CAPITAL LETTER U WITH DOUBLE GRAVE */
+$config['0180_024F'][] = array('upper' => 534, 'status' => 'C', 'lower' => array(535)); /* LATIN CAPITAL LETTER U WITH INVERTED BREVE */
+$config['0180_024F'][] = array('upper' => 536, 'status' => 'C', 'lower' => array(537)); /* LATIN CAPITAL LETTER S WITH COMMA BELOW */
+$config['0180_024F'][] = array('upper' => 538, 'status' => 'C', 'lower' => array(539)); /* LATIN CAPITAL LETTER T WITH COMMA BELOW */
+$config['0180_024F'][] = array('upper' => 540, 'status' => 'C', 'lower' => array(541)); /* LATIN CAPITAL LETTER YOGH */
+$config['0180_024F'][] = array('upper' => 542, 'status' => 'C', 'lower' => array(543)); /* LATIN CAPITAL LETTER H WITH CARON */
+$config['0180_024F'][] = array('upper' => 544, 'status' => 'C', 'lower' => array(414)); /* LATIN CAPITAL LETTER N WITH LONG RIGHT LEG */
+$config['0180_024F'][] = array('upper' => 546, 'status' => 'C', 'lower' => array(547)); /* LATIN CAPITAL LETTER OU */
+$config['0180_024F'][] = array('upper' => 548, 'status' => 'C', 'lower' => array(549)); /* LATIN CAPITAL LETTER Z WITH HOOK */
+$config['0180_024F'][] = array('upper' => 550, 'status' => 'C', 'lower' => array(551)); /* LATIN CAPITAL LETTER A WITH DOT ABOVE */
+$config['0180_024F'][] = array('upper' => 552, 'status' => 'C', 'lower' => array(553)); /* LATIN CAPITAL LETTER E WITH CEDILLA */
+$config['0180_024F'][] = array('upper' => 554, 'status' => 'C', 'lower' => array(555)); /* LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON */
+$config['0180_024F'][] = array('upper' => 556, 'status' => 'C', 'lower' => array(557)); /* LATIN CAPITAL LETTER O WITH TILDE AND MACRON */
+$config['0180_024F'][] = array('upper' => 558, 'status' => 'C', 'lower' => array(559)); /* LATIN CAPITAL LETTER O WITH DOT ABOVE */
+$config['0180_024F'][] = array('upper' => 560, 'status' => 'C', 'lower' => array(561)); /* LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON */
+$config['0180_024F'][] = array('upper' => 562, 'status' => 'C', 'lower' => array(563)); /* LATIN CAPITAL LETTER Y WITH MACRON */
+$config['0180_024F'][] = array('upper' => 570, 'status' => 'C', 'lower' => array(11365)); /* LATIN CAPITAL LETTER A WITH STROKE */
+$config['0180_024F'][] = array('upper' => 571, 'status' => 'C', 'lower' => array(572)); /* LATIN CAPITAL LETTER C WITH STROKE */
+$config['0180_024F'][] = array('upper' => 573, 'status' => 'C', 'lower' => array(410)); /* LATIN CAPITAL LETTER L WITH BAR */
+$config['0180_024F'][] = array('upper' => 574, 'status' => 'C', 'lower' => array(11366)); /* LATIN CAPITAL LETTER T WITH DIAGONAL STROKE */
+$config['0180_024F'][] = array('upper' => 577, 'status' => 'C', 'lower' => array(578)); /* LATIN CAPITAL LETTER GLOTTAL STOP */
+$config['0180_024F'][] = array('upper' => 579, 'status' => 'C', 'lower' => array(384)); /* LATIN CAPITAL LETTER B WITH STROKE */
+$config['0180_024F'][] = array('upper' => 580, 'status' => 'C', 'lower' => array(649)); /* LATIN CAPITAL LETTER U BAR */
+$config['0180_024F'][] = array('upper' => 581, 'status' => 'C', 'lower' => array(652)); /* LATIN CAPITAL LETTER TURNED V */
+$config['0180_024F'][] = array('upper' => 582, 'status' => 'C', 'lower' => array(583)); /* LATIN CAPITAL LETTER E WITH STROKE */
+$config['0180_024F'][] = array('upper' => 584, 'status' => 'C', 'lower' => array(585)); /* LATIN CAPITAL LETTER J WITH STROKE */
+$config['0180_024F'][] = array('upper' => 586, 'status' => 'C', 'lower' => array(587)); /* LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL */
+$config['0180_024F'][] = array('upper' => 588, 'status' => 'C', 'lower' => array(589)); /* LATIN CAPITAL LETTER R WITH STROKE */
+$config['0180_024F'][] = array('upper' => 590, 'status' => 'C', 'lower' => array(591)); /* LATIN CAPITAL LETTER Y WITH STROKE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0250_02af.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0080 through U+00FF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.6833
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0250_02af'][] = array('upper' => 422, 'status' => 'C', 'lower' => array(640));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0370_03ff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0370 through U+03FF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0370_03ff'][] = array('upper' => 902, 'status' => 'C', 'lower' => array(940)); /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 904, 'status' => 'C', 'lower' => array(941)); /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 905, 'status' => 'C', 'lower' => array(942)); /* GREEK CAPITAL LETTER ETA WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 906, 'status' => 'C', 'lower' => array(943)); /* GREEK CAPITAL LETTER IOTA WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 908, 'status' => 'C', 'lower' => array(972)); /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 910, 'status' => 'C', 'lower' => array(973)); /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
+$config['0370_03ff'][] = array('upper' => 911, 'status' => 'C', 'lower' => array(974)); /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
+//$config['0370_03ff'][] = array('upper' => 912, 'status' => 'F', 'lower' => array(953, 776, 769)); /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
+$config['0370_03ff'][] = array('upper' => 913, 'status' => 'C', 'lower' => array(945)); /* GREEK CAPITAL LETTER ALPHA */
+$config['0370_03ff'][] = array('upper' => 914, 'status' => 'C', 'lower' => array(946)); /* GREEK CAPITAL LETTER BETA */
+$config['0370_03ff'][] = array('upper' => 915, 'status' => 'C', 'lower' => array(947)); /* GREEK CAPITAL LETTER GAMMA */
+$config['0370_03ff'][] = array('upper' => 916, 'status' => 'C', 'lower' => array(948)); /* GREEK CAPITAL LETTER DELTA */
+$config['0370_03ff'][] = array('upper' => 917, 'status' => 'C', 'lower' => array(949)); /* GREEK CAPITAL LETTER EPSILON */
+$config['0370_03ff'][] = array('upper' => 918, 'status' => 'C', 'lower' => array(950)); /* GREEK CAPITAL LETTER ZETA */
+$config['0370_03ff'][] = array('upper' => 919, 'status' => 'C', 'lower' => array(951)); /* GREEK CAPITAL LETTER ETA */
+$config['0370_03ff'][] = array('upper' => 920, 'status' => 'C', 'lower' => array(952)); /* GREEK CAPITAL LETTER THETA */
+$config['0370_03ff'][] = array('upper' => 921, 'status' => 'C', 'lower' => array(953)); /* GREEK CAPITAL LETTER IOTA */
+$config['0370_03ff'][] = array('upper' => 922, 'status' => 'C', 'lower' => array(954)); /* GREEK CAPITAL LETTER KAPPA */
+$config['0370_03ff'][] = array('upper' => 923, 'status' => 'C', 'lower' => array(955)); /* GREEK CAPITAL LETTER LAMDA */
+$config['0370_03ff'][] = array('upper' => 924, 'status' => 'C', 'lower' => array(956)); /* GREEK CAPITAL LETTER MU */
+$config['0370_03ff'][] = array('upper' => 925, 'status' => 'C', 'lower' => array(957)); /* GREEK CAPITAL LETTER NU */
+$config['0370_03ff'][] = array('upper' => 926, 'status' => 'C', 'lower' => array(958)); /* GREEK CAPITAL LETTER XI */
+$config['0370_03ff'][] = array('upper' => 927, 'status' => 'C', 'lower' => array(959)); /* GREEK CAPITAL LETTER OMICRON */
+$config['0370_03ff'][] = array('upper' => 928, 'status' => 'C', 'lower' => array(960)); /* GREEK CAPITAL LETTER PI */
+$config['0370_03ff'][] = array('upper' => 929, 'status' => 'C', 'lower' => array(961)); /* GREEK CAPITAL LETTER RHO */
+$config['0370_03ff'][] = array('upper' => 931, 'status' => 'C', 'lower' => array(963)); /* GREEK CAPITAL LETTER SIGMA */
+$config['0370_03ff'][] = array('upper' => 932, 'status' => 'C', 'lower' => array(964)); /* GREEK CAPITAL LETTER TAU */
+$config['0370_03ff'][] = array('upper' => 933, 'status' => 'C', 'lower' => array(965)); /* GREEK CAPITAL LETTER UPSILON */
+$config['0370_03ff'][] = array('upper' => 934, 'status' => 'C', 'lower' => array(966)); /* GREEK CAPITAL LETTER PHI */
+$config['0370_03ff'][] = array('upper' => 935, 'status' => 'C', 'lower' => array(967)); /* GREEK CAPITAL LETTER CHI */
+$config['0370_03ff'][] = array('upper' => 936, 'status' => 'C', 'lower' => array(968)); /* GREEK CAPITAL LETTER PSI */
+$config['0370_03ff'][] = array('upper' => 937, 'status' => 'C', 'lower' => array(969)); /* GREEK CAPITAL LETTER OMEGA */
+$config['0370_03ff'][] = array('upper' => 938, 'status' => 'C', 'lower' => array(970)); /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+$config['0370_03ff'][] = array('upper' => 939, 'status' => 'C', 'lower' => array(971)); /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+$config['0370_03ff'][] = array('upper' => 944, 'status' => 'F', 'lower' => array(965, 776, 769)); /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
+$config['0370_03ff'][] = array('upper' => 962, 'status' => 'C', 'lower' => array(963)); /* GREEK SMALL LETTER FINAL SIGMA */
+$config['0370_03ff'][] = array('upper' => 976, 'status' => 'C', 'lower' => array(946)); /* GREEK BETA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 977, 'status' => 'C', 'lower' => array(952)); /* GREEK THETA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 981, 'status' => 'C', 'lower' => array(966)); /* GREEK PHI SYMBOL */
+$config['0370_03ff'][] = array('upper' => 982, 'status' => 'C', 'lower' => array(960)); /* GREEK PI SYMBOL */
+$config['0370_03ff'][] = array('upper' => 984, 'status' => 'C', 'lower' => array(985)); /* GREEK LETTER ARCHAIC KOPPA */
+$config['0370_03ff'][] = array('upper' => 986, 'status' => 'C', 'lower' => array(987)); /* GREEK LETTER STIGMA */
+$config['0370_03ff'][] = array('upper' => 988, 'status' => 'C', 'lower' => array(989)); /* GREEK LETTER DIGAMMA */
+$config['0370_03ff'][] = array('upper' => 990, 'status' => 'C', 'lower' => array(991)); /* GREEK LETTER KOPPA */
+$config['0370_03ff'][] = array('upper' => 992, 'status' => 'C', 'lower' => array(993)); /* GREEK LETTER SAMPI */
+$config['0370_03ff'][] = array('upper' => 994, 'status' => 'C', 'lower' => array(995)); /* COPTIC CAPITAL LETTER SHEI */
+$config['0370_03ff'][] = array('upper' => 996, 'status' => 'C', 'lower' => array(997)); /* COPTIC CAPITAL LETTER FEI */
+$config['0370_03ff'][] = array('upper' => 998, 'status' => 'C', 'lower' => array(999)); /* COPTIC CAPITAL LETTER KHEI */
+$config['0370_03ff'][] = array('upper' => 1000, 'status' => 'C', 'lower' => array(1001)); /* COPTIC CAPITAL LETTER HORI */
+$config['0370_03ff'][] = array('upper' => 1002, 'status' => 'C', 'lower' => array(1003)); /* COPTIC CAPITAL LETTER GANGIA */
+$config['0370_03ff'][] = array('upper' => 1004, 'status' => 'C', 'lower' => array(1005)); /* COPTIC CAPITAL LETTER SHIMA */
+$config['0370_03ff'][] = array('upper' => 1006, 'status' => 'C', 'lower' => array(1007)); /* COPTIC CAPITAL LETTER DEI */
+$config['0370_03ff'][] = array('upper' => 1008, 'status' => 'C', 'lower' => array(954)); /* GREEK KAPPA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1009, 'status' => 'C', 'lower' => array(961)); /* GREEK RHO SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1012, 'status' => 'C', 'lower' => array(952)); /* GREEK CAPITAL THETA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1013, 'status' => 'C', 'lower' => array(949)); /* GREEK LUNATE EPSILON SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1015, 'status' => 'C', 'lower' => array(1016)); /* GREEK CAPITAL LETTER SHO */
+$config['0370_03ff'][] = array('upper' => 1017, 'status' => 'C', 'lower' => array(1010)); /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1018, 'status' => 'C', 'lower' => array(1019)); /* GREEK CAPITAL LETTER SAN */
+$config['0370_03ff'][] = array('upper' => 1021, 'status' => 'C', 'lower' => array(891)); /* GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1022, 'status' => 'C', 'lower' => array(892)); /* GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL */
+$config['0370_03ff'][] = array('upper' => 1023, 'status' => 'C', 'lower' => array(893)); /* GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0400_04ff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,165 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0400 through U+04FF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0400_04ff'][] = array('upper' => 1024, 'status' => 'C', 'lower' => array(1104)); /* CYRILLIC CAPITAL LETTER IE WITH GRAVE */
+$config['0400_04ff'][] = array('upper' => 1025, 'status' => 'C', 'lower' => array(1105)); /* CYRILLIC CAPITAL LETTER IO */
+$config['0400_04ff'][] = array('upper' => 1026, 'status' => 'C', 'lower' => array(1106)); /* CYRILLIC CAPITAL LETTER DJE */
+$config['0400_04ff'][] = array('upper' => 1027, 'status' => 'C', 'lower' => array(1107)); /* CYRILLIC CAPITAL LETTER GJE */
+$config['0400_04ff'][] = array('upper' => 1028, 'status' => 'C', 'lower' => array(1108)); /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+$config['0400_04ff'][] = array('upper' => 1029, 'status' => 'C', 'lower' => array(1109)); /* CYRILLIC CAPITAL LETTER DZE */
+$config['0400_04ff'][] = array('upper' => 1030, 'status' => 'C', 'lower' => array(1110)); /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+$config['0400_04ff'][] = array('upper' => 1031, 'status' => 'C', 'lower' => array(1111)); /* CYRILLIC CAPITAL LETTER YI */
+$config['0400_04ff'][] = array('upper' => 1032, 'status' => 'C', 'lower' => array(1112)); /* CYRILLIC CAPITAL LETTER JE */
+$config['0400_04ff'][] = array('upper' => 1033, 'status' => 'C', 'lower' => array(1113)); /* CYRILLIC CAPITAL LETTER LJE */
+$config['0400_04ff'][] = array('upper' => 1034, 'status' => 'C', 'lower' => array(1114)); /* CYRILLIC CAPITAL LETTER NJE */
+$config['0400_04ff'][] = array('upper' => 1035, 'status' => 'C', 'lower' => array(1115)); /* CYRILLIC CAPITAL LETTER TSHE */
+$config['0400_04ff'][] = array('upper' => 1036, 'status' => 'C', 'lower' => array(1116)); /* CYRILLIC CAPITAL LETTER KJE */
+$config['0400_04ff'][] = array('upper' => 1037, 'status' => 'C', 'lower' => array(1117)); /* CYRILLIC CAPITAL LETTER I WITH GRAVE */
+$config['0400_04ff'][] = array('upper' => 1038, 'status' => 'C', 'lower' => array(1118)); /* CYRILLIC CAPITAL LETTER SHORT U */
+$config['0400_04ff'][] = array('upper' => 1039, 'status' => 'C', 'lower' => array(1119)); /* CYRILLIC CAPITAL LETTER DZHE */
+$config['0400_04ff'][] = array('upper' => 1040, 'status' => 'C', 'lower' => array(1072)); /* CYRILLIC CAPITAL LETTER A */
+$config['0400_04ff'][] = array('upper' => 1041, 'status' => 'C', 'lower' => array(1073)); /* CYRILLIC CAPITAL LETTER BE */
+$config['0400_04ff'][] = array('upper' => 1042, 'status' => 'C', 'lower' => array(1074)); /* CYRILLIC CAPITAL LETTER VE */
+$config['0400_04ff'][] = array('upper' => 1043, 'status' => 'C', 'lower' => array(1075)); /* CYRILLIC CAPITAL LETTER GHE */
+$config['0400_04ff'][] = array('upper' => 1044, 'status' => 'C', 'lower' => array(1076)); /* CYRILLIC CAPITAL LETTER DE */
+$config['0400_04ff'][] = array('upper' => 1045, 'status' => 'C', 'lower' => array(1077)); /* CYRILLIC CAPITAL LETTER IE */
+$config['0400_04ff'][] = array('upper' => 1046, 'status' => 'C', 'lower' => array(1078)); /* CYRILLIC CAPITAL LETTER ZHE */
+$config['0400_04ff'][] = array('upper' => 1047, 'status' => 'C', 'lower' => array(1079)); /* CYRILLIC CAPITAL LETTER ZE */
+$config['0400_04ff'][] = array('upper' => 1048, 'status' => 'C', 'lower' => array(1080)); /* CYRILLIC CAPITAL LETTER I */
+$config['0400_04ff'][] = array('upper' => 1049, 'status' => 'C', 'lower' => array(1081)); /* CYRILLIC CAPITAL LETTER SHORT I */
+$config['0400_04ff'][] = array('upper' => 1050, 'status' => 'C', 'lower' => array(1082)); /* CYRILLIC CAPITAL LETTER KA */
+$config['0400_04ff'][] = array('upper' => 1051, 'status' => 'C', 'lower' => array(1083)); /* CYRILLIC CAPITAL LETTER EL */
+$config['0400_04ff'][] = array('upper' => 1052, 'status' => 'C', 'lower' => array(1084)); /* CYRILLIC CAPITAL LETTER EM */
+$config['0400_04ff'][] = array('upper' => 1053, 'status' => 'C', 'lower' => array(1085)); /* CYRILLIC CAPITAL LETTER EN */
+$config['0400_04ff'][] = array('upper' => 1054, 'status' => 'C', 'lower' => array(1086)); /* CYRILLIC CAPITAL LETTER O */
+$config['0400_04ff'][] = array('upper' => 1055, 'status' => 'C', 'lower' => array(1087)); /* CYRILLIC CAPITAL LETTER PE */
+$config['0400_04ff'][] = array('upper' => 1056, 'status' => 'C', 'lower' => array(1088)); /* CYRILLIC CAPITAL LETTER ER */
+$config['0400_04ff'][] = array('upper' => 1057, 'status' => 'C', 'lower' => array(1089)); /* CYRILLIC CAPITAL LETTER ES */
+$config['0400_04ff'][] = array('upper' => 1058, 'status' => 'C', 'lower' => array(1090)); /* CYRILLIC CAPITAL LETTER TE */
+$config['0400_04ff'][] = array('upper' => 1059, 'status' => 'C', 'lower' => array(1091)); /* CYRILLIC CAPITAL LETTER U */
+$config['0400_04ff'][] = array('upper' => 1060, 'status' => 'C', 'lower' => array(1092)); /* CYRILLIC CAPITAL LETTER EF */
+$config['0400_04ff'][] = array('upper' => 1061, 'status' => 'C', 'lower' => array(1093)); /* CYRILLIC CAPITAL LETTER HA */
+$config['0400_04ff'][] = array('upper' => 1062, 'status' => 'C', 'lower' => array(1094)); /* CYRILLIC CAPITAL LETTER TSE */
+$config['0400_04ff'][] = array('upper' => 1063, 'status' => 'C', 'lower' => array(1095)); /* CYRILLIC CAPITAL LETTER CHE */
+$config['0400_04ff'][] = array('upper' => 1064, 'status' => 'C', 'lower' => array(1096)); /* CYRILLIC CAPITAL LETTER SHA */
+$config['0400_04ff'][] = array('upper' => 1065, 'status' => 'C', 'lower' => array(1097)); /* CYRILLIC CAPITAL LETTER SHCHA */
+$config['0400_04ff'][] = array('upper' => 1066, 'status' => 'C', 'lower' => array(1098)); /* CYRILLIC CAPITAL LETTER HARD SIGN */
+$config['0400_04ff'][] = array('upper' => 1067, 'status' => 'C', 'lower' => array(1099)); /* CYRILLIC CAPITAL LETTER YERU */
+$config['0400_04ff'][] = array('upper' => 1068, 'status' => 'C', 'lower' => array(1100)); /* CYRILLIC CAPITAL LETTER SOFT SIGN */
+$config['0400_04ff'][] = array('upper' => 1069, 'status' => 'C', 'lower' => array(1101)); /* CYRILLIC CAPITAL LETTER E */
+$config['0400_04ff'][] = array('upper' => 1070, 'status' => 'C', 'lower' => array(1102)); /* CYRILLIC CAPITAL LETTER YU */
+$config['0400_04ff'][] = array('upper' => 1071, 'status' => 'C', 'lower' => array(1103)); /* CYRILLIC CAPITAL LETTER YA */
+$config['0400_04ff'][] = array('upper' => 1120, 'status' => 'C', 'lower' => array(1121)); /* CYRILLIC CAPITAL LETTER OMEGA */
+$config['0400_04ff'][] = array('upper' => 1122, 'status' => 'C', 'lower' => array(1123)); /* CYRILLIC CAPITAL LETTER YAT */
+$config['0400_04ff'][] = array('upper' => 1124, 'status' => 'C', 'lower' => array(1125)); /* CYRILLIC CAPITAL LETTER IOTIFIED E */
+$config['0400_04ff'][] = array('upper' => 1126, 'status' => 'C', 'lower' => array(1127)); /* CYRILLIC CAPITAL LETTER LITTLE YUS */
+$config['0400_04ff'][] = array('upper' => 1128, 'status' => 'C', 'lower' => array(1129)); /* CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS */
+$config['0400_04ff'][] = array('upper' => 1130, 'status' => 'C', 'lower' => array(1131)); /* CYRILLIC CAPITAL LETTER BIG YUS */
+$config['0400_04ff'][] = array('upper' => 1132, 'status' => 'C', 'lower' => array(1133)); /* CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS */
+$config['0400_04ff'][] = array('upper' => 1134, 'status' => 'C', 'lower' => array(1135)); /* CYRILLIC CAPITAL LETTER KSI */
+$config['0400_04ff'][] = array('upper' => 1136, 'status' => 'C', 'lower' => array(1137)); /* CYRILLIC CAPITAL LETTER PSI */
+$config['0400_04ff'][] = array('upper' => 1138, 'status' => 'C', 'lower' => array(1139)); /* CYRILLIC CAPITAL LETTER FITA */
+$config['0400_04ff'][] = array('upper' => 1140, 'status' => 'C', 'lower' => array(1141)); /* CYRILLIC CAPITAL LETTER IZHITSA */
+$config['0400_04ff'][] = array('upper' => 1142, 'status' => 'C', 'lower' => array(1143)); /* CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */
+$config['0400_04ff'][] = array('upper' => 1144, 'status' => 'C', 'lower' => array(1145)); /* CYRILLIC CAPITAL LETTER UK */
+$config['0400_04ff'][] = array('upper' => 1146, 'status' => 'C', 'lower' => array(1147)); /* CYRILLIC CAPITAL LETTER ROUND OMEGA */
+$config['0400_04ff'][] = array('upper' => 1148, 'status' => 'C', 'lower' => array(1149)); /* CYRILLIC CAPITAL LETTER OMEGA WITH TITLO */
+$config['0400_04ff'][] = array('upper' => 1150, 'status' => 'C', 'lower' => array(1151)); /* CYRILLIC CAPITAL LETTER OT */
+$config['0400_04ff'][] = array('upper' => 1152, 'status' => 'C', 'lower' => array(1153)); /* CYRILLIC CAPITAL LETTER KOPPA */
+$config['0400_04ff'][] = array('upper' => 1162, 'status' => 'C', 'lower' => array(1163)); /* CYRILLIC CAPITAL LETTER SHORT I WITH TAIL */
+$config['0400_04ff'][] = array('upper' => 1164, 'status' => 'C', 'lower' => array(1165)); /* CYRILLIC CAPITAL LETTER SEMISOFT SIGN */
+$config['0400_04ff'][] = array('upper' => 1166, 'status' => 'C', 'lower' => array(1167)); /* CYRILLIC CAPITAL LETTER ER WITH TICK */
+$config['0400_04ff'][] = array('upper' => 1168, 'status' => 'C', 'lower' => array(1169)); /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+$config['0400_04ff'][] = array('upper' => 1170, 'status' => 'C', 'lower' => array(1171)); /* CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+$config['0400_04ff'][] = array('upper' => 1172, 'status' => 'C', 'lower' => array(1173)); /* CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK */
+$config['0400_04ff'][] = array('upper' => 1174, 'status' => 'C', 'lower' => array(1175)); /* CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1176, 'status' => 'C', 'lower' => array(1177)); /* CYRILLIC CAPITAL LETTER ZE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1178, 'status' => 'C', 'lower' => array(1179)); /* CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1180, 'status' => 'C', 'lower' => array(1181)); /* CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+$config['0400_04ff'][] = array('upper' => 1182, 'status' => 'C', 'lower' => array(1183)); /* CYRILLIC CAPITAL LETTER KA WITH STROKE */
+$config['0400_04ff'][] = array('upper' => 1184, 'status' => 'C', 'lower' => array(1185)); /* CYRILLIC CAPITAL LETTER BASHKIR KA */
+$config['0400_04ff'][] = array('upper' => 1186, 'status' => 'C', 'lower' => array(1187)); /* CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1188, 'status' => 'C', 'lower' => array(1189)); /* CYRILLIC CAPITAL LIGATURE EN GHE */
+$config['0400_04ff'][] = array('upper' => 1190, 'status' => 'C', 'lower' => array(1191)); /* CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK */
+$config['0400_04ff'][] = array('upper' => 1192, 'status' => 'C', 'lower' => array(1193)); /* CYRILLIC CAPITAL LETTER ABKHASIAN HA */
+$config['0400_04ff'][] = array('upper' => 1194, 'status' => 'C', 'lower' => array(1195)); /* CYRILLIC CAPITAL LETTER ES WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1196, 'status' => 'C', 'lower' => array(1197)); /* CYRILLIC CAPITAL LETTER TE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1198, 'status' => 'C', 'lower' => array(1199)); /* CYRILLIC CAPITAL LETTER STRAIGHT U */
+$config['0400_04ff'][] = array('upper' => 1200, 'status' => 'C', 'lower' => array(1201)); /* CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+$config['0400_04ff'][] = array('upper' => 1202, 'status' => 'C', 'lower' => array(1203)); /* CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1204, 'status' => 'C', 'lower' => array(1205)); /* CYRILLIC CAPITAL LIGATURE TE TSE */
+$config['0400_04ff'][] = array('upper' => 1206, 'status' => 'C', 'lower' => array(1207)); /* CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1208, 'status' => 'C', 'lower' => array(1209)); /* CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+$config['0400_04ff'][] = array('upper' => 1210, 'status' => 'C', 'lower' => array(1211)); /* CYRILLIC CAPITAL LETTER SHHA */
+$config['0400_04ff'][] = array('upper' => 1212, 'status' => 'C', 'lower' => array(1213)); /* CYRILLIC CAPITAL LETTER ABKHASIAN CHE */
+$config['0400_04ff'][] = array('upper' => 1214, 'status' => 'C', 'lower' => array(1215)); /* CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1216, 'status' => 'C', 'lower' => array(1231)); /* CYRILLIC LETTER PALOCHKA */
+$config['0400_04ff'][] = array('upper' => 1217, 'status' => 'C', 'lower' => array(1218)); /* CYRILLIC CAPITAL LETTER ZHE WITH BREVE */
+$config['0400_04ff'][] = array('upper' => 1219, 'status' => 'C', 'lower' => array(1220)); /* CYRILLIC CAPITAL LETTER KA WITH HOOK */
+$config['0400_04ff'][] = array('upper' => 1221, 'status' => 'C', 'lower' => array(1222)); /* CYRILLIC CAPITAL LETTER EL WITH TAIL */
+$config['0400_04ff'][] = array('upper' => 1223, 'status' => 'C', 'lower' => array(1224)); /* CYRILLIC CAPITAL LETTER EN WITH HOOK */
+$config['0400_04ff'][] = array('upper' => 1225, 'status' => 'C', 'lower' => array(1226)); /* CYRILLIC CAPITAL LETTER EN WITH TAIL */
+$config['0400_04ff'][] = array('upper' => 1227, 'status' => 'C', 'lower' => array(1228)); /* CYRILLIC CAPITAL LETTER KHAKASSIAN CHE */
+$config['0400_04ff'][] = array('upper' => 1229, 'status' => 'C', 'lower' => array(1230)); /* CYRILLIC CAPITAL LETTER EM WITH TAIL */
+$config['0400_04ff'][] = array('upper' => 1232, 'status' => 'C', 'lower' => array(1233)); /* CYRILLIC CAPITAL LETTER A WITH BREVE */
+$config['0400_04ff'][] = array('upper' => 1234, 'status' => 'C', 'lower' => array(1235)); /* CYRILLIC CAPITAL LETTER A WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1236, 'status' => 'C', 'lower' => array(1237)); /* CYRILLIC CAPITAL LIGATURE A IE */
+$config['0400_04ff'][] = array('upper' => 1238, 'status' => 'C', 'lower' => array(1239)); /* CYRILLIC CAPITAL LETTER IE WITH BREVE */
+$config['0400_04ff'][] = array('upper' => 1240, 'status' => 'C', 'lower' => array(1241)); /* CYRILLIC CAPITAL LETTER SCHWA */
+$config['0400_04ff'][] = array('upper' => 1242, 'status' => 'C', 'lower' => array(1243)); /* CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1244, 'status' => 'C', 'lower' => array(1245)); /* CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1246, 'status' => 'C', 'lower' => array(1247)); /* CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1248, 'status' => 'C', 'lower' => array(1249)); /* CYRILLIC CAPITAL LETTER ABKHASIAN DZE */
+$config['0400_04ff'][] = array('upper' => 1250, 'status' => 'C', 'lower' => array(1251)); /* CYRILLIC CAPITAL LETTER I WITH MACRON */
+$config['0400_04ff'][] = array('upper' => 1252, 'status' => 'C', 'lower' => array(1253)); /* CYRILLIC CAPITAL LETTER I WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1254, 'status' => 'C', 'lower' => array(1255)); /* CYRILLIC CAPITAL LETTER O WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1256, 'status' => 'C', 'lower' => array(1257)); /* CYRILLIC CAPITAL LETTER BARRED O */
+$config['0400_04ff'][] = array('upper' => 1258, 'status' => 'C', 'lower' => array(1259)); /* CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1260, 'status' => 'C', 'lower' => array(1261)); /* CYRILLIC CAPITAL LETTER E WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1262, 'status' => 'C', 'lower' => array(1263)); /* CYRILLIC CAPITAL LETTER U WITH MACRON */
+$config['0400_04ff'][] = array('upper' => 1264, 'status' => 'C', 'lower' => array(1265)); /* CYRILLIC CAPITAL LETTER U WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1266, 'status' => 'C', 'lower' => array(1267)); /* CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE */
+$config['0400_04ff'][] = array('upper' => 1268, 'status' => 'C', 'lower' => array(1269)); /* CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1270, 'status' => 'C', 'lower' => array(1271)); /* CYRILLIC CAPITAL LETTER GHE WITH DESCENDER */
+$config['0400_04ff'][] = array('upper' => 1272, 'status' => 'C', 'lower' => array(1273)); /* CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS */
+$config['0400_04ff'][] = array('upper' => 1274, 'status' => 'C', 'lower' => array(1275)); /* CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK */
+$config['0400_04ff'][] = array('upper' => 1276, 'status' => 'C', 'lower' => array(1277)); /* CYRILLIC CAPITAL LETTER HA WITH HOOK */
+$config['0400_04ff'][] = array('upper' => 1278, 'status' => 'C', 'lower' => array(1279)); /* CYRILLIC CAPITAL LETTER HA WITH STROKE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0500_052f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0500 through U+052F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0500_052f'][] = array('upper' => 1280, 'status' => 'C', 'lower' => array(1281)); /* CYRILLIC CAPITAL LETTER KOMI DE */
+$config['0500_052f'][] = array('upper' => 1282, 'status' => 'C', 'lower' => array(1283)); /* CYRILLIC CAPITAL LETTER KOMI DJE */
+$config['0500_052f'][] = array('upper' => 1284, 'status' => 'C', 'lower' => array(1285)); /* CYRILLIC CAPITAL LETTER KOMI ZJE */
+$config['0500_052f'][] = array('upper' => 1286, 'status' => 'C', 'lower' => array(1287)); /* CYRILLIC CAPITAL LETTER KOMI DZJE */
+$config['0500_052f'][] = array('upper' => 1288, 'status' => 'C', 'lower' => array(1289)); /* CYRILLIC CAPITAL LETTER KOMI LJE */
+$config['0500_052f'][] = array('upper' => 1290, 'status' => 'C', 'lower' => array(1291)); /* CYRILLIC CAPITAL LETTER KOMI NJE */
+$config['0500_052f'][] = array('upper' => 1292, 'status' => 'C', 'lower' => array(1293)); /* CYRILLIC CAPITAL LETTER KOMI SJE */
+$config['0500_052f'][] = array('upper' => 1294, 'status' => 'C', 'lower' => array(1295)); /* CYRILLIC CAPITAL LETTER KOMI TJE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/0530_058f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+0530 through U+058F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['0530_058f'][] = array('upper' => 1329, 'status' => 'C', 'lower' => array(1377)); /* ARMENIAN CAPITAL LETTER AYB */
+$config['0530_058f'][] = array('upper' => 1330, 'status' => 'C', 'lower' => array(1378)); /* ARMENIAN CAPITAL LETTER BEN */
+$config['0530_058f'][] = array('upper' => 1331, 'status' => 'C', 'lower' => array(1379)); /* ARMENIAN CAPITAL LETTER GIM */
+$config['0530_058f'][] = array('upper' => 1332, 'status' => 'C', 'lower' => array(1380)); /* ARMENIAN CAPITAL LETTER DA */
+$config['0530_058f'][] = array('upper' => 1333, 'status' => 'C', 'lower' => array(1381)); /* ARMENIAN CAPITAL LETTER ECH */
+$config['0530_058f'][] = array('upper' => 1334, 'status' => 'C', 'lower' => array(1382)); /* ARMENIAN CAPITAL LETTER ZA */
+$config['0530_058f'][] = array('upper' => 1335, 'status' => 'C', 'lower' => array(1383)); /* ARMENIAN CAPITAL LETTER EH */
+$config['0530_058f'][] = array('upper' => 1336, 'status' => 'C', 'lower' => array(1384)); /* ARMENIAN CAPITAL LETTER ET */
+$config['0530_058f'][] = array('upper' => 1337, 'status' => 'C', 'lower' => array(1385)); /* ARMENIAN CAPITAL LETTER TO */
+$config['0530_058f'][] = array('upper' => 1338, 'status' => 'C', 'lower' => array(1386)); /* ARMENIAN CAPITAL LETTER ZHE */
+$config['0530_058f'][] = array('upper' => 1339, 'status' => 'C', 'lower' => array(1387)); /* ARMENIAN CAPITAL LETTER INI */
+$config['0530_058f'][] = array('upper' => 1340, 'status' => 'C', 'lower' => array(1388)); /* ARMENIAN CAPITAL LETTER LIWN */
+$config['0530_058f'][] = array('upper' => 1341, 'status' => 'C', 'lower' => array(1389)); /* ARMENIAN CAPITAL LETTER XEH */
+$config['0530_058f'][] = array('upper' => 1342, 'status' => 'C', 'lower' => array(1390)); /* ARMENIAN CAPITAL LETTER CA */
+$config['0530_058f'][] = array('upper' => 1343, 'status' => 'C', 'lower' => array(1391)); /* ARMENIAN CAPITAL LETTER KEN */
+$config['0530_058f'][] = array('upper' => 1344, 'status' => 'C', 'lower' => array(1392)); /* ARMENIAN CAPITAL LETTER HO */
+$config['0530_058f'][] = array('upper' => 1345, 'status' => 'C', 'lower' => array(1393)); /* ARMENIAN CAPITAL LETTER JA */
+$config['0530_058f'][] = array('upper' => 1346, 'status' => 'C', 'lower' => array(1394)); /* ARMENIAN CAPITAL LETTER GHAD */
+$config['0530_058f'][] = array('upper' => 1347, 'status' => 'C', 'lower' => array(1395)); /* ARMENIAN CAPITAL LETTER CHEH */
+$config['0530_058f'][] = array('upper' => 1348, 'status' => 'C', 'lower' => array(1396)); /* ARMENIAN CAPITAL LETTER MEN */
+$config['0530_058f'][] = array('upper' => 1349, 'status' => 'C', 'lower' => array(1397)); /* ARMENIAN CAPITAL LETTER YI */
+$config['0530_058f'][] = array('upper' => 1350, 'status' => 'C', 'lower' => array(1398)); /* ARMENIAN CAPITAL LETTER NOW */
+$config['0530_058f'][] = array('upper' => 1351, 'status' => 'C', 'lower' => array(1399)); /* ARMENIAN CAPITAL LETTER SHA */
+$config['0530_058f'][] = array('upper' => 1352, 'status' => 'C', 'lower' => array(1400)); /* ARMENIAN CAPITAL LETTER VO */
+$config['0530_058f'][] = array('upper' => 1353, 'status' => 'C', 'lower' => array(1401)); /* ARMENIAN CAPITAL LETTER CHA */
+$config['0530_058f'][] = array('upper' => 1354, 'status' => 'C', 'lower' => array(1402)); /* ARMENIAN CAPITAL LETTER PEH */
+$config['0530_058f'][] = array('upper' => 1355, 'status' => 'C', 'lower' => array(1403)); /* ARMENIAN CAPITAL LETTER JHEH */
+$config['0530_058f'][] = array('upper' => 1356, 'status' => 'C', 'lower' => array(1404)); /* ARMENIAN CAPITAL LETTER RA */
+$config['0530_058f'][] = array('upper' => 1357, 'status' => 'C', 'lower' => array(1405)); /* ARMENIAN CAPITAL LETTER SEH */
+$config['0530_058f'][] = array('upper' => 1358, 'status' => 'C', 'lower' => array(1406)); /* ARMENIAN CAPITAL LETTER VEW */
+$config['0530_058f'][] = array('upper' => 1359, 'status' => 'C', 'lower' => array(1407)); /* ARMENIAN CAPITAL LETTER TIWN */
+$config['0530_058f'][] = array('upper' => 1360, 'status' => 'C', 'lower' => array(1408)); /* ARMENIAN CAPITAL LETTER REH */
+$config['0530_058f'][] = array('upper' => 1361, 'status' => 'C', 'lower' => array(1409)); /* ARMENIAN CAPITAL LETTER CO */
+$config['0530_058f'][] = array('upper' => 1362, 'status' => 'C', 'lower' => array(1410)); /* ARMENIAN CAPITAL LETTER YIWN */
+$config['0530_058f'][] = array('upper' => 1363, 'status' => 'C', 'lower' => array(1411)); /* ARMENIAN CAPITAL LETTER PIWR */
+$config['0530_058f'][] = array('upper' => 1364, 'status' => 'C', 'lower' => array(1412)); /* ARMENIAN CAPITAL LETTER KEH */
+$config['0530_058f'][] = array('upper' => 1365, 'status' => 'C', 'lower' => array(1413)); /* ARMENIAN CAPITAL LETTER OH */
+$config['0530_058f'][] = array('upper' => 1366, 'status' => 'C', 'lower' => array(1414)); /* ARMENIAN CAPITAL LETTER FEH */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/1e00_1eff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,169 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+1E00 through U+1EFF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['1e00_1eff'][] = array('upper' => 7680, 'status' => 'C', 'lower' => array(7681)); /* LATIN CAPITAL LETTER A WITH RING BELOW */
+$config['1e00_1eff'][] = array('upper' => 7682, 'status' => 'C', 'lower' => array(7683)); /* LATIN CAPITAL LETTER B WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7684, 'status' => 'C', 'lower' => array(7685)); /* LATIN CAPITAL LETTER B WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7686, 'status' => 'C', 'lower' => array(7687)); /* LATIN CAPITAL LETTER B WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7688, 'status' => 'C', 'lower' => array(7689)); /* LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7690, 'status' => 'C', 'lower' => array(7691)); /* LATIN CAPITAL LETTER D WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7692, 'status' => 'C', 'lower' => array(7693)); /* LATIN CAPITAL LETTER D WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7694, 'status' => 'C', 'lower' => array(7695)); /* LATIN CAPITAL LETTER D WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7696, 'status' => 'C', 'lower' => array(7697)); /* LATIN CAPITAL LETTER D WITH CEDILLA */
+$config['1e00_1eff'][] = array('upper' => 7698, 'status' => 'C', 'lower' => array(7699)); /* LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7700, 'status' => 'C', 'lower' => array(7701)); /* LATIN CAPITAL LETTER E WITH MACRON AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7702, 'status' => 'C', 'lower' => array(7703)); /* LATIN CAPITAL LETTER E WITH MACRON AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7704, 'status' => 'C', 'lower' => array(7705)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7706, 'status' => 'C', 'lower' => array(7707)); /* LATIN CAPITAL LETTER E WITH TILDE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7708, 'status' => 'C', 'lower' => array(7709)); /* LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */
+$config['1e00_1eff'][] = array('upper' => 7710, 'status' => 'C', 'lower' => array(7711)); /* LATIN CAPITAL LETTER F WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7712, 'status' => 'C', 'lower' => array(7713)); /* LATIN CAPITAL LETTER G WITH MACRON */
+$config['1e00_1eff'][] = array('upper' => 7714, 'status' => 'C', 'lower' => array(7715)); /* LATIN CAPITAL LETTER H WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7716, 'status' => 'C', 'lower' => array(7717)); /* LATIN CAPITAL LETTER H WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7718, 'status' => 'C', 'lower' => array(7719)); /* LATIN CAPITAL LETTER H WITH DIAERESIS */
+$config['1e00_1eff'][] = array('upper' => 7720, 'status' => 'C', 'lower' => array(7721)); /* LATIN CAPITAL LETTER H WITH CEDILLA */
+$config['1e00_1eff'][] = array('upper' => 7722, 'status' => 'C', 'lower' => array(7723)); /* LATIN CAPITAL LETTER H WITH BREVE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7724, 'status' => 'C', 'lower' => array(7725)); /* LATIN CAPITAL LETTER I WITH TILDE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7726, 'status' => 'C', 'lower' => array(7727)); /* LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7728, 'status' => 'C', 'lower' => array(7729)); /* LATIN CAPITAL LETTER K WITH ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7730, 'status' => 'C', 'lower' => array(7731)); /* LATIN CAPITAL LETTER K WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7732, 'status' => 'C', 'lower' => array(7733)); /* LATIN CAPITAL LETTER K WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7734, 'status' => 'C', 'lower' => array(7735)); /* LATIN CAPITAL LETTER L WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7736, 'status' => 'C', 'lower' => array(7737)); /* LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON */
+$config['1e00_1eff'][] = array('upper' => 7738, 'status' => 'C', 'lower' => array(7739)); /* LATIN CAPITAL LETTER L WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7740, 'status' => 'C', 'lower' => array(7741)); /* LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7742, 'status' => 'C', 'lower' => array(7743)); /* LATIN CAPITAL LETTER M WITH ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7744, 'status' => 'C', 'lower' => array(7745)); /* LATIN CAPITAL LETTER M WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7746, 'status' => 'C', 'lower' => array(7747)); /* LATIN CAPITAL LETTER M WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7748, 'status' => 'C', 'lower' => array(7749)); /* LATIN CAPITAL LETTER N WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7750, 'status' => 'C', 'lower' => array(7751)); /* LATIN CAPITAL LETTER N WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7752, 'status' => 'C', 'lower' => array(7753)); /* LATIN CAPITAL LETTER N WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7754, 'status' => 'C', 'lower' => array(7755)); /* LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7756, 'status' => 'C', 'lower' => array(7757)); /* LATIN CAPITAL LETTER O WITH TILDE AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7758, 'status' => 'C', 'lower' => array(7759)); /* LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS */
+$config['1e00_1eff'][] = array('upper' => 7760, 'status' => 'C', 'lower' => array(7761)); /* LATIN CAPITAL LETTER O WITH MACRON AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7762, 'status' => 'C', 'lower' => array(7763)); /* LATIN CAPITAL LETTER O WITH MACRON AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7764, 'status' => 'C', 'lower' => array(7765)); /* LATIN CAPITAL LETTER P WITH ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7766, 'status' => 'C', 'lower' => array(7767)); /* LATIN CAPITAL LETTER P WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7768, 'status' => 'C', 'lower' => array(7769)); /* LATIN CAPITAL LETTER R WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7770, 'status' => 'C', 'lower' => array(7771)); /* LATIN CAPITAL LETTER R WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7772, 'status' => 'C', 'lower' => array(7773)); /* LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON */
+$config['1e00_1eff'][] = array('upper' => 7774, 'status' => 'C', 'lower' => array(7775)); /* LATIN CAPITAL LETTER R WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7776, 'status' => 'C', 'lower' => array(7777)); /* LATIN CAPITAL LETTER S WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7778, 'status' => 'C', 'lower' => array(7779)); /* LATIN CAPITAL LETTER S WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7780, 'status' => 'C', 'lower' => array(7781)); /* LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7782, 'status' => 'C', 'lower' => array(7783)); /* LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7784, 'status' => 'C', 'lower' => array(7785)); /* LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7786, 'status' => 'C', 'lower' => array(7787)); /* LATIN CAPITAL LETTER T WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7788, 'status' => 'C', 'lower' => array(7789)); /* LATIN CAPITAL LETTER T WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7790, 'status' => 'C', 'lower' => array(7791)); /* LATIN CAPITAL LETTER T WITH LINE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7792, 'status' => 'C', 'lower' => array(7793)); /* LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7794, 'status' => 'C', 'lower' => array(7795)); /* LATIN CAPITAL LETTER U WITH DIAERESIS BELOW */
+$config['1e00_1eff'][] = array('upper' => 7796, 'status' => 'C', 'lower' => array(7797)); /* LATIN CAPITAL LETTER U WITH TILDE BELOW */
+$config['1e00_1eff'][] = array('upper' => 7798, 'status' => 'C', 'lower' => array(7799)); /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW */
+$config['1e00_1eff'][] = array('upper' => 7800, 'status' => 'C', 'lower' => array(7801)); /* LATIN CAPITAL LETTER U WITH TILDE AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7802, 'status' => 'C', 'lower' => array(7803)); /* LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS */
+$config['1e00_1eff'][] = array('upper' => 7804, 'status' => 'C', 'lower' => array(7805)); /* LATIN CAPITAL LETTER V WITH TILDE */
+$config['1e00_1eff'][] = array('upper' => 7806, 'status' => 'C', 'lower' => array(7807)); /* LATIN CAPITAL LETTER V WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7808, 'status' => 'C', 'lower' => array(7809)); /* LATIN CAPITAL LETTER W WITH GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7810, 'status' => 'C', 'lower' => array(7811)); /* LATIN CAPITAL LETTER W WITH ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7812, 'status' => 'C', 'lower' => array(7813)); /* LATIN CAPITAL LETTER W WITH DIAERESIS */
+$config['1e00_1eff'][] = array('upper' => 7814, 'status' => 'C', 'lower' => array(7815)); /* LATIN CAPITAL LETTER W WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7816, 'status' => 'C', 'lower' => array(7817)); /* LATIN CAPITAL LETTER W WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7818, 'status' => 'C', 'lower' => array(7819)); /* LATIN CAPITAL LETTER X WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7820, 'status' => 'C', 'lower' => array(7821)); /* LATIN CAPITAL LETTER X WITH DIAERESIS */
+$config['1e00_1eff'][] = array('upper' => 7822, 'status' => 'C', 'lower' => array(7823)); /* LATIN CAPITAL LETTER Y WITH DOT ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7824, 'status' => 'C', 'lower' => array(7825)); /* LATIN CAPITAL LETTER Z WITH CIRCUMFLEX */
+$config['1e00_1eff'][] = array('upper' => 7826, 'status' => 'C', 'lower' => array(7827)); /* LATIN CAPITAL LETTER Z WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7828, 'status' => 'C', 'lower' => array(7829)); /* LATIN CAPITAL LETTER Z WITH LINE BELOW */
+
+//$config['1e00_1eff'][] = array('upper' => 7830, 'status' => 'F', 'lower' => array(104, 817)); /* LATIN SMALL LETTER H WITH LINE BELOW */
+//$config['1e00_1eff'][] = array('upper' => 7831, 'status' => 'F', 'lower' => array(116, 776)); /* LATIN SMALL LETTER T WITH DIAERESIS */
+//$config['1e00_1eff'][] = array('upper' => 7832, 'status' => 'F', 'lower' => array(119, 778)); /* LATIN SMALL LETTER W WITH RING ABOVE */
+//$config['1e00_1eff'][] = array('upper' => 7833, 'status' => 'F', 'lower' => array(121, 778)); /* LATIN SMALL LETTER Y WITH RING ABOVE */
+//$config['1e00_1eff'][] = array('upper' => 7834, 'status' => 'F', 'lower' => array(97, 702)); /* LATIN SMALL LETTER A WITH RIGHT HALF RING */
+//$config['1e00_1eff'][] = array('upper' => 7835, 'status' => 'C', 'lower' => array(7777)); /* LATIN SMALL LETTER LONG S WITH DOT ABOVE */
+
+$config['1e00_1eff'][] = array('upper' => 7840, 'status' => 'C', 'lower' => array(7841)); /* LATIN CAPITAL LETTER A WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7842, 'status' => 'C', 'lower' => array(7843)); /* LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7844, 'status' => 'C', 'lower' => array(7845)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7846, 'status' => 'C', 'lower' => array(7847)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7848, 'status' => 'C', 'lower' => array(7849)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7850, 'status' => 'C', 'lower' => array(7851)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7852, 'status' => 'C', 'lower' => array(7853)); /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7854, 'status' => 'C', 'lower' => array(7855)); /* LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7856, 'status' => 'C', 'lower' => array(7857)); /* LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7858, 'status' => 'C', 'lower' => array(7859)); /* LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7860, 'status' => 'C', 'lower' => array(7861)); /* LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7862, 'status' => 'C', 'lower' => array(7863)); /* LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7864, 'status' => 'C', 'lower' => array(7865)); /* LATIN CAPITAL LETTER E WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7866, 'status' => 'C', 'lower' => array(7867)); /* LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7868, 'status' => 'C', 'lower' => array(7869)); /* LATIN CAPITAL LETTER E WITH TILDE */
+$config['1e00_1eff'][] = array('upper' => 7870, 'status' => 'C', 'lower' => array(7871)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7872, 'status' => 'C', 'lower' => array(7873)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7874, 'status' => 'C', 'lower' => array(7875)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7876, 'status' => 'C', 'lower' => array(7877)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7878, 'status' => 'C', 'lower' => array(7879)); /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7880, 'status' => 'C', 'lower' => array(7881)); /* LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7882, 'status' => 'C', 'lower' => array(7883)); /* LATIN CAPITAL LETTER I WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7884, 'status' => 'C', 'lower' => array(7885)); /* LATIN CAPITAL LETTER O WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7886, 'status' => 'C', 'lower' => array(7887)); /* LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7888, 'status' => 'C', 'lower' => array(7889)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7890, 'status' => 'C', 'lower' => array(7891)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7892, 'status' => 'C', 'lower' => array(7893)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7894, 'status' => 'C', 'lower' => array(7895)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7896, 'status' => 'C', 'lower' => array(7897)); /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7898, 'status' => 'C', 'lower' => array(7899)); /* LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7900, 'status' => 'C', 'lower' => array(7901)); /* LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7902, 'status' => 'C', 'lower' => array(7903)); /* LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7904, 'status' => 'C', 'lower' => array(7905)); /* LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7906, 'status' => 'C', 'lower' => array(7907)); /* LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7908, 'status' => 'C', 'lower' => array(7909)); /* LATIN CAPITAL LETTER U WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7910, 'status' => 'C', 'lower' => array(7911)); /* LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7912, 'status' => 'C', 'lower' => array(7913)); /* LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+$config['1e00_1eff'][] = array('upper' => 7914, 'status' => 'C', 'lower' => array(7915)); /* LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7916, 'status' => 'C', 'lower' => array(7917)); /* LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7918, 'status' => 'C', 'lower' => array(7919)); /* LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+$config['1e00_1eff'][] = array('upper' => 7920, 'status' => 'C', 'lower' => array(7921)); /* LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7922, 'status' => 'C', 'lower' => array(7923)); /* LATIN CAPITAL LETTER Y WITH GRAVE */
+$config['1e00_1eff'][] = array('upper' => 7924, 'status' => 'C', 'lower' => array(7925)); /* LATIN CAPITAL LETTER Y WITH DOT BELOW */
+$config['1e00_1eff'][] = array('upper' => 7926, 'status' => 'C', 'lower' => array(7927)); /* LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+$config['1e00_1eff'][] = array('upper' => 7928, 'status' => 'C', 'lower' => array(7929)); /* LATIN CAPITAL LETTER Y WITH TILDE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/1f00_1fff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,217 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+1F00 through U+1FFF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['1f00_1fff'][] = array('upper' => 7944, 'status' => 'C', 'lower' => array(7936, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 7945, 'status' => 'C', 'lower' => array(7937)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 7946, 'status' => 'C', 'lower' => array(7938)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7947, 'status' => 'C', 'lower' => array(7939)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7948, 'status' => 'C', 'lower' => array(7940)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7949, 'status' => 'C', 'lower' => array(7941)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7950, 'status' => 'C', 'lower' => array(7942)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 7951, 'status' => 'C', 'lower' => array(7943)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 7960, 'status' => 'C', 'lower' => array(7952)); /* GREEK CAPITAL LETTER EPSILON WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 7961, 'status' => 'C', 'lower' => array(7953)); /* GREEK CAPITAL LETTER EPSILON WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 7962, 'status' => 'C', 'lower' => array(7954)); /* GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7963, 'status' => 'C', 'lower' => array(7955)); /* GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7964, 'status' => 'C', 'lower' => array(7956)); /* GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7965, 'status' => 'C', 'lower' => array(7957)); /* GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7976, 'status' => 'C', 'lower' => array(7968)); /* GREEK CAPITAL LETTER ETA WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 7977, 'status' => 'C', 'lower' => array(7969)); /* GREEK CAPITAL LETTER ETA WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 7978, 'status' => 'C', 'lower' => array(7970)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7979, 'status' => 'C', 'lower' => array(7971)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7980, 'status' => 'C', 'lower' => array(7972)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7981, 'status' => 'C', 'lower' => array(7973)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7982, 'status' => 'C', 'lower' => array(7974)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 7983, 'status' => 'C', 'lower' => array(7975)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 7992, 'status' => 'C', 'lower' => array(7984)); /* GREEK CAPITAL LETTER IOTA WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 7993, 'status' => 'C', 'lower' => array(7985)); /* GREEK CAPITAL LETTER IOTA WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 7994, 'status' => 'C', 'lower' => array(7986)); /* GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7995, 'status' => 'C', 'lower' => array(7987)); /* GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 7996, 'status' => 'C', 'lower' => array(7988)); /* GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7997, 'status' => 'C', 'lower' => array(7989)); /* GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 7998, 'status' => 'C', 'lower' => array(7990)); /* GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 7999, 'status' => 'C', 'lower' => array(7991)); /* GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8008, 'status' => 'C', 'lower' => array(8000)); /* GREEK CAPITAL LETTER OMICRON WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 8009, 'status' => 'C', 'lower' => array(8001)); /* GREEK CAPITAL LETTER OMICRON WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 8010, 'status' => 'C', 'lower' => array(8002)); /* GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8011, 'status' => 'C', 'lower' => array(8003)); /* GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8012, 'status' => 'C', 'lower' => array(8004)); /* GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8013, 'status' => 'C', 'lower' => array(8005)); /* GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8016, 'status' => 'F', 'lower' => array(965, 787)); /* GREEK SMALL LETTER UPSILON WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 8018, 'status' => 'F', 'lower' => array(965, 787, 768)); /* GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8020, 'status' => 'F', 'lower' => array(965, 787, 769)); /* GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8022, 'status' => 'F', 'lower' => array(965, 787, 834)); /* GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8025, 'status' => 'C', 'lower' => array(8017)); /* GREEK CAPITAL LETTER UPSILON WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 8027, 'status' => 'C', 'lower' => array(8019)); /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8029, 'status' => 'C', 'lower' => array(8021)); /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8031, 'status' => 'C', 'lower' => array(8023)); /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8040, 'status' => 'C', 'lower' => array(8032)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 8041, 'status' => 'C', 'lower' => array(8033)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 8042, 'status' => 'C', 'lower' => array(8034)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8043, 'status' => 'C', 'lower' => array(8035)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8044, 'status' => 'C', 'lower' => array(8036)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8045, 'status' => 'C', 'lower' => array(8037)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8046, 'status' => 'C', 'lower' => array(8038)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8047, 'status' => 'C', 'lower' => array(8039)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8064, 'status' => 'F', 'lower' => array(7936, 953)); /* GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8065, 'status' => 'F', 'lower' => array(7937, 953)); /* GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8066, 'status' => 'F', 'lower' => array(7938, 953)); /* GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8067, 'status' => 'F', 'lower' => array(7939, 953)); /* GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8068, 'status' => 'F', 'lower' => array(7940, 953)); /* GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8069, 'status' => 'F', 'lower' => array(7941, 953)); /* GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8070, 'status' => 'F', 'lower' => array(7942, 953)); /* GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8071, 'status' => 'F', 'lower' => array(7943, 953)); /* GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8072, 'status' => 'F', 'lower' => array(7936, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8072, 'status' => 'S', 'lower' => array(8064)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8073, 'status' => 'F', 'lower' => array(7937, 953)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8073, 'status' => 'S', 'lower' => array(8065)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8074, 'status' => 'F', 'lower' => array(7938, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8074, 'status' => 'S', 'lower' => array(8066)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8075, 'status' => 'F', 'lower' => array(7939, 953)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8075, 'status' => 'S', 'lower' => array(8067)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8076, 'status' => 'F', 'lower' => array(7940, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8076, 'status' => 'S', 'lower' => array(8068)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8077, 'status' => 'F', 'lower' => array(7941, 953)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8077, 'status' => 'S', 'lower' => array(8069)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8078, 'status' => 'F', 'lower' => array(7942, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8078, 'status' => 'S', 'lower' => array(8070)); /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8079, 'status' => 'F', 'lower' => array(7943, 953)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8079, 'status' => 'S', 'lower' => array(8071)); /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8080, 'status' => 'F', 'lower' => array(7968, 953)); /* GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8081, 'status' => 'F', 'lower' => array(7969, 953)); /* GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8082, 'status' => 'F', 'lower' => array(7970, 953)); /* GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8083, 'status' => 'F', 'lower' => array(7971, 953)); /* GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8084, 'status' => 'F', 'lower' => array(7972, 953)); /* GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8085, 'status' => 'F', 'lower' => array(7973, 953)); /* GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8086, 'status' => 'F', 'lower' => array(7974, 953)); /* GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8087, 'status' => 'F', 'lower' => array(7975, 953)); /* GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8088, 'status' => 'F', 'lower' => array(7968, 953)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8088, 'status' => 'S', 'lower' => array(8080)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8089, 'status' => 'F', 'lower' => array(7969, 953)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8089, 'status' => 'S', 'lower' => array(8081)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8090, 'status' => 'F', 'lower' => array(7970, 953)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8090, 'status' => 'S', 'lower' => array(8082)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8091, 'status' => 'F', 'lower' => array(7971, 953)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8091, 'status' => 'S', 'lower' => array(8083)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8092, 'status' => 'F', 'lower' => array(7972, 953)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8092, 'status' => 'S', 'lower' => array(8084)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8093, 'status' => 'F', 'lower' => array(7973, 953)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8093, 'status' => 'S', 'lower' => array(8085)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8094, 'status' => 'F', 'lower' => array(7974, 953)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8094, 'status' => 'S', 'lower' => array(8086)); /* GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8095, 'status' => 'F', 'lower' => array(7975, 953)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8095, 'status' => 'S', 'lower' => array(8087)); /* GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8096, 'status' => 'F', 'lower' => array(8032, 953)); /* GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8097, 'status' => 'F', 'lower' => array(8033, 953)); /* GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8098, 'status' => 'F', 'lower' => array(8034, 953)); /* GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8099, 'status' => 'F', 'lower' => array(8035, 953)); /* GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8100, 'status' => 'F', 'lower' => array(8036, 953)); /* GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8101, 'status' => 'F', 'lower' => array(8037, 953)); /* GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8102, 'status' => 'F', 'lower' => array(8038, 953)); /* GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8103, 'status' => 'F', 'lower' => array(8039, 953)); /* GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8104, 'status' => 'F', 'lower' => array(8032, 953)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8104, 'status' => 'S', 'lower' => array(8096)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8105, 'status' => 'F', 'lower' => array(8033, 953)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8105, 'status' => 'S', 'lower' => array(8097)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8106, 'status' => 'F', 'lower' => array(8034, 953)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8106, 'status' => 'S', 'lower' => array(8098)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8107, 'status' => 'F', 'lower' => array(8035, 953)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8107, 'status' => 'S', 'lower' => array(8099)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8108, 'status' => 'F', 'lower' => array(8036, 953)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8108, 'status' => 'S', 'lower' => array(8100)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8109, 'status' => 'F', 'lower' => array(8037, 953)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8109, 'status' => 'S', 'lower' => array(8101)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8110, 'status' => 'F', 'lower' => array(8038, 953)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8110, 'status' => 'S', 'lower' => array(8102)); /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8111, 'status' => 'F', 'lower' => array(8039, 953)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8111, 'status' => 'S', 'lower' => array(8103)); /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8114, 'status' => 'F', 'lower' => array(8048, 953)); /* GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8115, 'status' => 'F', 'lower' => array(945, 953)); /* GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8116, 'status' => 'F', 'lower' => array(940, 953)); /* GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8118, 'status' => 'F', 'lower' => array(945, 834)); /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8119, 'status' => 'F', 'lower' => array(945, 834, 953)); /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8120, 'status' => 'C', 'lower' => array(8112)); /* GREEK CAPITAL LETTER ALPHA WITH VRACHY */
+$config['1f00_1fff'][] = array('upper' => 8121, 'status' => 'C', 'lower' => array(8113)); /* GREEK CAPITAL LETTER ALPHA WITH MACRON */
+$config['1f00_1fff'][] = array('upper' => 8122, 'status' => 'C', 'lower' => array(8048)); /* GREEK CAPITAL LETTER ALPHA WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8123, 'status' => 'C', 'lower' => array(8049)); /* GREEK CAPITAL LETTER ALPHA WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8124, 'status' => 'F', 'lower' => array(945, 953)); /* GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8124, 'status' => 'S', 'lower' => array(8115)); /* GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8126, 'status' => 'C', 'lower' => array(953)); /* GREEK PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8130, 'status' => 'F', 'lower' => array(8052, 953)); /* GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8131, 'status' => 'F', 'lower' => array(951, 953)); /* GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8132, 'status' => 'F', 'lower' => array(942, 953)); /* GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8134, 'status' => 'F', 'lower' => array(951, 834)); /* GREEK SMALL LETTER ETA WITH PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8135, 'status' => 'F', 'lower' => array(951, 834, 953)); /* GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8136, 'status' => 'C', 'lower' => array(8050)); /* GREEK CAPITAL LETTER EPSILON WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8137, 'status' => 'C', 'lower' => array(8051)); /* GREEK CAPITAL LETTER EPSILON WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8138, 'status' => 'C', 'lower' => array(8052)); /* GREEK CAPITAL LETTER ETA WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8139, 'status' => 'C', 'lower' => array(8053)); /* GREEK CAPITAL LETTER ETA WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8140, 'status' => 'F', 'lower' => array(951, 953)); /* GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8140, 'status' => 'S', 'lower' => array(8131)); /* GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8146, 'status' => 'F', 'lower' => array(953, 776, 768)); /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8147, 'status' => 'F', 'lower' => array(953, 776, 769)); /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8150, 'status' => 'F', 'lower' => array(953, 834)); /* GREEK SMALL LETTER IOTA WITH PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8151, 'status' => 'F', 'lower' => array(953, 776, 834)); /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8152, 'status' => 'C', 'lower' => array(8144)); /* GREEK CAPITAL LETTER IOTA WITH VRACHY */
+$config['1f00_1fff'][] = array('upper' => 8153, 'status' => 'C', 'lower' => array(8145)); /* GREEK CAPITAL LETTER IOTA WITH MACRON */
+$config['1f00_1fff'][] = array('upper' => 8154, 'status' => 'C', 'lower' => array(8054)); /* GREEK CAPITAL LETTER IOTA WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8155, 'status' => 'C', 'lower' => array(8055)); /* GREEK CAPITAL LETTER IOTA WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8162, 'status' => 'F', 'lower' => array(965, 776, 768)); /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA */
+$config['1f00_1fff'][] = array('upper' => 8163, 'status' => 'F', 'lower' => array(965, 776, 769)); /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA */
+$config['1f00_1fff'][] = array('upper' => 8164, 'status' => 'F', 'lower' => array(961, 787)); /* GREEK SMALL LETTER RHO WITH PSILI */
+$config['1f00_1fff'][] = array('upper' => 8166, 'status' => 'F', 'lower' => array(965, 834)); /* GREEK SMALL LETTER UPSILON WITH PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8167, 'status' => 'F', 'lower' => array(965, 776, 834)); /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8168, 'status' => 'C', 'lower' => array(8160)); /* GREEK CAPITAL LETTER UPSILON WITH VRACHY */
+$config['1f00_1fff'][] = array('upper' => 8169, 'status' => 'C', 'lower' => array(8161)); /* GREEK CAPITAL LETTER UPSILON WITH MACRON */
+$config['1f00_1fff'][] = array('upper' => 8170, 'status' => 'C', 'lower' => array(8058)); /* GREEK CAPITAL LETTER UPSILON WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8171, 'status' => 'C', 'lower' => array(8059)); /* GREEK CAPITAL LETTER UPSILON WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8172, 'status' => 'C', 'lower' => array(8165)); /* GREEK CAPITAL LETTER RHO WITH DASIA */
+$config['1f00_1fff'][] = array('upper' => 8178, 'status' => 'F', 'lower' => array(8060, 953)); /* GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8179, 'status' => 'F', 'lower' => array(969, 953)); /* GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8180, 'status' => 'F', 'lower' => array(974, 953)); /* GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8182, 'status' => 'F', 'lower' => array(969, 834)); /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI */
+$config['1f00_1fff'][] = array('upper' => 8183, 'status' => 'F', 'lower' => array(969, 834, 953)); /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8184, 'status' => 'C', 'lower' => array(8056)); /* GREEK CAPITAL LETTER OMICRON WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8185, 'status' => 'C', 'lower' => array(8057)); /* GREEK CAPITAL LETTER OMICRON WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8186, 'status' => 'C', 'lower' => array(8060)); /* GREEK CAPITAL LETTER OMEGA WITH VARIA */
+$config['1f00_1fff'][] = array('upper' => 8187, 'status' => 'C', 'lower' => array(8061)); /* GREEK CAPITAL LETTER OMEGA WITH OXIA */
+$config['1f00_1fff'][] = array('upper' => 8188, 'status' => 'F', 'lower' => array(969, 953)); /* GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI */
+$config['1f00_1fff'][] = array('upper' => 8188, 'status' => 'S', 'lower' => array(8179)); /* GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2100_214f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2100 through U+214F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2100_214f'][] = array('upper' => 8486, 'status' => 'C', 'lower' => array(969)); /* OHM SIGN */
+$config['2100_214f'][] = array('upper' => 8490, 'status' => 'C', 'lower' => array(107)); /* KELVIN SIGN */
+$config['2100_214f'][] = array('upper' => 8491, 'status' => 'C', 'lower' => array(229)); /* ANGSTROM SIGN */
+$config['2100_214f'][] = array('upper' => 8498, 'status' => 'C', 'lower' => array(8526)); /* TURNED CAPITAL F */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2150_218f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2150 through U+218F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2150_218f'][] = array('upper' => 8544, 'status' => 'C', 'lower' => array(8560)); /* ROMAN NUMERAL ONE */
+$config['2150_218f'][] = array('upper' => 8545, 'status' => 'C', 'lower' => array(8561)); /* ROMAN NUMERAL TWO */
+$config['2150_218f'][] = array('upper' => 8546, 'status' => 'C', 'lower' => array(8562)); /* ROMAN NUMERAL THREE */
+$config['2150_218f'][] = array('upper' => 8547, 'status' => 'C', 'lower' => array(8563)); /* ROMAN NUMERAL FOUR */
+$config['2150_218f'][] = array('upper' => 8548, 'status' => 'C', 'lower' => array(8564)); /* ROMAN NUMERAL FIVE */
+$config['2150_218f'][] = array('upper' => 8549, 'status' => 'C', 'lower' => array(8565)); /* ROMAN NUMERAL SIX */
+$config['2150_218f'][] = array('upper' => 8550, 'status' => 'C', 'lower' => array(8566)); /* ROMAN NUMERAL SEVEN */
+$config['2150_218f'][] = array('upper' => 8551, 'status' => 'C', 'lower' => array(8567)); /* ROMAN NUMERAL EIGHT */
+$config['2150_218f'][] = array('upper' => 8552, 'status' => 'C', 'lower' => array(8568)); /* ROMAN NUMERAL NINE */
+$config['2150_218f'][] = array('upper' => 8553, 'status' => 'C', 'lower' => array(8569)); /* ROMAN NUMERAL TEN */
+$config['2150_218f'][] = array('upper' => 8554, 'status' => 'C', 'lower' => array(8570)); /* ROMAN NUMERAL ELEVEN */
+$config['2150_218f'][] = array('upper' => 8555, 'status' => 'C', 'lower' => array(8571)); /* ROMAN NUMERAL TWELVE */
+$config['2150_218f'][] = array('upper' => 8556, 'status' => 'C', 'lower' => array(8572)); /* ROMAN NUMERAL FIFTY */
+$config['2150_218f'][] = array('upper' => 8557, 'status' => 'C', 'lower' => array(8573)); /* ROMAN NUMERAL ONE HUNDRED */
+$config['2150_218f'][] = array('upper' => 8558, 'status' => 'C', 'lower' => array(8574)); /* ROMAN NUMERAL FIVE HUNDRED */
+$config['2150_218f'][] = array('upper' => 8559, 'status' => 'C', 'lower' => array(8575)); /* ROMAN NUMERAL ONE THOUSAND */
+$config['2150_218f'][] = array('upper' => 8579, 'status' => 'C', 'lower' => array(8580)); /* ROMAN NUMERAL REVERSED ONE HUNDRED */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2460_24ff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2460 through U+24FF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2460_24ff'][] = array('upper' => 9398, 'status' => 'C', 'lower' => array(9424)); /* CIRCLED LATIN CAPITAL LETTER A */
+$config['2460_24ff'][] = array('upper' => 9399, 'status' => 'C', 'lower' => array(9425)); /* CIRCLED LATIN CAPITAL LETTER B */
+$config['2460_24ff'][] = array('upper' => 9400, 'status' => 'C', 'lower' => array(9426)); /* CIRCLED LATIN CAPITAL LETTER C */
+$config['2460_24ff'][] = array('upper' => 9401, 'status' => 'C', 'lower' => array(9427)); /* CIRCLED LATIN CAPITAL LETTER D */
+$config['2460_24ff'][] = array('upper' => 9402, 'status' => 'C', 'lower' => array(9428)); /* CIRCLED LATIN CAPITAL LETTER E */
+$config['2460_24ff'][] = array('upper' => 9403, 'status' => 'C', 'lower' => array(9429)); /* CIRCLED LATIN CAPITAL LETTER F */
+$config['2460_24ff'][] = array('upper' => 9404, 'status' => 'C', 'lower' => array(9430)); /* CIRCLED LATIN CAPITAL LETTER G */
+$config['2460_24ff'][] = array('upper' => 9405, 'status' => 'C', 'lower' => array(9431)); /* CIRCLED LATIN CAPITAL LETTER H */
+$config['2460_24ff'][] = array('upper' => 9406, 'status' => 'C', 'lower' => array(9432)); /* CIRCLED LATIN CAPITAL LETTER I */
+$config['2460_24ff'][] = array('upper' => 9407, 'status' => 'C', 'lower' => array(9433)); /* CIRCLED LATIN CAPITAL LETTER J */
+$config['2460_24ff'][] = array('upper' => 9408, 'status' => 'C', 'lower' => array(9434)); /* CIRCLED LATIN CAPITAL LETTER K */
+$config['2460_24ff'][] = array('upper' => 9409, 'status' => 'C', 'lower' => array(9435)); /* CIRCLED LATIN CAPITAL LETTER L */
+$config['2460_24ff'][] = array('upper' => 9410, 'status' => 'C', 'lower' => array(9436)); /* CIRCLED LATIN CAPITAL LETTER M */
+$config['2460_24ff'][] = array('upper' => 9411, 'status' => 'C', 'lower' => array(9437)); /* CIRCLED LATIN CAPITAL LETTER N */
+$config['2460_24ff'][] = array('upper' => 9412, 'status' => 'C', 'lower' => array(9438)); /* CIRCLED LATIN CAPITAL LETTER O */
+$config['2460_24ff'][] = array('upper' => 9413, 'status' => 'C', 'lower' => array(9439)); /* CIRCLED LATIN CAPITAL LETTER P */
+$config['2460_24ff'][] = array('upper' => 9414, 'status' => 'C', 'lower' => array(9440)); /* CIRCLED LATIN CAPITAL LETTER Q */
+$config['2460_24ff'][] = array('upper' => 9415, 'status' => 'C', 'lower' => array(9441)); /* CIRCLED LATIN CAPITAL LETTER R */
+$config['2460_24ff'][] = array('upper' => 9416, 'status' => 'C', 'lower' => array(9442)); /* CIRCLED LATIN CAPITAL LETTER S */
+$config['2460_24ff'][] = array('upper' => 9417, 'status' => 'C', 'lower' => array(9443)); /* CIRCLED LATIN CAPITAL LETTER T */
+$config['2460_24ff'][] = array('upper' => 9418, 'status' => 'C', 'lower' => array(9444)); /* CIRCLED LATIN CAPITAL LETTER U */
+$config['2460_24ff'][] = array('upper' => 9419, 'status' => 'C', 'lower' => array(9445)); /* CIRCLED LATIN CAPITAL LETTER V */
+$config['2460_24ff'][] = array('upper' => 9420, 'status' => 'C', 'lower' => array(9446)); /* CIRCLED LATIN CAPITAL LETTER W */
+$config['2460_24ff'][] = array('upper' => 9421, 'status' => 'C', 'lower' => array(9447)); /* CIRCLED LATIN CAPITAL LETTER X */
+$config['2460_24ff'][] = array('upper' => 9422, 'status' => 'C', 'lower' => array(9448)); /* CIRCLED LATIN CAPITAL LETTER Y */
+$config['2460_24ff'][] = array('upper' => 9423, 'status' => 'C', 'lower' => array(9449)); /* CIRCLED LATIN CAPITAL LETTER Z */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2c00_2c5f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2C00 through U+2C5F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2c00_2c5f'][] = array('upper' => 11264, 'status' => 'C', 'lower' => array(11312)); /* GLAGOLITIC CAPITAL LETTER AZU */
+$config['2c00_2c5f'][] = array('upper' => 11265, 'status' => 'C', 'lower' => array(11313)); /* GLAGOLITIC CAPITAL LETTER BUKY */
+$config['2c00_2c5f'][] = array('upper' => 11266, 'status' => 'C', 'lower' => array(11314)); /* GLAGOLITIC CAPITAL LETTER VEDE */
+$config['2c00_2c5f'][] = array('upper' => 11267, 'status' => 'C', 'lower' => array(11315)); /* GLAGOLITIC CAPITAL LETTER GLAGOLI */
+$config['2c00_2c5f'][] = array('upper' => 11268, 'status' => 'C', 'lower' => array(11316)); /* GLAGOLITIC CAPITAL LETTER DOBRO */
+$config['2c00_2c5f'][] = array('upper' => 11269, 'status' => 'C', 'lower' => array(11317)); /* GLAGOLITIC CAPITAL LETTER YESTU */
+$config['2c00_2c5f'][] = array('upper' => 11270, 'status' => 'C', 'lower' => array(11318)); /* GLAGOLITIC CAPITAL LETTER ZHIVETE */
+$config['2c00_2c5f'][] = array('upper' => 11271, 'status' => 'C', 'lower' => array(11319)); /* GLAGOLITIC CAPITAL LETTER DZELO */
+$config['2c00_2c5f'][] = array('upper' => 11272, 'status' => 'C', 'lower' => array(11320)); /* GLAGOLITIC CAPITAL LETTER ZEMLJA */
+$config['2c00_2c5f'][] = array('upper' => 11273, 'status' => 'C', 'lower' => array(11321)); /* GLAGOLITIC CAPITAL LETTER IZHE */
+$config['2c00_2c5f'][] = array('upper' => 11274, 'status' => 'C', 'lower' => array(11322)); /* GLAGOLITIC CAPITAL LETTER INITIAL IZHE */
+$config['2c00_2c5f'][] = array('upper' => 11275, 'status' => 'C', 'lower' => array(11323)); /* GLAGOLITIC CAPITAL LETTER I */
+$config['2c00_2c5f'][] = array('upper' => 11276, 'status' => 'C', 'lower' => array(11324)); /* GLAGOLITIC CAPITAL LETTER DJERVI */
+$config['2c00_2c5f'][] = array('upper' => 11277, 'status' => 'C', 'lower' => array(11325)); /* GLAGOLITIC CAPITAL LETTER KAKO */
+$config['2c00_2c5f'][] = array('upper' => 11278, 'status' => 'C', 'lower' => array(11326)); /* GLAGOLITIC CAPITAL LETTER LJUDIJE */
+$config['2c00_2c5f'][] = array('upper' => 11279, 'status' => 'C', 'lower' => array(11327)); /* GLAGOLITIC CAPITAL LETTER MYSLITE */
+$config['2c00_2c5f'][] = array('upper' => 11280, 'status' => 'C', 'lower' => array(11328)); /* GLAGOLITIC CAPITAL LETTER NASHI */
+$config['2c00_2c5f'][] = array('upper' => 11281, 'status' => 'C', 'lower' => array(11329)); /* GLAGOLITIC CAPITAL LETTER ONU */
+$config['2c00_2c5f'][] = array('upper' => 11282, 'status' => 'C', 'lower' => array(11330)); /* GLAGOLITIC CAPITAL LETTER POKOJI */
+$config['2c00_2c5f'][] = array('upper' => 11283, 'status' => 'C', 'lower' => array(11331)); /* GLAGOLITIC CAPITAL LETTER RITSI */
+$config['2c00_2c5f'][] = array('upper' => 11284, 'status' => 'C', 'lower' => array(11332)); /* GLAGOLITIC CAPITAL LETTER SLOVO */
+$config['2c00_2c5f'][] = array('upper' => 11285, 'status' => 'C', 'lower' => array(11333)); /* GLAGOLITIC CAPITAL LETTER TVRIDO */
+$config['2c00_2c5f'][] = array('upper' => 11286, 'status' => 'C', 'lower' => array(11334)); /* GLAGOLITIC CAPITAL LETTER UKU */
+$config['2c00_2c5f'][] = array('upper' => 11287, 'status' => 'C', 'lower' => array(11335)); /* GLAGOLITIC CAPITAL LETTER FRITU */
+$config['2c00_2c5f'][] = array('upper' => 11288, 'status' => 'C', 'lower' => array(11336)); /* GLAGOLITIC CAPITAL LETTER HERU */
+$config['2c00_2c5f'][] = array('upper' => 11289, 'status' => 'C', 'lower' => array(11337)); /* GLAGOLITIC CAPITAL LETTER OTU */
+$config['2c00_2c5f'][] = array('upper' => 11290, 'status' => 'C', 'lower' => array(11338)); /* GLAGOLITIC CAPITAL LETTER PE */
+$config['2c00_2c5f'][] = array('upper' => 11291, 'status' => 'C', 'lower' => array(11339)); /* GLAGOLITIC CAPITAL LETTER SHTA */
+$config['2c00_2c5f'][] = array('upper' => 11292, 'status' => 'C', 'lower' => array(11340)); /* GLAGOLITIC CAPITAL LETTER TSI */
+$config['2c00_2c5f'][] = array('upper' => 11293, 'status' => 'C', 'lower' => array(11341)); /* GLAGOLITIC CAPITAL LETTER CHRIVI */
+$config['2c00_2c5f'][] = array('upper' => 11294, 'status' => 'C', 'lower' => array(11342)); /* GLAGOLITIC CAPITAL LETTER SHA */
+$config['2c00_2c5f'][] = array('upper' => 11295, 'status' => 'C', 'lower' => array(11343)); /* GLAGOLITIC CAPITAL LETTER YERU */
+$config['2c00_2c5f'][] = array('upper' => 11296, 'status' => 'C', 'lower' => array(11344)); /* GLAGOLITIC CAPITAL LETTER YERI */
+$config['2c00_2c5f'][] = array('upper' => 11297, 'status' => 'C', 'lower' => array(11345)); /* GLAGOLITIC CAPITAL LETTER YATI */
+$config['2c00_2c5f'][] = array('upper' => 11298, 'status' => 'C', 'lower' => array(11346)); /* GLAGOLITIC CAPITAL LETTER SPIDERY HA */
+$config['2c00_2c5f'][] = array('upper' => 11299, 'status' => 'C', 'lower' => array(11347)); /* GLAGOLITIC CAPITAL LETTER YU */
+$config['2c00_2c5f'][] = array('upper' => 11300, 'status' => 'C', 'lower' => array(11348)); /* GLAGOLITIC CAPITAL LETTER SMALL YUS */
+$config['2c00_2c5f'][] = array('upper' => 11301, 'status' => 'C', 'lower' => array(11349)); /* GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL */
+$config['2c00_2c5f'][] = array('upper' => 11302, 'status' => 'C', 'lower' => array(11350)); /* GLAGOLITIC CAPITAL LETTER YO */
+$config['2c00_2c5f'][] = array('upper' => 11303, 'status' => 'C', 'lower' => array(11351)); /* GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS */
+$config['2c00_2c5f'][] = array('upper' => 11304, 'status' => 'C', 'lower' => array(11352)); /* GLAGOLITIC CAPITAL LETTER BIG YUS */
+$config['2c00_2c5f'][] = array('upper' => 11305, 'status' => 'C', 'lower' => array(11353)); /* GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS */
+$config['2c00_2c5f'][] = array('upper' => 11306, 'status' => 'C', 'lower' => array(11354)); /* GLAGOLITIC CAPITAL LETTER FITA */
+$config['2c00_2c5f'][] = array('upper' => 11307, 'status' => 'C', 'lower' => array(11355)); /* GLAGOLITIC CAPITAL LETTER IZHITSA */
+$config['2c00_2c5f'][] = array('upper' => 11308, 'status' => 'C', 'lower' => array(11356)); /* GLAGOLITIC CAPITAL LETTER SHTAPIC */
+$config['2c00_2c5f'][] = array('upper' => 11309, 'status' => 'C', 'lower' => array(11357)); /* GLAGOLITIC CAPITAL LETTER TROKUTASTI A */
+$config['2c00_2c5f'][] = array('upper' => 11310, 'status' => 'C', 'lower' => array(11358)); /* GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2c60_2c7f.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2C60 through U+2C7F
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2c60_2c7f'][] = array('upper' => 11360, 'status' => 'C', 'lower' => array(11361)); /* LATIN CAPITAL LETTER L WITH DOUBLE BAR */
+$config['2c60_2c7f'][] = array('upper' => 11362, 'status' => 'C', 'lower' => array(619)); /* LATIN CAPITAL LETTER L WITH MIDDLE TILDE */
+$config['2c60_2c7f'][] = array('upper' => 11363, 'status' => 'C', 'lower' => array(7549)); /* LATIN CAPITAL LETTER P WITH STROKE */
+$config['2c60_2c7f'][] = array('upper' => 11364, 'status' => 'C', 'lower' => array(637)); /* LATIN CAPITAL LETTER R WITH TAIL */
+$config['2c60_2c7f'][] = array('upper' => 11367, 'status' => 'C', 'lower' => array(11368)); /* LATIN CAPITAL LETTER H WITH DESCENDER */
+$config['2c60_2c7f'][] = array('upper' => 11369, 'status' => 'C', 'lower' => array(11370)); /* LATIN CAPITAL LETTER K WITH DESCENDER */
+$config['2c60_2c7f'][] = array('upper' => 11371, 'status' => 'C', 'lower' => array(11372)); /* LATIN CAPITAL LETTER Z WITH DESCENDER */
+$config['2c60_2c7f'][] = array('upper' => 11381, 'status' => 'C', 'lower' => array(11382)); /* LATIN CAPITAL LETTER HALF H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/2c80_2cff.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+2C80 through U+2CFF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['2c80_2cff'][] = array('upper' => 11392, 'status' => 'C', 'lower' => array(11393)); /* COPTIC CAPITAL LETTER ALFA */
+$config['2c80_2cff'][] = array('upper' => 11394, 'status' => 'C', 'lower' => array(11395)); /* COPTIC CAPITAL LETTER VIDA */
+$config['2c80_2cff'][] = array('upper' => 11396, 'status' => 'C', 'lower' => array(11397)); /* COPTIC CAPITAL LETTER GAMMA */
+$config['2c80_2cff'][] = array('upper' => 11398, 'status' => 'C', 'lower' => array(11399)); /* COPTIC CAPITAL LETTER DALDA */
+$config['2c80_2cff'][] = array('upper' => 11400, 'status' => 'C', 'lower' => array(11401)); /* COPTIC CAPITAL LETTER EIE */
+$config['2c80_2cff'][] = array('upper' => 11402, 'status' => 'C', 'lower' => array(11403)); /* COPTIC CAPITAL LETTER SOU */
+$config['2c80_2cff'][] = array('upper' => 11404, 'status' => 'C', 'lower' => array(11405)); /* COPTIC CAPITAL LETTER ZATA */
+$config['2c80_2cff'][] = array('upper' => 11406, 'status' => 'C', 'lower' => array(11407)); /* COPTIC CAPITAL LETTER HATE */
+$config['2c80_2cff'][] = array('upper' => 11408, 'status' => 'C', 'lower' => array(11409)); /* COPTIC CAPITAL LETTER THETHE */
+$config['2c80_2cff'][] = array('upper' => 11410, 'status' => 'C', 'lower' => array(11411)); /* COPTIC CAPITAL LETTER IAUDA */
+$config['2c80_2cff'][] = array('upper' => 11412, 'status' => 'C', 'lower' => array(11413)); /* COPTIC CAPITAL LETTER KAPA */
+$config['2c80_2cff'][] = array('upper' => 11414, 'status' => 'C', 'lower' => array(11415)); /* COPTIC CAPITAL LETTER LAULA */
+$config['2c80_2cff'][] = array('upper' => 11416, 'status' => 'C', 'lower' => array(11417)); /* COPTIC CAPITAL LETTER MI */
+$config['2c80_2cff'][] = array('upper' => 11418, 'status' => 'C', 'lower' => array(11419)); /* COPTIC CAPITAL LETTER NI */
+$config['2c80_2cff'][] = array('upper' => 11420, 'status' => 'C', 'lower' => array(11421)); /* COPTIC CAPITAL LETTER KSI */
+$config['2c80_2cff'][] = array('upper' => 11422, 'status' => 'C', 'lower' => array(11423)); /* COPTIC CAPITAL LETTER O */
+$config['2c80_2cff'][] = array('upper' => 11424, 'status' => 'C', 'lower' => array(11425)); /* COPTIC CAPITAL LETTER PI */
+$config['2c80_2cff'][] = array('upper' => 11426, 'status' => 'C', 'lower' => array(11427)); /* COPTIC CAPITAL LETTER RO */
+$config['2c80_2cff'][] = array('upper' => 11428, 'status' => 'C', 'lower' => array(11429)); /* COPTIC CAPITAL LETTER SIMA */
+$config['2c80_2cff'][] = array('upper' => 11430, 'status' => 'C', 'lower' => array(11431)); /* COPTIC CAPITAL LETTER TAU */
+$config['2c80_2cff'][] = array('upper' => 11432, 'status' => 'C', 'lower' => array(11433)); /* COPTIC CAPITAL LETTER UA */
+$config['2c80_2cff'][] = array('upper' => 11434, 'status' => 'C', 'lower' => array(11435)); /* COPTIC CAPITAL LETTER FI */
+$config['2c80_2cff'][] = array('upper' => 11436, 'status' => 'C', 'lower' => array(11437)); /* COPTIC CAPITAL LETTER KHI */
+$config['2c80_2cff'][] = array('upper' => 11438, 'status' => 'C', 'lower' => array(11439)); /* COPTIC CAPITAL LETTER PSI */
+$config['2c80_2cff'][] = array('upper' => 11440, 'status' => 'C', 'lower' => array(11441)); /* COPTIC CAPITAL LETTER OOU */
+$config['2c80_2cff'][] = array('upper' => 11442, 'status' => 'C', 'lower' => array(11443)); /* COPTIC CAPITAL LETTER DIALECT-P ALEF */
+$config['2c80_2cff'][] = array('upper' => 11444, 'status' => 'C', 'lower' => array(11445)); /* COPTIC CAPITAL LETTER OLD COPTIC AIN */
+$config['2c80_2cff'][] = array('upper' => 11446, 'status' => 'C', 'lower' => array(11447)); /* COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE */
+$config['2c80_2cff'][] = array('upper' => 11448, 'status' => 'C', 'lower' => array(11449)); /* COPTIC CAPITAL LETTER DIALECT-P KAPA */
+$config['2c80_2cff'][] = array('upper' => 11450, 'status' => 'C', 'lower' => array(11451)); /* COPTIC CAPITAL LETTER DIALECT-P NI */
+$config['2c80_2cff'][] = array('upper' => 11452, 'status' => 'C', 'lower' => array(11453)); /* COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI */
+$config['2c80_2cff'][] = array('upper' => 11454, 'status' => 'C', 'lower' => array(11455)); /* COPTIC CAPITAL LETTER OLD COPTIC OOU */
+$config['2c80_2cff'][] = array('upper' => 11456, 'status' => 'C', 'lower' => array(11457)); /* COPTIC CAPITAL LETTER SAMPI */
+$config['2c80_2cff'][] = array('upper' => 11458, 'status' => 'C', 'lower' => array(11459)); /* COPTIC CAPITAL LETTER CROSSED SHEI */
+$config['2c80_2cff'][] = array('upper' => 11460, 'status' => 'C', 'lower' => array(11461)); /* COPTIC CAPITAL LETTER OLD COPTIC SHEI */
+$config['2c80_2cff'][] = array('upper' => 11462, 'status' => 'C', 'lower' => array(11463)); /* COPTIC CAPITAL LETTER OLD COPTIC ESH */
+$config['2c80_2cff'][] = array('upper' => 11464, 'status' => 'C', 'lower' => array(11465)); /* COPTIC CAPITAL LETTER AKHMIMIC KHEI */
+$config['2c80_2cff'][] = array('upper' => 11466, 'status' => 'C', 'lower' => array(11467)); /* COPTIC CAPITAL LETTER DIALECT-P HORI */
+$config['2c80_2cff'][] = array('upper' => 11468, 'status' => 'C', 'lower' => array(11469)); /* COPTIC CAPITAL LETTER OLD COPTIC HORI */
+$config['2c80_2cff'][] = array('upper' => 11470, 'status' => 'C', 'lower' => array(11471)); /* COPTIC CAPITAL LETTER OLD COPTIC HA */
+$config['2c80_2cff'][] = array('upper' => 11472, 'status' => 'C', 'lower' => array(11473)); /* COPTIC CAPITAL LETTER L-SHAPED HA */
+$config['2c80_2cff'][] = array('upper' => 11474, 'status' => 'C', 'lower' => array(11475)); /* COPTIC CAPITAL LETTER OLD COPTIC HEI */
+$config['2c80_2cff'][] = array('upper' => 11476, 'status' => 'C', 'lower' => array(11477)); /* COPTIC CAPITAL LETTER OLD COPTIC HAT */
+$config['2c80_2cff'][] = array('upper' => 11478, 'status' => 'C', 'lower' => array(11479)); /* COPTIC CAPITAL LETTER OLD COPTIC GANGIA */
+$config['2c80_2cff'][] = array('upper' => 11480, 'status' => 'C', 'lower' => array(11481)); /* COPTIC CAPITAL LETTER OLD COPTIC DJA */
+$config['2c80_2cff'][] = array('upper' => 11482, 'status' => 'C', 'lower' => array(11483)); /* COPTIC CAPITAL LETTER OLD COPTIC SHIMA */
+$config['2c80_2cff'][] = array('upper' => 11484, 'status' => 'C', 'lower' => array(11485)); /* COPTIC CAPITAL LETTER OLD NUBIAN SHIMA */
+$config['2c80_2cff'][] = array('upper' => 11486, 'status' => 'C', 'lower' => array(11487)); /* COPTIC CAPITAL LETTER OLD NUBIAN NGI */
+$config['2c80_2cff'][] = array('upper' => 11488, 'status' => 'C', 'lower' => array(11489)); /* COPTIC CAPITAL LETTER OLD NUBIAN NYI */
+$config['2c80_2cff'][] = array('upper' => 11490, 'status' => 'C', 'lower' => array(11491)); /* COPTIC CAPITAL LETTER OLD NUBIAN WAU */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/config/unicode/casefolding/ff00_ffef.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Case Folding Properties.
+ *
+ * Provides case mapping of Unicode characters for code points U+FF00 through U+FFEF
+ *
+ * @see http://www.unicode.org/Public/UNIDATA/UCD.html
+ * @see http://www.unicode.org/Public/UNIDATA/CaseFolding.txt
+ * @see http://www.unicode.org/reports/tr21/tr21-5.html
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.config.unicode.casefolding
+ * @since         CakePHP(tm) v 1.2.0.5691
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * The upper field is the decimal value of the upper case character
+ *
+ * The lower filed is an array of the decimal values that form the lower case version of a character.
+ *
+ *	The status field is:
+ * C: common case folding, common mappings shared by both simple and full mappings.
+ * F: full case folding, mappings that cause strings to grow in length. Multiple characters are separated by spaces.
+ * S: simple case folding, mappings to single characters where different from F.
+ * T: special case for uppercase I and dotted uppercase I
+ *   - For non-Turkic languages, this mapping is normally not used.
+ *   - For Turkic languages (tr, az), this mapping can be used instead of the normal mapping for these characters.
+ *     Note that the Turkic mappings do not maintain canonical equivalence without additional processing.
+ *     See the discussions of case mapping in the Unicode Standard for more information.
+ */
+$config['ff00_ffef'][] = array('upper' => 65313, 'status' => 'C', 'lower' => array(65345)); /* FULLWIDTH LATIN CAPITAL LETTER A */
+$config['ff00_ffef'][] = array('upper' => 65314, 'status' => 'C', 'lower' => array(65346)); /* FULLWIDTH LATIN CAPITAL LETTER B */
+$config['ff00_ffef'][] = array('upper' => 65315, 'status' => 'C', 'lower' => array(65347)); /* FULLWIDTH LATIN CAPITAL LETTER C */
+$config['ff00_ffef'][] = array('upper' => 65316, 'status' => 'C', 'lower' => array(65348)); /* FULLWIDTH LATIN CAPITAL LETTER D */
+$config['ff00_ffef'][] = array('upper' => 65317, 'status' => 'C', 'lower' => array(65349)); /* FULLWIDTH LATIN CAPITAL LETTER E */
+$config['ff00_ffef'][] = array('upper' => 65318, 'status' => 'C', 'lower' => array(65350)); /* FULLWIDTH LATIN CAPITAL LETTER F */
+$config['ff00_ffef'][] = array('upper' => 65319, 'status' => 'C', 'lower' => array(65351)); /* FULLWIDTH LATIN CAPITAL LETTER G */
+$config['ff00_ffef'][] = array('upper' => 65320, 'status' => 'C', 'lower' => array(65352)); /* FULLWIDTH LATIN CAPITAL LETTER H */
+$config['ff00_ffef'][] = array('upper' => 65321, 'status' => 'C', 'lower' => array(65353)); /* FULLWIDTH LATIN CAPITAL LETTER I */
+$config['ff00_ffef'][] = array('upper' => 65322, 'status' => 'C', 'lower' => array(65354)); /* FULLWIDTH LATIN CAPITAL LETTER J */
+$config['ff00_ffef'][] = array('upper' => 65323, 'status' => 'C', 'lower' => array(65355)); /* FULLWIDTH LATIN CAPITAL LETTER K */
+$config['ff00_ffef'][] = array('upper' => 65324, 'status' => 'C', 'lower' => array(65356)); /* FULLWIDTH LATIN CAPITAL LETTER L */
+$config['ff00_ffef'][] = array('upper' => 65325, 'status' => 'C', 'lower' => array(65357)); /* FULLWIDTH LATIN CAPITAL LETTER M */
+$config['ff00_ffef'][] = array('upper' => 65326, 'status' => 'C', 'lower' => array(65358)); /* FULLWIDTH LATIN CAPITAL LETTER N */
+$config['ff00_ffef'][] = array('upper' => 65327, 'status' => 'C', 'lower' => array(65359)); /* FULLWIDTH LATIN CAPITAL LETTER O */
+$config['ff00_ffef'][] = array('upper' => 65328, 'status' => 'C', 'lower' => array(65360)); /* FULLWIDTH LATIN CAPITAL LETTER P */
+$config['ff00_ffef'][] = array('upper' => 65329, 'status' => 'C', 'lower' => array(65361)); /* FULLWIDTH LATIN CAPITAL LETTER Q */
+$config['ff00_ffef'][] = array('upper' => 65330, 'status' => 'C', 'lower' => array(65362)); /* FULLWIDTH LATIN CAPITAL LETTER R */
+$config['ff00_ffef'][] = array('upper' => 65331, 'status' => 'C', 'lower' => array(65363)); /* FULLWIDTH LATIN CAPITAL LETTER S */
+$config['ff00_ffef'][] = array('upper' => 65332, 'status' => 'C', 'lower' => array(65364)); /* FULLWIDTH LATIN CAPITAL LETTER T */
+$config['ff00_ffef'][] = array('upper' => 65333, 'status' => 'C', 'lower' => array(65365)); /* FULLWIDTH LATIN CAPITAL LETTER U */
+$config['ff00_ffef'][] = array('upper' => 65334, 'status' => 'C', 'lower' => array(65366)); /* FULLWIDTH LATIN CAPITAL LETTER V */
+$config['ff00_ffef'][] = array('upper' => 65335, 'status' => 'C', 'lower' => array(65367)); /* FULLWIDTH LATIN CAPITAL LETTER W */
+$config['ff00_ffef'][] = array('upper' => 65336, 'status' => 'C', 'lower' => array(65368)); /* FULLWIDTH LATIN CAPITAL LETTER X */
+$config['ff00_ffef'][] = array('upper' => 65337, 'status' => 'C', 'lower' => array(65369)); /* FULLWIDTH LATIN CAPITAL LETTER Y */
+$config['ff00_ffef'][] = array('upper' => 65338, 'status' => 'C', 'lower' => array(65370)); /* FULLWIDTH LATIN CAPITAL LETTER Z */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/console/cake	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,26 @@
+#!/bin/bash
+################################################################################
+#
+# Bake is a shell script for running CakePHP bake script
+# PHP versions 4 and 5
+#
+# CakePHP(tm) :  Rapid Development Framework (http://cakephp.org)
+# Copyright 2005-2010, Cake Software Foundation, Inc.
+#
+# Licensed under The MIT License
+# Redistributions of files must retain the above copyright notice.
+#
+# @copyright		Copyright 2005-2010, Cake Software Foundation, Inc.
+# @link				http://cakephp.org CakePHP(tm) Project
+# @package			cake
+# @subpackage		cake.cake.console
+# @since				CakePHP(tm) v 1.2.0.5012
+# @license			MIT License (http://www.opensource.org/licenses/mit-license.php)
+#
+################################################################################
+LIB=${0/%cake/}
+APP=`pwd`
+
+exec php -q ${LIB}cake.php -working "${APP}" "$@"
+
+exit;
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/console/cake.bat	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,33 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Bake is a shell script for running CakePHP bake script
+:: PHP versions 4 and 5
+::
+:: CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+:: Copyright 2005-2010, Cake Software Foundation, Inc.
+::
+:: Licensed under The MIT License
+:: Redistributions of files must retain the above copyright notice.
+::
+:: @copyright		Copyright 2005-2010, Cake Software Foundation, Inc.
+:: @link				http://cakephp.org CakePHP(tm) Project
+:: @package			cake
+:: @subpackage		cake.cake.console
+:: @since			CakePHP(tm) v 1.2.0.5012
+:: @license			MIT License (http://www.opensource.org/licenses/mit-license.php)
+::
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:: In order for this script to work as intended, the cake\console\ folder must be in your PATH
+
+@echo.
+@echo off
+
+SET app=%0
+SET lib=%~dp0
+
+php -q "%lib%cake.php" -working "%CD% " %*
+
+echo.
+
+exit /B %ERRORLEVEL%
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cake/console/cake.php	Sun Jul 24 21:08:31 2011 +0900
@@ -0,0 +1,667 @@
+#!/usr/bin/php -q
+<?php
+/**
+ * Command-line code generation utility to automate programmer chores.
+ *
+ * Shell dispatcher class
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2010, Cake Software Foundation, Inc.
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @package       cake
+ * @subpackage    cake.cake.console
+ * @since         CakePHP(tm) v 1.2.0.5012
+ * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+if (!defined('E_DEPRECATED')) {
+	define('E_DEPRECATED', 8192);
+}
+/**
+ * Shell dispatcher
+ *
+ * @package       cake
+ * @subpackage    cake.cake.console
+ */
+class ShellDispatcher {
+
+/**
+ * Standard input stream.
+ *
+ * @var filehandle
+ * @access public
+ */
+	var $stdin;
+
+/**
+ * Standard output stream.
+ *
+ * @var filehandle
+ * @access public
+ */
+	var $stdout;
+
+/**
+ * Standard error stream.
+ *
+ * @var filehandle
+ * @access public
+ */
+	var $stderr;
+
+/**
+ * Contains command switches parsed from the command line.
+ *
+ * @var array
+ * @access public
+ */
+	var $params = array();
+
+/**
+ * Contains arguments parsed from the command line.
+ *
+ * @var array
+ * @access public
+ */
+	var $args = array();
+
+/**
+ * The file name of the shell that was invoked.
+ *
+ * @var string
+ * @access public
+ */
+	var $shell = null;
+
+/**
+ * The class name of the shell that was invoked.
+ *
+ * @var string
+ * @access public
+ */
+	var $shellClass = null;
+
+/**
+ * The command called if public methods are available.
+ *
+ * @var string
+ * @access public
+ */
+	var $shellCommand = null;
+
+/**
+ * The path locations of shells.
+ *
+ * @var array
+ * @access public
+ */
+	var $shellPaths = array();
+
+/**
+ * The path to the current shell location.
+ *
+ * @var string
+ * @access public
+ */
+	var $shellPath = null;
+
+/**
+ * The name of the shell in camelized.
+ *
+ * @var string
+ * @access public
+ */
+	var $shellName = null;
+
+/**
+ * Constructor
+ *
+ * The execution of the script is stopped after dispatching the request with
+ * a status code of either 0 or 1 according to the result of the dispatch.
+ *
+ * @param array $args the argv
+ * @return void
+ * @access public
+ */
+	function ShellDispatcher($args = array()) {
+		set_time_limit(0);
+
+		$this->__initConstants();
+		$this->parseParams($args);
+		$this->_initEnvironment();
+		$this->__buildPaths();
+		$this->_stop($this->dispatch() === false ? 1 : 0);
+	}
+
+/**
+ * Defines core configuration.
+ *
+ * @access private
+ */
+	function __initConstants() {
+		if (function_exists('ini_set')) {
+			ini_set('display_errors', '1');
+			ini_set('error_reporting', E_ALL & ~E_DEPRECATED);
+			ini_set('html_errors', false);
+			ini_set('implicit_flush', true);
+			ini_set('max_execution_time', 0);
+		}
+
+		if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+			define('PHP5', (PHP_VERSION >= 5));
+			define('DS', DIRECTORY_SEPARATOR);
+			define('CAKE_CORE_INCLUDE_PATH', dirname(dirname(dirname(__FILE__))));
+			define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
+			define('DISABLE_DEFAULT_ERROR_HANDLING', false);
+			define('CAKEPHP_SHELL', true);
+		}
+		require_once(CORE_PATH . 'cake' . DS . 'basics.php');
+	}
+
+/**
+ * Defines current working environment.
+ *
+ * @access protected
+ */
+	function _initEnvironment() {
+		$this->stdin = fopen('php://stdin', 'r');
+		$this->stdout = fopen('php://stdout', 'w');
+		$this->stderr = fopen('php://stderr', 'w');
+
+		if (!$this->__bootstrap()) {
+			$this->stderr("\nCakePHP Console: ");
+			$this->stderr("\nUnable to load Cake core:");
+			$this->stderr("\tMake sure " . DS . 'cake' . DS . 'libs exists in ' . CAKE_CORE_INCLUDE_PATH);
+			$this->_stop();
+		}
+
+		if (!isset($this->args[0]) || !isset($this->params['working'])) {
+			$this->stderr("\nCakePHP Console: ");
+			$this->stderr('This file has been loaded incorrectly and cannot continue.');
+			$this->stderr('Please make sure that ' . DIRECTORY_SEPARATOR . 'cake' . DIRECTORY_SEPARATOR . 'console is in your system path,');
+			$this->stderr('and check the manual for the correct usage of this command.');
+			$this->stderr('(http://manual.cakephp.org/)');
+			$this->_stop();
+		}
+
+		if (basename(__FILE__) !=  basename($this->args[0])) {
+			$this->stderr("\nCakePHP Console: ");
+			$this->stderr('Warning: the dispatcher may have been loaded incorrectly, which could lead to unexpected results...');
+			if ($this->getInput('Continue anyway?', array('y', 'n'), 'y') == 'n') {
+				$this->_stop();
+			}
+		}
+
+		$this->shiftArgs();
+	}
+
+/**
+ * Builds the shell paths.
+ *
+ * @access private
+ * @return void
+ */
+	function __buildPaths() {
+		$paths = array();
+		if (!class_exists('Folder')) {
+			require LIBS . 'folder.php';
+		}
+		$plugins = App::objects('plugin', null, false);
+		foreach ((array)$plugins as $plugin) {
+			$pluginPath = App::pluginPath($plugin);
+			$path = $pluginPath . 'vendors' . DS . 'shells' . DS;
+			if (file_exists($path)) {
+				$paths[] = $path;
+			}
+		}
+
+		$vendorPaths = array_values(App::path('vendors'));
+		foreach ($vendorPaths as $vendorPath) {
+			$path = rtrim($vendorPath, DS) . DS . 'shells' . DS;
+			if (file_exists($path)) {
+				$paths[] = $path;
+			}
+		}
+
+		$this->shellPaths = array_values(array_unique(array_merge($paths, App::path('shells'))));
+	}
+
+/**
+ * Initializes the environment and loads the Cake core.
+ *
+ * @return boolean Success.
+ * @access private
+ */
+	function __bootstrap() {
+
+		define('ROOT', $this->params['root']);
+		define('APP_DIR', $this->params['app']);
+		define('APP_PATH', $this->params['working'] . DS);
+		define('WWW_ROOT', APP_PATH . $this->params['webroot'] . DS);
+		if (!is_dir(ROOT . DS . APP_DIR . DS . 'tmp')) {
+			define('TMP', CORE_PATH . 'cake' . DS . 'console' . DS . 'templates' . DS . 'skel' . DS . 'tmp' . DS);
+		}
+
+		$includes = array(
+			CORE_PATH . 'cake' . DS . 'config' . DS . 'paths.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'object.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'inflector.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'configure.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'file.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'cache.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'string.php',
+			CORE_PATH . 'cake' . DS . 'libs' . DS . 'class_registry.php',
+			CORE_PATH . 'cake' . DS . 'console' . DS . 'error.php'
+		);
+
+		foreach ($includes as $inc) {
+			if (!require($inc)) {
+				$this->stderr("Failed to load Cake core file {$inc}");
+				return false;
+			}
+		}
+
+		Configure::getInstance(file_exists(CONFIGS . 'bootstrap.php'));
+
+		if (!file_exists(APP_PATH . 'config' . DS . 'core.php')) {
+			include_once CORE_PATH . 'cake' . DS . 'console' . DS . 'templates' . DS . 'skel' . DS . 'config' . DS . 'core.php';
+			App::build();
+		}
+
+		return true;
+	}
+
+/**
+ * Clear the console
+ *
+ * @return void
+ * @access public
+ */
+	function clear() {
+		if (empty($this->params['noclear'])) {
+			if ( DS === '/') {
+				passthru('clear');
+			} else {
+				passthru('cls');
+			}
+		}
+	}
+
+/**
+ * Dispatches a CLI request
+ *
+ * @return boolean
+ * @access public
+ */
+	function dispatch() {
+		$arg = $this->shiftArgs();
+
+		if (!$arg) {
+			$this->help();
+			return false;
+		}
+		if ($arg == 'help') {
+			$this->help();
+			return true;
+		}
+		
+		list($plugin, $shell) = pluginSplit($arg);
+		$this->shell = $shell;
+		$this->shellName = Inflector::camelize($shell);
+		$this->shellClass = $this->shellName . 'Shell';
+
+		$arg = null;
+
+		if (isset($this->args[0])) {
+			$arg = $this->args[0];
+			$this->shellCommand = Inflector::variable($arg);
+		}
+
+		$Shell = $this->_getShell($plugin);
+
+		if (!$Shell) {
+			$title = sprintf(__('Error: Class %s could not be loaded.', true), $this->shellClass);
+			$this->stderr($title . "\n");
+			return false;
+		}
+
+		$methods = array();
+
+		if (is_a($Shell, 'Shell')) {
+			$Shell->initialize();
+			$Shell->loadTasks();
+
+			foreach ($Shell->taskNames as $task) {
+				if (is_a($Shell->{$task}, 'Shell')) {
+					$Shell->{$task}->initialize();
+					$Shell->{$task}->loadTasks();
+				}
+			}
+
+			$task = Inflector::camelize($arg);
+
+			if (in_array($task, $Shell->taskNames)) {
+				$this->shiftArgs();
+				$Shell->{$task}->startup();
+
+				if (isset($this->args[0]) && $this->args[0] == 'help') {
+					if (method_exists($Shell->{$task}, 'help')) {
+						$Shell->{$task}->help();
+					} else {
+						$this->help();
+					}
+					return true;
+				}
+				return $Shell->{$task}->execute();
+			}
+			$methods = array_diff(get_class_methods('Shell'), array('help'));
+		}
+		$methods = array_diff(get_class_methods($Shell), $methods);
+		$added = in_array(strtolower($arg), array_map('strtolower', $methods));
+		$private = $arg[0] == '_' && method_exists($Shell, $arg);
+
+		if (!$private) {
+			if ($added) {
+				$this->shiftArgs();
+				$Shell->startup();
+				return $Shell->{$arg}();
+			}
+			if (method_exists($Shell, 'main')) {
+				$Shell->startup();
+				return $Shell->main();
+			}
+		}
+
+		$title = sprintf(__('Error: Unknown %1$s command %2$s.', true), $this->shellName, $arg);
+		$message = sprintf(__('For usage try `cake %s help`', true), $this->shell);
+		$this->stderr($title . "\n" . $message . "\n");
+		return false;
+	}
+
+/**
+ * Get shell to use, either plugin shell or application shell
+ *
+ * All paths in the shellPaths property are searched.
+ * shell, shellPath and shellClass properties are taken into account.
+ *
+ * @param string $plugin Optionally the name of a plugin
+ * @return mixed False if no shell could be found or an object on success
+ * @access protected
+ */
+	function _getShell($plugin = null) {
+		foreach ($this->shellPaths as $path) {
+			$this->shellPath = $path . $this->shell . '.php';
+			$pluginShellPath =  DS . $plugin . DS . 'vendors' . DS . 'shells' . DS;
+
+			if ((strpos($path, $pluginShellPath) !== false || !$plugin) && file_exists($this->shellPath)) {
+				$loaded = true;
+				break;
+			}
+		}
+		if (!isset($loaded)) {
+			return false;
+		}
+
+		if (!class_exists('Shell')) {
+			require CONSOLE_LIBS . 'shell.php';
+		}
+
+		if (!class_exists($this->shellClass)) {
+			require $this->shellPath;
+		}
+		if (!class_exists($this->shellClass)) {
+			return false;
+		}
+		$Shell = new $this->shellClass($this);
+		return $Shell;
+	}
+
+/**
+ * Prompts the user for input, and returns it.
+ *
+ * @param string $prompt Prompt text.
+ * @param mixed $options Array or string of options.
+ * @param string $default Default input value.
+ * @return Either the default value, or the user-provided input.
+ * @access public
+ */
+	function getInput($prompt, $options = null, $default = null) {
+		if (!is_array($options)) {
+			$printOptions = '';
+		} else {
+			$printOptions = '(' . implode('/', $options) . ')';
+		}
+
+		if ($default === null) {
+			$this->stdout($prompt . " $printOptions \n" . '> ', false);
+		} else {
+			$this->stdout($prompt . " $printOptions \n" . "[$default] > ", false);
+		}
+		$result = fgets($this->stdin);
+
+		if ($result === false) {
+			exit;
+		}
+		$result = trim($result);
+
+		if ($default != null && empty($result)) {
+			return $default;
+		}
+		return $result;
+	}
+
+/**
+ * Outputs to the stdout filehandle.
+ *
+ * @param string $string String to output.
+ * @param boolean $newline If true, the outputs gets an added newline.
+ * @return integer Returns the number of bytes output to stdout.
+ * @access public
+ */
+	function stdout($string, $newline = true) {
+		if ($newline) {
+			return fwrite($this->stdout, $string . "\n");
+		} else {
+			return fwrite($this->stdout, $string);
+		}
+	}
+
+/**
+ * Outputs to the stderr filehandle.
+ *
+ * @param string $string Error text to output.
+ * @access public
+ */
+	function stderr($string) {
+		fwrite($this->stderr, $string);
+	}
+
+/**
+ * Parses command line options
+ *
+ * @param array $params Parameters to parse
+ * @access public
+ */
+	function parseParams($params) {
+		$this->__parseParams($params);
+		$defaults = array('app' => 'app', 'root' => dirname(dirname(dirname(__FILE__))), 'working' => null, 'webroot' => 'webroot');
+		$params = array_merge($defaults, array_intersect_key($this->params, $defaults));
+		$isWin = false;
+		foreach ($defaults as $default => $value) {
+			if (strpos($params[$default], '\\') !== false) {
+				$isWin = true;
+				break;
+			}
+		}
+		$params = str_replace('\\', '/', $params);
+
+		if (isset($params['working'])) {
+			$params['working'] = trim($params['working']);
+		}
+		if (!empty($params['working']) && (!isset($this->args[0]) || isset($this->args[0]) && $this->args[0]{0} !== '.')) {
+			if (empty($this->params['app']) && $params['working'] != $params['root']) {
+				$params['root'] = dirname($params['working']);
+				$params['app'] = basename($params['working']);<