]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-21187 YUI phploader now used for YUI3
authorPetr Skoda <skodak@moodle.org>
Fri, 25 Dec 2009 13:48:23 +0000 (13:48 +0000)
committerPetr Skoda <skodak@moodle.org>
Fri, 25 Dec 2009 13:48:23 +0000 (13:48 +0000)
14 files changed:
lib/ajax/ajaxlib.php
lib/yui/license.txt [new file with mode: 0644]
lib/yui/phploader/lib/meta/config_2.7.0.php [new file with mode: 0644]
lib/yui/phploader/lib/meta/config_2.8.0.php [new file with mode: 0644]
lib/yui/phploader/lib/meta/config_2.8.0r4.php [new file with mode: 0644]
lib/yui/phploader/lib/meta/config_3.0.0.php [new file with mode: 0644]
lib/yui/phploader/lib/meta/config_3.0.0b1.php [new file with mode: 0644]
lib/yui/phploader/lib/meta/json_2.7.0.txt [new file with mode: 0644]
lib/yui/phploader/lib/meta/json_2.8.0.txt [new file with mode: 0644]
lib/yui/phploader/lib/meta/json_2.8.0r4.txt [new file with mode: 0644]
lib/yui/phploader/lib/meta/json_3.0.0.txt [new file with mode: 0644]
lib/yui/phploader/lib/meta/json_3.0.0b1.txt [new file with mode: 0644]
lib/yui/phploader/phploader/loader.php [new file with mode: 0644]
lib/yui/readme_moodle.txt

index 35b3dabc77c2aafaaa35614c8c0f554d5302bdd1..763b997a4dc3d4782fb12cbd2e0776f350954a82 100644 (file)
@@ -105,6 +105,36 @@ class page_requirements_manager {
     protected $headdone = false;
     protected $topofbodydone = false;
 
+    /** YUI PHPLoader instance responsible for YUI3 laoding in HEAD */ 
+    protected $yui3loader;
+
+    /**
+     * Page requirements constructor.
+     */
+    public function __construct() {
+        global $CFG;
+        require_once("$CFG->libdir/yui/phploader/phploader/loader.php");
+
+        $this->yui3loader = new YAHOO_util_Loader($CFG->yui3version);
+
+        // set up some loader options
+        $this->yui3loader->loadOptional = false;
+        if (debugging('', DEBUG_DEVELOPER)) {
+            $this->yui3loader->filter = YUI_DEBUG; // alternatively we could use just YUI_RAW here
+        } else {
+            $this->yui3loader->filter = null;
+        }        
+        if (!empty($CFG->useexternalyui)) {
+            $this->yui3loader->base = 'http://yui.yahooapis.com/' . $CFG->yui3version . '/build/';
+        } else {
+            $this->yui3loader->base = $CFG->httpswwwroot . '/lib/yui/'. $CFG->yui3version . '/';
+            $libpath = $CFG->httpswwwroot . '/lib/yui/'. $CFG->yui2version;
+        }
+
+        // This file helps to minimise number of http requests
+        //$this->yui3loader->comboBase = $CFG->httpswwwroot . '/theme/yuicomboloader.php?';
+    }
+
     /**
      * Ensure that the specified JavaScript file is linked to from this page.
      *
@@ -143,7 +173,7 @@ class page_requirements_manager {
     }
 
     /**
-     * Ensure that the specified YUI library file, and all its required dependancies,
+     * Ensure that the specified YUI2 library file, and all its required dependancies,
      * are linked to from this page.
      *
      * By default the link is put at the end of the page, since this gives best page-load
@@ -153,7 +183,7 @@ class page_requirements_manager {
      * Even if a particular library is requested more than once (perhaps as a dependancy
      * of other libraries) it will only be linked to once.
      *
-     * @param $libname the name of the YUI library you require. For example 'autocomplete'.
+     * @param $libname the name of the YUI2 library you require. For example 'autocomplete'.
      * @return required_yui2_lib A required_yui2_lib object. This allows you to control when the
      *      link to the script is output by calling methods like {@link required_yui2_lib::asap()} or
      *      {@link required_yui2_lib::in_head()}.
@@ -166,6 +196,22 @@ class page_requirements_manager {
         return $this->linkedrequirements[$key];
     }
 
+    /**
+     * Ensure that the specified YUI3 library file, and all its required dependancies,
+     * are laoded automatically on this page.
+     * @param string|array $libname the name of the YUI3 library you require. For example 'overlay'.
+     * @return void
+     */
+    public function yui3_lib($libname) {
+        if ($this->headdone) {
+            throw new coding_exception('YUI3 libraries can be preloaded by PHP only from HEAD, please use YUI autoloading instead: ', $stylesheet);
+        }
+        $libnames = (array)$libname;
+        foreach ($libnames as $lib) {
+            $this->yui3loader->load($lib);
+        }
+    }
+
     /**
      * Ensure that the specified CSS file is linked to from this page.
      *
@@ -409,6 +455,17 @@ class page_requirements_manager {
         return $output;
     }
 
+    /**
+     * Returns basic YUI3 JS loading code.
+     *
+     * Please note this can be used only from WHEN_IN_HEAD.
+     *
+     * @return string
+     */
+    protected function get_yui3lib_code() {
+        return $this->yui3loader->script();
+    }
+
     /**
      * Generate any HTML that needs to go inside the <head> tag.
      *
@@ -419,7 +476,8 @@ class page_requirements_manager {
      */
     public function get_head_code() {
         setup_core_javascript($this);
-        $output = $this->get_linked_resources_code(self::WHEN_IN_HEAD);
+        $output = $this->get_yui3lib_code();
+        $output .= $this->get_linked_resources_code(self::WHEN_IN_HEAD);
         $js = $this->get_javascript_code(self::WHEN_IN_HEAD);
         $output .= ajax_generate_script_tag($js);
         $this->headdone = true;
@@ -682,7 +740,6 @@ class required_js extends linked_requirement {
     }
 }
 
-
 /**
  * A subclass of {@link linked_requirement} to represent a requried YUI library.
  *
@@ -1213,7 +1270,7 @@ function ajax_resolve_yui2_lib($libname) {
         'yuitest'          => array('yahoo-dom-event', 'logger', 'yuitest'),
     );
     if (!isset($translatelist[$libname])) {
-        throw new coding_exception('Unknown YUI library ' . $libname);
+        throw new coding_exception('Unknown YUI2 library ' . $libname);
     }
 
     $jsnames = $translatelist[$libname];
@@ -1226,7 +1283,7 @@ function ajax_resolve_yui2_lib($libname) {
     }
 
     if (!empty($CFG->useexternalyui)) {
-        $libpath = 'http://yui.yahooapis.com/' . $CFG->yui2version . '/build/';
+        $libpath = 'http://yui.yahooapis.com/' . $CFG->yui2version . '/build';
     } else {
         $libpath = $CFG->httpswwwroot . '/lib/yui/'. $CFG->yui2version;
     }
diff --git a/lib/yui/license.txt b/lib/yui/license.txt
new file mode 100644 (file)
index 0000000..3201233
--- /dev/null
@@ -0,0 +1,31 @@
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+
+Redistribution and use of this software in source and binary forms, with or
+without modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of Yahoo! Inc. nor the names of its contributors may be used
+  to endorse or promote products derived from this software without specific
+  prior written permission of Yahoo! Inc.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+http://developer.yahoo.net/yui/license.html
diff --git a/lib/yui/phploader/lib/meta/config_2.7.0.php b/lib/yui/phploader/lib/meta/config_2.7.0.php
new file mode 100644 (file)
index 0000000..1afe062
--- /dev/null
@@ -0,0 +1,624 @@
+<?PHP 
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+$GLOBALS['yui_current'] = array (
+  'base' => 'http://yui.yahooapis.com/2.7.0/build/',
+  'moduleInfo' => 
+  array (
+    'animation' => 
+    array (
+      'path' => 'animation/animation-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'autocomplete' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'connection',
+        1 => 'animation',
+      ),
+      'path' => 'autocomplete/autocomplete-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'datasource',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'base' => 
+    array (
+      'after' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+        4 => 'reset-fonts-grids',
+      ),
+      'path' => 'base/base-min.css',
+      'type' => 'css',
+    ),
+    'button' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'menu',
+      ),
+      'path' => 'button/button-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'calendar' => 
+    array (
+      'path' => 'calendar/calendar-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'carousel' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'path' => 'carousel/carousel-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'charts' => 
+    array (
+      'path' => 'charts/charts-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'json',
+        2 => 'datasource',
+      ),
+      'type' => 'js',
+    ),
+    'colorpicker' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'path' => 'colorpicker/colorpicker-min.js',
+      'requires' => 
+      array (
+        0 => 'slider',
+        1 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'connection' => 
+    array (
+      'path' => 'connection/connection-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'container' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'animation',
+        2 => 'connection',
+      ),
+      'path' => 'container/container-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'skinnable' => true,
+      'supersedes' => 
+      array (
+        0 => 'containercore',
+      ),
+      'type' => 'js',
+    ),
+    'containercore' => 
+    array (
+      'path' => 'container/container_core-min.js',
+      'pkg' => 'container',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'cookie' => 
+    array (
+      'path' => 'cookie/cookie-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'datasource' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+      'path' => 'datasource/datasource-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'datatable' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'calendar',
+        1 => 'dragdrop',
+        2 => 'paginator',
+      ),
+      'path' => 'datatable/datatable-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'datasource',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'dom' => 
+    array (
+      'path' => 'dom/dom-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'dragdrop' => 
+    array (
+      'path' => 'dragdrop/dragdrop-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'editor' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+      ),
+      'path' => 'editor/editor-min.js',
+      'requires' => 
+      array (
+        0 => 'menu',
+        1 => 'element',
+        2 => 'button',
+      ),
+      'skinnable' => true,
+      'supersedes' => 
+      array (
+        0 => 'simpleeditor',
+      ),
+      'type' => 'js',
+    ),
+    'element' => 
+    array (
+      'path' => 'element/element-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'event' => 
+    array (
+      'path' => 'event/event-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'fonts' => 
+    array (
+      'path' => 'fonts/fonts-min.css',
+      'type' => 'css',
+    ),
+    'get' => 
+    array (
+      'path' => 'get/get-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'grids' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'reset',
+      ),
+      'path' => 'grids/grids-min.css',
+      'requires' => 
+      array (
+        0 => 'fonts',
+      ),
+      'type' => 'css',
+    ),
+    'history' => 
+    array (
+      'path' => 'history/history-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'type' => 'js',
+    ),
+    'imagecropper' => 
+    array (
+      'path' => 'imagecropper/imagecropper-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'dragdrop',
+        3 => 'element',
+        4 => 'resize',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'imageloader' => 
+    array (
+      'path' => 'imageloader/imageloader-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'type' => 'js',
+    ),
+    'json' => 
+    array (
+      'path' => 'json/json-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'layout' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+        2 => 'resize',
+        3 => 'selector',
+      ),
+      'path' => 'layout/layout-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'logger' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'path' => 'logger/logger-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'menu' => 
+    array (
+      'path' => 'menu/menu-min.js',
+      'requires' => 
+      array (
+        0 => 'containercore',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'paginator' => 
+    array (
+      'path' => 'paginator/paginator-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'profiler' => 
+    array (
+      'path' => 'profiler/profiler-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'profilerviewer' => 
+    array (
+      'path' => 'profilerviewer/profilerviewer-min.js',
+      'requires' => 
+      array (
+        0 => 'profiler',
+        1 => 'yuiloader',
+        2 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'reset' => 
+    array (
+      'path' => 'reset/reset-min.css',
+      'type' => 'css',
+    ),
+    'reset-fonts' => 
+    array (
+      'path' => 'reset-fonts/reset-fonts.css',
+      'rollup' => 2,
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+      ),
+      'type' => 'css',
+    ),
+    'reset-fonts-grids' => 
+    array (
+      'path' => 'reset-fonts-grids/reset-fonts-grids.css',
+      'rollup' => 3,
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+      ),
+      'type' => 'css',
+    ),
+    'resize' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'path' => 'resize/resize-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'dragdrop',
+        3 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'selector' => 
+    array (
+      'path' => 'selector/selector-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+      ),
+      'type' => 'js',
+    ),
+    'simpleeditor' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'containercore',
+        1 => 'menu',
+        2 => 'button',
+        3 => 'animation',
+        4 => 'dragdrop',
+      ),
+      'path' => 'editor/simpleeditor-min.js',
+      'pkg' => 'editor',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'slider' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'path' => 'slider/slider-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'stylesheet' => 
+    array (
+      'path' => 'stylesheet/stylesheet-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+      'type' => 'js',
+    ),
+    'tabview' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+      'path' => 'tabview/tabview-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'treeview' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'json',
+      ),
+      'path' => 'treeview/treeview-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+    'uploader' => 
+    array (
+      'path' => 'uploader/uploader.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'type' => 'js',
+    ),
+    'utilities' => 
+    array (
+      'path' => 'utilities/utilities.js',
+      'rollup' => 8,
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dragdrop',
+        3 => 'animation',
+        4 => 'dom',
+        5 => 'connection',
+        6 => 'element',
+        7 => 'yahoo-dom-event',
+        8 => 'get',
+        9 => 'yuiloader',
+        10 => 'yuiloader-dom-event',
+      ),
+      'type' => 'js',
+    ),
+    'yahoo' => 
+    array (
+      'path' => 'yahoo/yahoo-min.js',
+      'type' => 'js',
+    ),
+    'yahoo-dom-event' => 
+    array (
+      'path' => 'yahoo-dom-event/yahoo-dom-event.js',
+      'rollup' => 3,
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dom',
+      ),
+      'type' => 'js',
+    ),
+    'yuiloader' => 
+    array (
+      'path' => 'yuiloader/yuiloader-min.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'get',
+      ),
+      'type' => 'js',
+    ),
+    'yuiloader-dom-event' => 
+    array (
+      'path' => 'yuiloader-dom-event/yuiloader-dom-event.js',
+      'rollup' => 5,
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+        2 => 'event',
+        3 => 'get',
+        4 => 'yuiloader',
+        5 => 'yahoo-dom-event',
+      ),
+      'type' => 'js',
+    ),
+    'yuitest' => 
+    array (
+      'path' => 'yuitest/yuitest-min.js',
+      'requires' => 
+      array (
+        0 => 'logger',
+      ),
+      'skinnable' => true,
+      'type' => 'js',
+    ),
+  ),
+  'skin' => 
+  array (
+    'after' => 
+    array (
+      0 => 'reset',
+      1 => 'fonts',
+      2 => 'grids',
+      3 => 'base',
+    ),
+    'base' => 'assets/skins/',
+    'defaultSkin' => 'sam',
+    'path' => 'skin.css',
+    'rollup' => 3,
+  ),
+); ?>
\ No newline at end of file
diff --git a/lib/yui/phploader/lib/meta/config_2.8.0.php b/lib/yui/phploader/lib/meta/config_2.8.0.php
new file mode 100644 (file)
index 0000000..452a502
--- /dev/null
@@ -0,0 +1,760 @@
+<?PHP 
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+$GLOBALS['yui_current'] = array (
+  'base' => 'http://yui.yahooapis.com/2.8.0/build/',
+  'skin' => 
+  array (
+    'defaultSkin' => 'sam',
+    'base' => 'assets/skins/',
+    'path' => 'skin.css',
+    'after' => 
+    array (
+      0 => 'reset',
+      1 => 'fonts',
+      2 => 'grids',
+      3 => 'base',
+    ),
+    'rollup' => 3,
+  ),
+  'moduleInfo' => 
+  array (
+    'animation' => 
+    array (
+      'type' => 'js',
+      'path' => 'animation/animation-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'autocomplete' => 
+    array (
+      'type' => 'js',
+      'path' => 'autocomplete/autocomplete-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'datasource',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+        1 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'base' => 
+    array (
+      'type' => 'css',
+      'path' => 'base/base-min.css',
+      'after' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+        4 => 'reset-fonts-grids',
+      ),
+    ),
+    'button' => 
+    array (
+      'type' => 'js',
+      'path' => 'button/button-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'menu',
+      ),
+      'skinnable' => true,
+    ),
+    'calendar' => 
+    array (
+      'type' => 'js',
+      'path' => 'calendar/calendar-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'datemeth',
+      ),
+      'skinnable' => true,
+    ),
+    'carousel' => 
+    array (
+      'type' => 'js',
+      'path' => 'carousel/carousel-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'charts' => 
+    array (
+      'type' => 'js',
+      'path' => 'charts/charts-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'json',
+        2 => 'datasource',
+        3 => 'swf',
+      ),
+    ),
+    'colorpicker' => 
+    array (
+      'type' => 'js',
+      'path' => 'colorpicker/colorpicker-min.js',
+      'requires' => 
+      array (
+        0 => 'slider',
+        1 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'connection' => 
+    array (
+      'type' => 'js',
+      'path' => 'connection/connection-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'connectioncore',
+      ),
+    ),
+    'connectioncore' => 
+    array (
+      'type' => 'js',
+      'path' => 'connection/connection_core-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'pkg' => 'connection',
+    ),
+    'container' => 
+    array (
+      'type' => 'js',
+      'path' => 'container/container-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'animation',
+        2 => 'connection',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'containercore',
+      ),
+      'skinnable' => true,
+    ),
+    'containercore' => 
+    array (
+      'type' => 'js',
+      'path' => 'container/container_core-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'pkg' => 'container',
+    ),
+    'cookie' => 
+    array (
+      'type' => 'js',
+      'path' => 'cookie/cookie-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'datasource' => 
+    array (
+      'type' => 'js',
+      'path' => 'datasource/datasource-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+    ),
+    'datatable' => 
+    array (
+      'type' => 'js',
+      'path' => 'datatable/datatable-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'datasource',
+      ),
+      'optional' => 
+      array (
+        0 => 'calendar',
+        1 => 'dragdrop',
+        2 => 'paginator',
+      ),
+      'skinnable' => true,
+    ),
+    'datemath' => 
+    array (
+      'type' => 'js',
+      'path' => 'datemath/datemath-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'dom' => 
+    array (
+      'type' => 'js',
+      'path' => 'dom/dom-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'dragdrop' => 
+    array (
+      'type' => 'js',
+      'path' => 'dragdrop/dragdrop-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'editor' => 
+    array (
+      'type' => 'js',
+      'path' => 'editor/editor-min.js',
+      'requires' => 
+      array (
+        0 => 'menu',
+        1 => 'element',
+        2 => 'button',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'simpleeditor',
+      ),
+      'skinnable' => true,
+    ),
+    'element' => 
+    array (
+      'type' => 'js',
+      'path' => 'element/element-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'event-mouseenter',
+        1 => 'event-delegate',
+      ),
+    ),
+    'element-delegate' => 
+    array (
+      'type' => 'js',
+      'path' => 'element-delegate/element-delegate-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+    ),
+    'event' => 
+    array (
+      'type' => 'js',
+      'path' => 'event/event-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'event-simulate' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-simulate/event-simulate-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+    ),
+    'event-delegate' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-delegate/event-delegate-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'selector',
+      ),
+    ),
+    'event-mouseenter' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-mouseenter/event-mouseenter-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'fonts' => 
+    array (
+      'type' => 'css',
+      'path' => 'fonts/fonts-min.css',
+    ),
+    'get' => 
+    array (
+      'type' => 'js',
+      'path' => 'get/get-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'grids' => 
+    array (
+      'type' => 'css',
+      'path' => 'grids/grids-min.css',
+      'requires' => 
+      array (
+        0 => 'fonts',
+      ),
+      'optional' => 
+      array (
+        0 => 'reset',
+      ),
+    ),
+    'history' => 
+    array (
+      'type' => 'js',
+      'path' => 'history/history-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+    ),
+    'imagecropper' => 
+    array (
+      'type' => 'js',
+      'path' => 'imagecropper/imagecropper-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'element',
+        2 => 'resize',
+      ),
+      'skinnable' => true,
+    ),
+    'imageloader' => 
+    array (
+      'type' => 'js',
+      'path' => 'imageloader/imageloader-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+    ),
+    'json' => 
+    array (
+      'type' => 'js',
+      'path' => 'json/json-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'layout' => 
+    array (
+      'type' => 'js',
+      'path' => 'layout/layout-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+        2 => 'resize',
+        3 => 'selector',
+      ),
+      'skinnable' => true,
+    ),
+    'logger' => 
+    array (
+      'type' => 'js',
+      'path' => 'logger/logger-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'skinnable' => true,
+    ),
+    'menu' => 
+    array (
+      'type' => 'js',
+      'path' => 'menu/menu-min.js',
+      'requires' => 
+      array (
+        0 => 'containercore',
+      ),
+      'skinnable' => true,
+    ),
+    'paginator' => 
+    array (
+      'type' => 'js',
+      'path' => 'paginator/paginator-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+    ),
+    'profiler' => 
+    array (
+      'type' => 'js',
+      'path' => 'profiler/profiler-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'profilerviewer' => 
+    array (
+      'type' => 'js',
+      'path' => 'profilerviewer/profilerviewer-min.js',
+      'requires' => 
+      array (
+        0 => 'profiler',
+        1 => 'yuiloader',
+        2 => 'element',
+      ),
+      'skinnable' => true,
+    ),
+    'progressbar' => 
+    array (
+      'type' => 'js',
+      'path' => 'progressbar/progressbar-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'reset' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset/reset-min.css',
+    ),
+    'reset-fonts-grids' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset-fonts-grids/reset-fonts-grids.css',
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+      ),
+      'rollup' => 3,
+    ),
+    'reset-fonts' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset-fonts/reset-fonts.css',
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+      ),
+      'rollup' => 2,
+    ),
+    'resize' => 
+    array (
+      'type' => 'js',
+      'path' => 'resize/resize-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'selector' => 
+    array (
+      'type' => 'js',
+      'path' => 'selector/selector-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+      ),
+    ),
+    'simpleeditor' => 
+    array (
+      'type' => 'js',
+      'path' => 'editor/simpleeditor-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'containercore',
+        1 => 'menu',
+        2 => 'button',
+        3 => 'animation',
+        4 => 'dragdrop',
+      ),
+      'skinnable' => true,
+      'pkg' => 'editor',
+    ),
+    'slider' => 
+    array (
+      'type' => 'js',
+      'path' => 'slider/slider-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'storage' => 
+    array (
+      'type' => 'js',
+      'path' => 'storage/storage-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'cookie',
+      ),
+      'optional' => 
+      array (
+        0 => 'swfstore',
+      ),
+    ),
+    'stylesheet' => 
+    array (
+      'type' => 'js',
+      'path' => 'stylesheet/stylesheet-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'swf' => 
+    array (
+      'type' => 'js',
+      'path' => 'swf/swf-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'swfdetect',
+      ),
+    ),
+    'swfdetect' => 
+    array (
+      'type' => 'js',
+      'path' => 'swfdetect/swfdetect-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'swfstore' => 
+    array (
+      'type' => 'js',
+      'path' => 'swfstore/swfstore-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'cookie',
+        2 => 'swf',
+      ),
+    ),
+    'tabview' => 
+    array (
+      'type' => 'js',
+      'path' => 'tabview/tabview-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+      'skinnable' => true,
+    ),
+    'treeview' => 
+    array (
+      'type' => 'js',
+      'path' => 'treeview/treeview-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'optional' => 
+      array (
+        0 => 'json',
+        1 => 'animation',
+        2 => 'calendar',
+      ),
+      'skinnable' => true,
+    ),
+    'uploader' => 
+    array (
+      'type' => 'js',
+      'path' => 'uploader/uploader-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+    ),
+    'utilities' => 
+    array (
+      'type' => 'js',
+      'path' => 'utilities/utilities.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dragdrop',
+        3 => 'animation',
+        4 => 'dom',
+        5 => 'connection',
+        6 => 'element',
+        7 => 'yahoo-dom-event',
+        8 => 'get',
+        9 => 'yuiloader',
+        10 => 'yuiloader-dom-event',
+      ),
+      'rollup' => 8,
+    ),
+    'yahoo' => 
+    array (
+      'type' => 'js',
+      'path' => 'yahoo/yahoo-min.js',
+    ),
+    'yahoo-dom-event' => 
+    array (
+      'type' => 'js',
+      'path' => 'yahoo-dom-event/yahoo-dom-event.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dom',
+      ),
+      'rollup' => 3,
+    ),
+    'yuiloader' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuiloader/yuiloader-min.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'get',
+      ),
+    ),
+    'yuiloader-dom-event' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuiloader-dom-event/yuiloader-dom-event.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+        2 => 'event',
+        3 => 'get',
+        4 => 'yuiloader',
+        5 => 'yahoo-dom-event',
+      ),
+      'rollup' => 5,
+    ),
+    'yuitest' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuitest/yuitest-min.js',
+      'requires' => 
+      array (
+        0 => 'logger',
+      ),
+      'optional' => 
+      array (
+        0 => 'event-simulate',
+      ),
+      'skinnable' => true,
+    ),
+  ),
+); ?>
\ No newline at end of file
diff --git a/lib/yui/phploader/lib/meta/config_2.8.0r4.php b/lib/yui/phploader/lib/meta/config_2.8.0r4.php
new file mode 100644 (file)
index 0000000..6bae833
--- /dev/null
@@ -0,0 +1,760 @@
+<?PHP 
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+$GLOBALS['yui_current'] = array (
+  'base' => 'http://yui.yahooapis.com/2.8.0r4/build/',
+  'skin' => 
+  array (
+    'defaultSkin' => 'sam',
+    'base' => 'assets/skins/',
+    'path' => 'skin.css',
+    'after' => 
+    array (
+      0 => 'reset',
+      1 => 'fonts',
+      2 => 'grids',
+      3 => 'base',
+    ),
+    'rollup' => 3,
+  ),
+  'moduleInfo' => 
+  array (
+    'animation' => 
+    array (
+      'type' => 'js',
+      'path' => 'animation/animation-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'autocomplete' => 
+    array (
+      'type' => 'js',
+      'path' => 'autocomplete/autocomplete-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+        2 => 'datasource',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+        1 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'base' => 
+    array (
+      'type' => 'css',
+      'path' => 'base/base-min.css',
+      'after' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+        4 => 'reset-fonts-grids',
+      ),
+    ),
+    'button' => 
+    array (
+      'type' => 'js',
+      'path' => 'button/button-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'menu',
+      ),
+      'skinnable' => true,
+    ),
+    'calendar' => 
+    array (
+      'type' => 'js',
+      'path' => 'calendar/calendar-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'datemath',
+      ),
+      'skinnable' => true,
+    ),
+    'carousel' => 
+    array (
+      'type' => 'js',
+      'path' => 'carousel/carousel-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'charts' => 
+    array (
+      'type' => 'js',
+      'path' => 'charts/charts-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'json',
+        2 => 'datasource',
+        3 => 'swf',
+      ),
+    ),
+    'colorpicker' => 
+    array (
+      'type' => 'js',
+      'path' => 'colorpicker/colorpicker-min.js',
+      'requires' => 
+      array (
+        0 => 'slider',
+        1 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'connection' => 
+    array (
+      'type' => 'js',
+      'path' => 'connection/connection-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'connectioncore',
+      ),
+    ),
+    'connectioncore' => 
+    array (
+      'type' => 'js',
+      'path' => 'connection/connection_core-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'pkg' => 'connection',
+    ),
+    'container' => 
+    array (
+      'type' => 'js',
+      'path' => 'container/container-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'animation',
+        2 => 'connection',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'containercore',
+      ),
+      'skinnable' => true,
+    ),
+    'containercore' => 
+    array (
+      'type' => 'js',
+      'path' => 'container/container_core-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'pkg' => 'container',
+    ),
+    'cookie' => 
+    array (
+      'type' => 'js',
+      'path' => 'cookie/cookie-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'datasource' => 
+    array (
+      'type' => 'js',
+      'path' => 'datasource/datasource-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+    ),
+    'datatable' => 
+    array (
+      'type' => 'js',
+      'path' => 'datatable/datatable-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'datasource',
+      ),
+      'optional' => 
+      array (
+        0 => 'calendar',
+        1 => 'dragdrop',
+        2 => 'paginator',
+      ),
+      'skinnable' => true,
+    ),
+    'datemath' => 
+    array (
+      'type' => 'js',
+      'path' => 'datemath/datemath-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'dom' => 
+    array (
+      'type' => 'js',
+      'path' => 'dom/dom-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'dragdrop' => 
+    array (
+      'type' => 'js',
+      'path' => 'dragdrop/dragdrop-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'editor' => 
+    array (
+      'type' => 'js',
+      'path' => 'editor/editor-min.js',
+      'requires' => 
+      array (
+        0 => 'menu',
+        1 => 'element',
+        2 => 'button',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'simpleeditor',
+      ),
+      'skinnable' => true,
+    ),
+    'element' => 
+    array (
+      'type' => 'js',
+      'path' => 'element/element-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'event-mouseenter',
+        1 => 'event-delegate',
+      ),
+    ),
+    'element-delegate' => 
+    array (
+      'type' => 'js',
+      'path' => 'element-delegate/element-delegate-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+    ),
+    'event' => 
+    array (
+      'type' => 'js',
+      'path' => 'event/event-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'event-simulate' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-simulate/event-simulate-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+    ),
+    'event-delegate' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-delegate/event-delegate-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'optional' => 
+      array (
+        0 => 'selector',
+      ),
+    ),
+    'event-mouseenter' => 
+    array (
+      'type' => 'js',
+      'path' => 'event-mouseenter/event-mouseenter-min.js',
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event',
+      ),
+    ),
+    'fonts' => 
+    array (
+      'type' => 'css',
+      'path' => 'fonts/fonts-min.css',
+    ),
+    'get' => 
+    array (
+      'type' => 'js',
+      'path' => 'get/get-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'grids' => 
+    array (
+      'type' => 'css',
+      'path' => 'grids/grids-min.css',
+      'requires' => 
+      array (
+        0 => 'fonts',
+      ),
+      'optional' => 
+      array (
+        0 => 'reset',
+      ),
+    ),
+    'history' => 
+    array (
+      'type' => 'js',
+      'path' => 'history/history-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+    ),
+    'imagecropper' => 
+    array (
+      'type' => 'js',
+      'path' => 'imagecropper/imagecropper-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'element',
+        2 => 'resize',
+      ),
+      'skinnable' => true,
+    ),
+    'imageloader' => 
+    array (
+      'type' => 'js',
+      'path' => 'imageloader/imageloader-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+    ),
+    'json' => 
+    array (
+      'type' => 'js',
+      'path' => 'json/json-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'layout' => 
+    array (
+      'type' => 'js',
+      'path' => 'layout/layout-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+        1 => 'dragdrop',
+        2 => 'resize',
+        3 => 'selector',
+      ),
+      'skinnable' => true,
+    ),
+    'logger' => 
+    array (
+      'type' => 'js',
+      'path' => 'logger/logger-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'optional' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'skinnable' => true,
+    ),
+    'menu' => 
+    array (
+      'type' => 'js',
+      'path' => 'menu/menu-min.js',
+      'requires' => 
+      array (
+        0 => 'containercore',
+      ),
+      'skinnable' => true,
+    ),
+    'paginator' => 
+    array (
+      'type' => 'js',
+      'path' => 'paginator/paginator-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'skinnable' => true,
+    ),
+    'profiler' => 
+    array (
+      'type' => 'js',
+      'path' => 'profiler/profiler-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'profilerviewer' => 
+    array (
+      'type' => 'js',
+      'path' => 'profilerviewer/profilerviewer-min.js',
+      'requires' => 
+      array (
+        0 => 'profiler',
+        1 => 'yuiloader',
+        2 => 'element',
+      ),
+      'skinnable' => true,
+    ),
+    'progressbar' => 
+    array (
+      'type' => 'js',
+      'path' => 'progressbar/progressbar-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'reset' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset/reset-min.css',
+    ),
+    'reset-fonts-grids' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset-fonts-grids/reset-fonts-grids.css',
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+        2 => 'grids',
+        3 => 'reset-fonts',
+      ),
+      'rollup' => 3,
+    ),
+    'reset-fonts' => 
+    array (
+      'type' => 'css',
+      'path' => 'reset-fonts/reset-fonts.css',
+      'supersedes' => 
+      array (
+        0 => 'reset',
+        1 => 'fonts',
+      ),
+      'rollup' => 2,
+    ),
+    'resize' => 
+    array (
+      'type' => 'js',
+      'path' => 'resize/resize-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+        1 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'selector' => 
+    array (
+      'type' => 'js',
+      'path' => 'selector/selector-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+      ),
+    ),
+    'simpleeditor' => 
+    array (
+      'type' => 'js',
+      'path' => 'editor/simpleeditor-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'containercore',
+        1 => 'menu',
+        2 => 'button',
+        3 => 'animation',
+        4 => 'dragdrop',
+      ),
+      'skinnable' => true,
+      'pkg' => 'editor',
+    ),
+    'slider' => 
+    array (
+      'type' => 'js',
+      'path' => 'slider/slider-min.js',
+      'requires' => 
+      array (
+        0 => 'dragdrop',
+      ),
+      'optional' => 
+      array (
+        0 => 'animation',
+      ),
+      'skinnable' => true,
+    ),
+    'storage' => 
+    array (
+      'type' => 'js',
+      'path' => 'storage/storage-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'cookie',
+      ),
+      'optional' => 
+      array (
+        0 => 'swfstore',
+      ),
+    ),
+    'stylesheet' => 
+    array (
+      'type' => 'js',
+      'path' => 'stylesheet/stylesheet-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'swf' => 
+    array (
+      'type' => 'js',
+      'path' => 'swf/swf-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'swfdetect',
+      ),
+    ),
+    'swfdetect' => 
+    array (
+      'type' => 'js',
+      'path' => 'swfdetect/swfdetect-min.js',
+      'requires' => 
+      array (
+        0 => 'yahoo',
+      ),
+    ),
+    'swfstore' => 
+    array (
+      'type' => 'js',
+      'path' => 'swfstore/swfstore-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+        1 => 'cookie',
+        2 => 'swf',
+      ),
+    ),
+    'tabview' => 
+    array (
+      'type' => 'js',
+      'path' => 'tabview/tabview-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+      'optional' => 
+      array (
+        0 => 'connection',
+      ),
+      'skinnable' => true,
+    ),
+    'treeview' => 
+    array (
+      'type' => 'js',
+      'path' => 'treeview/treeview-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+        1 => 'dom',
+      ),
+      'optional' => 
+      array (
+        0 => 'json',
+        1 => 'animation',
+        2 => 'calendar',
+      ),
+      'skinnable' => true,
+    ),
+    'uploader' => 
+    array (
+      'type' => 'js',
+      'path' => 'uploader/uploader-min.js',
+      'requires' => 
+      array (
+        0 => 'element',
+      ),
+    ),
+    'utilities' => 
+    array (
+      'type' => 'js',
+      'path' => 'utilities/utilities.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dragdrop',
+        3 => 'animation',
+        4 => 'dom',
+        5 => 'connection',
+        6 => 'element',
+        7 => 'yahoo-dom-event',
+        8 => 'get',
+        9 => 'yuiloader',
+        10 => 'yuiloader-dom-event',
+      ),
+      'rollup' => 8,
+    ),
+    'yahoo' => 
+    array (
+      'type' => 'js',
+      'path' => 'yahoo/yahoo-min.js',
+    ),
+    'yahoo-dom-event' => 
+    array (
+      'type' => 'js',
+      'path' => 'yahoo-dom-event/yahoo-dom-event.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'event',
+        2 => 'dom',
+      ),
+      'rollup' => 3,
+    ),
+    'yuiloader' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuiloader/yuiloader-min.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'get',
+      ),
+    ),
+    'yuiloader-dom-event' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuiloader-dom-event/yuiloader-dom-event.js',
+      'supersedes' => 
+      array (
+        0 => 'yahoo',
+        1 => 'dom',
+        2 => 'event',
+        3 => 'get',
+        4 => 'yuiloader',
+        5 => 'yahoo-dom-event',
+      ),
+      'rollup' => 5,
+    ),
+    'yuitest' => 
+    array (
+      'type' => 'js',
+      'path' => 'yuitest/yuitest-min.js',
+      'requires' => 
+      array (
+        0 => 'logger',
+      ),
+      'optional' => 
+      array (
+        0 => 'event-simulate',
+      ),
+      'skinnable' => true,
+    ),
+  ),
+); ?>
\ No newline at end of file
diff --git a/lib/yui/phploader/lib/meta/config_3.0.0.php b/lib/yui/phploader/lib/meta/config_3.0.0.php
new file mode 100644 (file)
index 0000000..02bd2ce
--- /dev/null
@@ -0,0 +1,3691 @@
+<?PHP 
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+$GLOBALS['yui_current'] = array (
+  'base' => 'http://yui.yahooapis.com/3.0.0/build/',
+  'skin' => 
+  array (
+    'defaultSkin' => 'sam',
+    'base' => 'assets/skins/',
+    'path' => 'skin.css',
+    'after' => 
+    array (
+      0 => 'cssreset',
+      1 => 'cssfonts',
+      2 => 'cssgrids',
+      3 => 'cssreset-context',
+      4 => 'cssfonts-context',
+      5 => 'cssgrids-context',
+    ),
+  ),
+  'moduleInfo' => 
+  array (
+    'dom' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'submodules' => 
+      array (
+        'dom-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'oop',
+          ),
+          'path' => 'dom/dom-base-min.js',
+          'name' => 'dom-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'oop',
+            1 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'dom-base' => true,
+          ),
+        ),
+        'dom-style' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'path' => 'dom/dom-style-min.js',
+          'name' => 'dom-style',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'dom-style' => true,
+          ),
+        ),
+        'dom-screen' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-base',
+            1 => 'dom-style',
+          ),
+          'path' => 'dom/dom-screen-min.js',
+          'name' => 'dom-screen',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+            3 => 'dom-style',
+          ),
+          'provides' => 
+          array (
+            'dom-screen' => true,
+          ),
+        ),
+        'selector-native' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'path' => 'dom/selector-native-min.js',
+          'name' => 'selector-native',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'selector-native' => true,
+          ),
+        ),
+        'selector-css2' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'selector-native',
+          ),
+          'path' => 'dom/selector-css2-min.js',
+          'name' => 'selector-css2',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'selector-native',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'selector-css2' => true,
+          ),
+        ),
+        'selector' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'path' => 'dom/selector-min.js',
+          'name' => 'selector',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'selector' => true,
+          ),
+        ),
+      ),
+      'plugins' => 
+      array (
+        'selector-css3' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'selector-css2',
+          ),
+          'path' => 'dom/selector-css3-min.js',
+          'name' => 'selector-css3',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'dom',
+      'type' => 'js',
+      'path' => 'dom/dom-min.js',
+      'ext' => false,
+      'supersedes' => 
+      array (
+        0 => 'dom-base',
+        1 => 'dom-style',
+        2 => 'dom-screen',
+        3 => 'selector-native',
+        4 => 'selector-css2',
+        5 => 'selector',
+      ),
+      'rollup' => 4,
+      'expanded' => 
+      array (
+        0 => 'oop',
+        1 => 'yui-base',
+        2 => 'dom-base',
+        3 => 'dom-style',
+        4 => 'dom-screen',
+        5 => 'selector-native',
+        6 => 'selector-css2',
+        7 => 'selector',
+      ),
+      'provides' => 
+      array (
+        'dom-base' => true,
+        'dom-style' => true,
+        'dom-screen' => true,
+        'selector-native' => true,
+        'selector-css2' => true,
+        'selector' => true,
+        'dom' => true,
+      ),
+    ),
+    'dom-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'path' => 'dom/dom-base-min.js',
+      'name' => 'dom-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'oop',
+        1 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'dom-base' => true,
+      ),
+    ),
+    'dom-style' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'path' => 'dom/dom-style-min.js',
+      'name' => 'dom-style',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'dom-style' => true,
+      ),
+    ),
+    'dom-screen' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-base',
+        1 => 'dom-style',
+      ),
+      'path' => 'dom/dom-screen-min.js',
+      'name' => 'dom-screen',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'dom-style',
+      ),
+      'provides' => 
+      array (
+        'dom-screen' => true,
+      ),
+    ),
+    'selector-native' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'path' => 'dom/selector-native-min.js',
+      'name' => 'selector-native',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'selector-native' => true,
+      ),
+    ),
+    'selector-css2' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'selector-native',
+      ),
+      'path' => 'dom/selector-css2-min.js',
+      'name' => 'selector-css2',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'selector-native',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'selector-css2' => true,
+      ),
+    ),
+    'selector' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'path' => 'dom/selector-min.js',
+      'name' => 'selector',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'selector' => true,
+      ),
+    ),
+    'selector-css3' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'selector-css2',
+      ),
+      'path' => 'dom/selector-css3-min.js',
+      'name' => 'selector-css3',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'node' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'event-base',
+      ),
+      'submodules' => 
+      array (
+        'node-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-base',
+            1 => 'selector-css2',
+            2 => 'event-base',
+          ),
+          'path' => 'node/node-base-min.js',
+          'name' => 'node-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+            3 => 'selector-css2',
+            4 => 'selector-native',
+            5 => 'event-base',
+            6 => 'event-custom-base',
+            7 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'node-base' => true,
+          ),
+        ),
+        'node-style' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-style',
+            1 => 'node-base',
+          ),
+          'path' => 'node/node-style-min.js',
+          'name' => 'node-style',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-style',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'node-base',
+            5 => 'selector-css2',
+            6 => 'selector-native',
+            7 => 'event-base',
+            8 => 'event-custom-base',
+            9 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'node-style' => true,
+          ),
+        ),
+        'node-screen' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dom-screen',
+            1 => 'node-base',
+          ),
+          'path' => 'node/node-screen-min.js',
+          'name' => 'node-screen',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'dom-screen',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'dom-style',
+            5 => 'node-base',
+            6 => 'selector-css2',
+            7 => 'selector-native',
+            8 => 'event-base',
+            9 => 'event-custom-base',
+            10 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'node-screen' => true,
+          ),
+        ),
+        'node-pluginhost' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+            1 => 'pluginhost',
+          ),
+          'path' => 'node/node-pluginhost-min.js',
+          'name' => 'node-pluginhost',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+            9 => 'pluginhost',
+          ),
+          'provides' => 
+          array (
+            'node-pluginhost' => true,
+          ),
+        ),
+        'node-event-delegate' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+            1 => 'event-delegate',
+          ),
+          'path' => 'node/node-event-delegate-min.js',
+          'name' => 'node-event-delegate',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+            9 => 'event-delegate',
+          ),
+          'provides' => 
+          array (
+            'node-event-delegate' => true,
+          ),
+        ),
+      ),
+      'plugins' => 
+      array (
+        'node-event-simulate' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+            1 => 'event-simulate',
+          ),
+          'path' => 'node/node-event-simulate-min.js',
+          'name' => 'node-event-simulate',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'node',
+      'type' => 'js',
+      'path' => 'node/node-min.js',
+      'ext' => false,
+      'supersedes' => 
+      array (
+        0 => 'node-base',
+        1 => 'node-style',
+        2 => 'node-screen',
+        3 => 'node-pluginhost',
+        4 => 'node-event-delegate',
+      ),
+      'rollup' => 4,
+      'expanded' => 
+      array (
+        0 => 'dom',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'dom-base',
+        4 => 'dom-style',
+        5 => 'dom-screen',
+        6 => 'selector-native',
+        7 => 'selector-css2',
+        8 => 'selector',
+        9 => 'event-base',
+        10 => 'event-custom-base',
+        11 => 'yui-later',
+        12 => 'node-base',
+        13 => 'node-style',
+        14 => 'node-screen',
+        15 => 'node-pluginhost',
+        16 => 'pluginhost',
+        17 => 'node-event-delegate',
+        18 => 'event-delegate',
+      ),
+      'provides' => 
+      array (
+        'node-base' => true,
+        'node-style' => true,
+        'node-screen' => true,
+        'node-pluginhost' => true,
+        'node-event-delegate' => true,
+        'node' => true,
+      ),
+    ),
+    'node-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-base',
+        1 => 'selector-css2',
+        2 => 'event-base',
+      ),
+      'path' => 'node/node-base-min.js',
+      'name' => 'node-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'selector-css2',
+        4 => 'selector-native',
+        5 => 'event-base',
+        6 => 'event-custom-base',
+        7 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'node-base' => true,
+      ),
+    ),
+    'node-style' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-style',
+        1 => 'node-base',
+      ),
+      'path' => 'node/node-style-min.js',
+      'name' => 'node-style',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-style',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'node-base',
+        5 => 'selector-css2',
+        6 => 'selector-native',
+        7 => 'event-base',
+        8 => 'event-custom-base',
+        9 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'node-style' => true,
+      ),
+    ),
+    'node-screen' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom-screen',
+        1 => 'node-base',
+      ),
+      'path' => 'node/node-screen-min.js',
+      'name' => 'node-screen',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'dom-screen',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'dom-style',
+        5 => 'node-base',
+        6 => 'selector-css2',
+        7 => 'selector-native',
+        8 => 'event-base',
+        9 => 'event-custom-base',
+        10 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'node-screen' => true,
+      ),
+    ),
+    'node-pluginhost' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+        1 => 'pluginhost',
+      ),
+      'path' => 'node/node-pluginhost-min.js',
+      'name' => 'node-pluginhost',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+        9 => 'pluginhost',
+      ),
+      'provides' => 
+      array (
+        'node-pluginhost' => true,
+      ),
+    ),
+    'node-event-delegate' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+        1 => 'event-delegate',
+      ),
+      'path' => 'node/node-event-delegate-min.js',
+      'name' => 'node-event-delegate',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+        9 => 'event-delegate',
+      ),
+      'provides' => 
+      array (
+        'node-event-delegate' => true,
+      ),
+    ),
+    'node-event-simulate' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+        1 => 'event-simulate',
+      ),
+      'path' => 'node/node-event-simulate-min.js',
+      'name' => 'node-event-simulate',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim' => 
+    array (
+      'submodules' => 
+      array (
+        'anim-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'base-base',
+            1 => 'node-style',
+          ),
+          'path' => 'anim/anim-base-min.js',
+          'name' => 'anim-base',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-color' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'path' => 'anim/anim-color-min.js',
+          'name' => 'anim-color',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-easing' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'path' => 'anim/anim-easing-min.js',
+          'name' => 'anim-easing',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-scroll' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'path' => 'anim/anim-scroll-min.js',
+          'name' => 'anim-scroll',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-xy' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'anim-base',
+            1 => 'node-screen',
+          ),
+          'path' => 'anim/anim-xy-min.js',
+          'name' => 'anim-xy',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-curve' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'anim-xy',
+          ),
+          'path' => 'anim/anim-curve-min.js',
+          'name' => 'anim-curve',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'anim-node-plugin' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-pluginhost',
+            1 => 'anim-base',
+          ),
+          'path' => 'anim/anim-node-plugin-min.js',
+          'name' => 'anim-node-plugin',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'anim',
+      'type' => 'js',
+      'path' => 'anim/anim-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'anim-base',
+        1 => 'anim-color',
+        2 => 'anim-easing',
+        3 => 'anim-scroll',
+        4 => 'anim-xy',
+        5 => 'anim-curve',
+        6 => 'anim-node-plugin',
+      ),
+      'rollup' => 4,
+    ),
+    'anim-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base-base',
+        1 => 'node-style',
+      ),
+      'path' => 'anim/anim-base-min.js',
+      'name' => 'anim-base',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-color' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'path' => 'anim/anim-color-min.js',
+      'name' => 'anim-color',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-easing' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'path' => 'anim/anim-easing-min.js',
+      'name' => 'anim-easing',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-scroll' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'path' => 'anim/anim-scroll-min.js',
+      'name' => 'anim-scroll',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-xy' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'anim-base',
+        1 => 'node-screen',
+      ),
+      'path' => 'anim/anim-xy-min.js',
+      'name' => 'anim-xy',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-curve' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'anim-xy',
+      ),
+      'path' => 'anim/anim-curve-min.js',
+      'name' => 'anim-curve',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'anim-node-plugin' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-pluginhost',
+        1 => 'anim-base',
+      ),
+      'path' => 'anim/anim-node-plugin-min.js',
+      'name' => 'anim-node-plugin',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'attribute' => 
+    array (
+      'submodules' => 
+      array (
+        'attribute-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'event-custom',
+          ),
+          'path' => 'attribute/attribute-base-min.js',
+          'name' => 'attribute-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'event-custom',
+            1 => 'event-custom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'yui-later',
+            5 => 'event-custom-complex',
+          ),
+          'provides' => 
+          array (
+            'attribute-base' => true,
+          ),
+        ),
+        'attribute-complex' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'attribute-base',
+          ),
+          'path' => 'attribute/attribute-complex-min.js',
+          'name' => 'attribute-complex',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'attribute',
+      'type' => 'js',
+      'path' => 'attribute/attribute-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'attribute-base',
+        1 => 'attribute-complex',
+      ),
+      'rollup' => 2,
+    ),
+    'attribute-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-custom',
+      ),
+      'path' => 'attribute/attribute-base-min.js',
+      'name' => 'attribute-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'event-custom',
+        1 => 'event-custom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'yui-later',
+        5 => 'event-custom-complex',
+      ),
+      'provides' => 
+      array (
+        'attribute-base' => true,
+      ),
+    ),
+    'attribute-complex' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'attribute-base',
+      ),
+      'path' => 'attribute/attribute-complex-min.js',
+      'name' => 'attribute-complex',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'base' => 
+    array (
+      'submodules' => 
+      array (
+        'base-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'attribute-base',
+          ),
+          'path' => 'base/base-base-min.js',
+          'name' => 'base-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'attribute-base',
+            1 => 'event-custom',
+            2 => 'event-custom-base',
+            3 => 'oop',
+            4 => 'yui-base',
+            5 => 'yui-later',
+            6 => 'event-custom-complex',
+          ),
+          'provides' => 
+          array (
+            'base-base' => true,
+          ),
+        ),
+        'base-build' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'base-base',
+          ),
+          'path' => 'base/base-build-min.js',
+          'name' => 'base-build',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'base-base',
+            1 => 'attribute-base',
+            2 => 'event-custom',
+            3 => 'event-custom-base',
+            4 => 'oop',
+            5 => 'yui-base',
+            6 => 'yui-later',
+            7 => 'event-custom-complex',
+          ),
+          'provides' => 
+          array (
+            'base-build' => true,
+          ),
+        ),
+        'base-pluginhost' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'base-base',
+            1 => 'pluginhost',
+          ),
+          'path' => 'base/base-pluginhost-min.js',
+          'name' => 'base-pluginhost',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'base-base',
+            1 => 'attribute-base',
+            2 => 'event-custom',
+            3 => 'event-custom-base',
+            4 => 'oop',
+            5 => 'yui-base',
+            6 => 'yui-later',
+            7 => 'event-custom-complex',
+            8 => 'pluginhost',
+          ),
+          'provides' => 
+          array (
+            'base-pluginhost' => true,
+          ),
+        ),
+      ),
+      'name' => 'base',
+      'type' => 'js',
+      'path' => 'base/base-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'base-base',
+        1 => 'base-build',
+        2 => 'base-pluginhost',
+      ),
+      'rollup' => 3,
+      'expanded' => 
+      array (
+        0 => 'base-base',
+        1 => 'attribute-base',
+        2 => 'event-custom',
+        3 => 'event-custom-base',
+        4 => 'oop',
+        5 => 'yui-base',
+        6 => 'yui-later',
+        7 => 'event-custom-complex',
+        8 => 'base-build',
+        9 => 'base-pluginhost',
+        10 => 'pluginhost',
+      ),
+      'provides' => 
+      array (
+        'base-base' => true,
+        'base-build' => true,
+        'base-pluginhost' => true,
+        'base' => true,
+      ),
+    ),
+    'base-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'attribute-base',
+      ),
+      'path' => 'base/base-base-min.js',
+      'name' => 'base-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'attribute-base',
+        1 => 'event-custom',
+        2 => 'event-custom-base',
+        3 => 'oop',
+        4 => 'yui-base',
+        5 => 'yui-later',
+        6 => 'event-custom-complex',
+      ),
+      'provides' => 
+      array (
+        'base-base' => true,
+      ),
+    ),
+    'base-build' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base-base',
+      ),
+      'path' => 'base/base-build-min.js',
+      'name' => 'base-build',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'base-base',
+        1 => 'attribute-base',
+        2 => 'event-custom',
+        3 => 'event-custom-base',
+        4 => 'oop',
+        5 => 'yui-base',
+        6 => 'yui-later',
+        7 => 'event-custom-complex',
+      ),
+      'provides' => 
+      array (
+        'base-build' => true,
+      ),
+    ),
+    'base-pluginhost' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base-base',
+        1 => 'pluginhost',
+      ),
+      'path' => 'base/base-pluginhost-min.js',
+      'name' => 'base-pluginhost',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'base-base',
+        1 => 'attribute-base',
+        2 => 'event-custom',
+        3 => 'event-custom-base',
+        4 => 'oop',
+        5 => 'yui-base',
+        6 => 'yui-later',
+        7 => 'event-custom-complex',
+        8 => 'pluginhost',
+      ),
+      'provides' => 
+      array (
+        'base-pluginhost' => true,
+      ),
+    ),
+    'cache' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'plugin',
+      ),
+      'name' => 'cache',
+      'type' => 'js',
+      'path' => 'cache/cache-min.js',
+      'ext' => false,
+    ),
+    'compat' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'dump',
+        2 => 'substitute',
+      ),
+      'name' => 'compat',
+      'type' => 'js',
+      'path' => 'compat/compat-min.js',
+      'ext' => false,
+    ),
+    'classnamemanager' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'classnamemanager',
+      'type' => 'js',
+      'path' => 'classnamemanager/classnamemanager-min.js',
+      'ext' => false,
+    ),
+    'collection' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'name' => 'collection',
+      'type' => 'js',
+      'path' => 'collection/collection-min.js',
+      'ext' => false,
+    ),
+    'console' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-log',
+        1 => 'widget',
+        2 => 'substitute',
+        3 => 'skin-sam-console',
+        4 => 'skin-sam-console',
+        5 => 'skin-sam-console',
+      ),
+      'skinnable' => true,
+      'plugins' => 
+      array (
+        'console-filters' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'plugin',
+            1 => 'console',
+            2 => 'skin-sam-console-filters',
+            3 => 'skin-sam-console-filters',
+            4 => 'skin-sam-console-filters',
+          ),
+          'skinnable' => true,
+          'path' => 'console/console-filters-min.js',
+          'name' => 'console-filters',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'console',
+      'type' => 'js',
+      'path' => 'console/console-min.js',
+      'ext' => false,
+    ),
+    'console-filters' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'plugin',
+        1 => 'console',
+        2 => 'skin-sam-console-filters',
+        3 => 'skin-sam-console-filters',
+        4 => 'skin-sam-console-filters',
+      ),
+      'skinnable' => true,
+      'path' => 'console/console-filters-min.js',
+      'name' => 'console-filters',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'skin-sam-console-filters' => 
+    array (
+      'name' => 'skin-sam-console-filters',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'console/assets/skins/sam/console-filters.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cookie' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'cookie',
+      'type' => 'js',
+      'path' => 'cookie/cookie-min.js',
+      'ext' => false,
+    ),
+    'dataschema' => 
+    array (
+      'submodules' => 
+      array (
+        'dataschema-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'base',
+          ),
+          'path' => 'dataschema/dataschema-base-min.js',
+          'name' => 'dataschema-base',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dataschema-array' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'path' => 'dataschema/dataschema-array-min.js',
+          'name' => 'dataschema-array',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dataschema-json' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+            1 => 'json',
+          ),
+          'path' => 'dataschema/dataschema-json-min.js',
+          'name' => 'dataschema-json',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dataschema-text' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'path' => 'dataschema/dataschema-text-min.js',
+          'name' => 'dataschema-text',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dataschema-xml' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'path' => 'dataschema/dataschema-xml-min.js',
+          'name' => 'dataschema-xml',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'dataschema',
+      'type' => 'js',
+      'path' => 'dataschema/dataschema-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'dataschema-base',
+        1 => 'dataschema-array',
+        2 => 'dataschema-json',
+        3 => 'dataschema-text',
+        4 => 'dataschema-xml',
+      ),
+      'rollup' => 4,
+    ),
+    'dataschema-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base',
+      ),
+      'path' => 'dataschema/dataschema-base-min.js',
+      'name' => 'dataschema-base',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dataschema-array' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'path' => 'dataschema/dataschema-array-min.js',
+      'name' => 'dataschema-array',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dataschema-json' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+        1 => 'json',
+      ),
+      'path' => 'dataschema/dataschema-json-min.js',
+      'name' => 'dataschema-json',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dataschema-text' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'path' => 'dataschema/dataschema-text-min.js',
+      'name' => 'dataschema-text',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dataschema-xml' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'path' => 'dataschema/dataschema-xml-min.js',
+      'name' => 'dataschema-xml',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource' => 
+    array (
+      'submodules' => 
+      array (
+        'datasource-local' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'base',
+          ),
+          'path' => 'datasource/datasource-local-min.js',
+          'name' => 'datasource-local',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-arrayschema' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-array',
+          ),
+          'path' => 'datasource/datasource-arrayschema-min.js',
+          'name' => 'datasource-arrayschema',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-cache' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'cache',
+          ),
+          'path' => 'datasource/datasource-cache-min.js',
+          'name' => 'datasource-cache',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-function' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+          ),
+          'path' => 'datasource/datasource-function-min.js',
+          'name' => 'datasource-function',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-jsonschema' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-json',
+          ),
+          'path' => 'datasource/datasource-jsonschema-min.js',
+          'name' => 'datasource-jsonschema',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-polling' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+          ),
+          'path' => 'datasource/datasource-polling-min.js',
+          'name' => 'datasource-polling',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-get' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'get',
+          ),
+          'path' => 'datasource/datasource-get-min.js',
+          'name' => 'datasource-get',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-textschema' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-text',
+          ),
+          'path' => 'datasource/datasource-textschema-min.js',
+          'name' => 'datasource-textschema',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-io' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'io-base',
+          ),
+          'path' => 'datasource/datasource-io-min.js',
+          'name' => 'datasource-io',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datasource-xmlschema' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-xml',
+          ),
+          'path' => 'datasource/datasource-xmlschema-min.js',
+          'name' => 'datasource-xmlschema',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'datasource',
+      'type' => 'js',
+      'path' => 'datasource/datasource-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'datasource-arrayschema',
+        2 => 'datasource-cache',
+        3 => 'datasource-function',
+        4 => 'datasource-jsonschema',
+        5 => 'datasource-polling',
+        6 => 'datasource-get',
+        7 => 'datasource-textschema',
+        8 => 'datasource-io',
+        9 => 'datasource-xmlschema',
+      ),
+      'rollup' => 4,
+    ),
+    'datasource-local' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base',
+      ),
+      'path' => 'datasource/datasource-local-min.js',
+      'name' => 'datasource-local',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-arrayschema' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-array',
+      ),
+      'path' => 'datasource/datasource-arrayschema-min.js',
+      'name' => 'datasource-arrayschema',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-cache' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'cache',
+      ),
+      'path' => 'datasource/datasource-cache-min.js',
+      'name' => 'datasource-cache',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-function' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+      ),
+      'path' => 'datasource/datasource-function-min.js',
+      'name' => 'datasource-function',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-jsonschema' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-json',
+      ),
+      'path' => 'datasource/datasource-jsonschema-min.js',
+      'name' => 'datasource-jsonschema',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-polling' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+      ),
+      'path' => 'datasource/datasource-polling-min.js',
+      'name' => 'datasource-polling',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-get' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'get',
+      ),
+      'path' => 'datasource/datasource-get-min.js',
+      'name' => 'datasource-get',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-textschema' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-text',
+      ),
+      'path' => 'datasource/datasource-textschema-min.js',
+      'name' => 'datasource-textschema',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-io' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'io-base',
+      ),
+      'path' => 'datasource/datasource-io-min.js',
+      'name' => 'datasource-io',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datasource-xmlschema' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-xml',
+      ),
+      'path' => 'datasource/datasource-xmlschema-min.js',
+      'name' => 'datasource-xmlschema',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datatype' => 
+    array (
+      'submodules' => 
+      array (
+        'datatype-date' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'path' => 'datatype/datatype-date-min.js',
+          'name' => 'datatype-date',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datatype-number' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'path' => 'datatype/datatype-number-min.js',
+          'name' => 'datatype-number',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'datatype-xml' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'path' => 'datatype/datatype-xml-min.js',
+          'name' => 'datatype-xml',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'datatype',
+      'type' => 'js',
+      'path' => 'datatype/datatype-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'datatype-date',
+        1 => 'datatype-number',
+        2 => 'datatype-xml',
+      ),
+      'rollup' => 3,
+    ),
+    'datatype-date' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'path' => 'datatype/datatype-date-min.js',
+      'name' => 'datatype-date',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datatype-number' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'path' => 'datatype/datatype-number-min.js',
+      'name' => 'datatype-number',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'datatype-xml' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'path' => 'datatype/datatype-xml-min.js',
+      'name' => 'datatype-xml',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd' => 
+    array (
+      'submodules' => 
+      array (
+        'dd-ddm-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node',
+            1 => 'base',
+          ),
+          'path' => 'dd/dd-ddm-base-min.js',
+          'name' => 'dd-ddm-base',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-ddm' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-ddm-base',
+            1 => 'event-resize',
+          ),
+          'path' => 'dd/dd-ddm-min.js',
+          'name' => 'dd-ddm',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-ddm-drop' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-ddm',
+          ),
+          'path' => 'dd/dd-ddm-drop-min.js',
+          'name' => 'dd-ddm-drop',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-drag' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-ddm-base',
+          ),
+          'path' => 'dd/dd-drag-min.js',
+          'name' => 'dd-drag',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-drop' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-ddm-drop',
+          ),
+          'path' => 'dd/dd-drop-min.js',
+          'name' => 'dd-drop',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-proxy' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'path' => 'dd/dd-proxy-min.js',
+          'name' => 'dd-proxy',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-constrain' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'path' => 'dd/dd-constrain-min.js',
+          'name' => 'dd-constrain',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-scroll' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'path' => 'dd/dd-scroll-min.js',
+          'name' => 'dd-scroll',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-plugin' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'optional' => 
+          array (
+            0 => 'dd-constrain',
+            1 => 'dd-proxy',
+          ),
+          'path' => 'dd/dd-plugin-min.js',
+          'name' => 'dd-plugin',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'dd-drop-plugin' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'dd-drop',
+          ),
+          'path' => 'dd/dd-drop-plugin-min.js',
+          'name' => 'dd-drop-plugin',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'dd',
+      'type' => 'js',
+      'path' => 'dd/dd-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'dd-ddm-base',
+        1 => 'dd-ddm',
+        2 => 'dd-ddm-drop',
+        3 => 'dd-drag',
+        4 => 'dd-drop',
+        5 => 'dd-proxy',
+        6 => 'dd-constrain',
+        7 => 'dd-scroll',
+        8 => 'dd-plugin',
+        9 => 'dd-drop-plugin',
+      ),
+      'rollup' => 4,
+    ),
+    'dd-ddm-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'base',
+      ),
+      'path' => 'dd/dd-ddm-base-min.js',
+      'name' => 'dd-ddm-base',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-ddm' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-ddm-base',
+        1 => 'event-resize',
+      ),
+      'path' => 'dd/dd-ddm-min.js',
+      'name' => 'dd-ddm',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-ddm-drop' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-ddm',
+      ),
+      'path' => 'dd/dd-ddm-drop-min.js',
+      'name' => 'dd-ddm-drop',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-drag' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-ddm-base',
+      ),
+      'path' => 'dd/dd-drag-min.js',
+      'name' => 'dd-drag',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-drop' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-ddm-drop',
+      ),
+      'path' => 'dd/dd-drop-min.js',
+      'name' => 'dd-drop',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-proxy' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'path' => 'dd/dd-proxy-min.js',
+      'name' => 'dd-proxy',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-constrain' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'path' => 'dd/dd-constrain-min.js',
+      'name' => 'dd-constrain',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-scroll' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'path' => 'dd/dd-scroll-min.js',
+      'name' => 'dd-scroll',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-plugin' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'optional' => 
+      array (
+        0 => 'dd-constrain',
+        1 => 'dd-proxy',
+      ),
+      'path' => 'dd/dd-plugin-min.js',
+      'name' => 'dd-plugin',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dd-drop-plugin' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dd-drop',
+      ),
+      'path' => 'dd/dd-drop-plugin-min.js',
+      'name' => 'dd-drop-plugin',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'dump' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'dump',
+      'type' => 'js',
+      'path' => 'dump/dump-min.js',
+      'ext' => false,
+    ),
+    'event' => 
+    array (
+      'expound' => 'node-base',
+      'submodules' => 
+      array (
+        'event-base' => 
+        array (
+          'expound' => 'node-base',
+          'requires' => 
+          array (
+            0 => 'event-custom-base',
+          ),
+          'path' => 'event/event-base-min.js',
+          'name' => 'event-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'event-custom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+            3 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-base' => true,
+          ),
+        ),
+        'event-delegate' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-delegate-min.js',
+          'name' => 'event-delegate',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-delegate' => true,
+          ),
+        ),
+        'event-focus' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-focus-min.js',
+          'name' => 'event-focus',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-focus' => true,
+          ),
+        ),
+        'event-key' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-key-min.js',
+          'name' => 'event-key',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-key' => true,
+          ),
+        ),
+        'event-mouseenter' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-mouseenter-min.js',
+          'name' => 'event-mouseenter',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-mouseenter' => true,
+          ),
+        ),
+        'event-mousewheel' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-mousewheel-min.js',
+          'name' => 'event-mousewheel',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-mousewheel' => true,
+          ),
+        ),
+        'event-resize' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'node-base',
+          ),
+          'path' => 'event/event-resize-min.js',
+          'name' => 'event-resize',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'node-base',
+            1 => 'dom-base',
+            2 => 'oop',
+            3 => 'yui-base',
+            4 => 'selector-css2',
+            5 => 'selector-native',
+            6 => 'event-base',
+            7 => 'event-custom-base',
+            8 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-resize' => true,
+          ),
+        ),
+      ),
+      'name' => 'event',
+      'type' => 'js',
+      'path' => 'event/event-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'event-base',
+        1 => 'event-delegate',
+        2 => 'event-focus',
+        3 => 'event-key',
+        4 => 'event-mouseenter',
+        5 => 'event-mousewheel',
+        6 => 'event-resize',
+      ),
+      'rollup' => 4,
+      'expanded' => 
+      array (
+        0 => 'event-base',
+        1 => 'event-custom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'yui-later',
+        5 => 'event-delegate',
+        6 => 'node-base',
+        7 => 'dom-base',
+        8 => 'selector-css2',
+        9 => 'selector-native',
+        10 => 'event-focus',
+        11 => 'event-key',
+        12 => 'event-mouseenter',
+        13 => 'event-mousewheel',
+        14 => 'event-resize',
+      ),
+      'provides' => 
+      array (
+        'event-base' => true,
+        'event-delegate' => true,
+        'event-focus' => true,
+        'event-key' => true,
+        'event-mouseenter' => true,
+        'event-mousewheel' => true,
+        'event-resize' => true,
+        'event' => true,
+      ),
+    ),
+    'event-base' => 
+    array (
+      'expound' => 'node-base',
+      'requires' => 
+      array (
+        0 => 'event-custom-base',
+      ),
+      'path' => 'event/event-base-min.js',
+      'name' => 'event-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'event-custom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-base' => true,
+      ),
+    ),
+    'event-delegate' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-delegate-min.js',
+      'name' => 'event-delegate',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-delegate' => true,
+      ),
+    ),
+    'event-focus' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-focus-min.js',
+      'name' => 'event-focus',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-focus' => true,
+      ),
+    ),
+    'event-key' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-key-min.js',
+      'name' => 'event-key',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-key' => true,
+      ),
+    ),
+    'event-mouseenter' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-mouseenter-min.js',
+      'name' => 'event-mouseenter',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-mouseenter' => true,
+      ),
+    ),
+    'event-mousewheel' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-mousewheel-min.js',
+      'name' => 'event-mousewheel',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-mousewheel' => true,
+      ),
+    ),
+    'event-resize' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node-base',
+      ),
+      'path' => 'event/event-resize-min.js',
+      'name' => 'event-resize',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'node-base',
+        1 => 'dom-base',
+        2 => 'oop',
+        3 => 'yui-base',
+        4 => 'selector-css2',
+        5 => 'selector-native',
+        6 => 'event-base',
+        7 => 'event-custom-base',
+        8 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-resize' => true,
+      ),
+    ),
+    'event-custom' => 
+    array (
+      'submodules' => 
+      array (
+        'event-custom-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'oop',
+            1 => 'yui-later',
+          ),
+          'path' => 'event-custom/event-custom-base-min.js',
+          'name' => 'event-custom-base',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'oop',
+            1 => 'yui-base',
+            2 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-custom-base' => true,
+          ),
+        ),
+        'event-custom-complex' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'event-custom-base',
+          ),
+          'path' => 'event-custom/event-custom-complex-min.js',
+          'name' => 'event-custom-complex',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'event-custom-base',
+            1 => 'oop',
+            2 => 'yui-base',
+            3 => 'yui-later',
+          ),
+          'provides' => 
+          array (
+            'event-custom-complex' => true,
+          ),
+        ),
+      ),
+      'name' => 'event-custom',
+      'type' => 'js',
+      'path' => 'event-custom/event-custom-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'event-custom-base',
+        1 => 'event-custom-complex',
+      ),
+      'rollup' => 2,
+      'expanded' => 
+      array (
+        0 => 'event-custom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'yui-later',
+        4 => 'event-custom-complex',
+      ),
+      'provides' => 
+      array (
+        'event-custom-base' => true,
+        'event-custom-complex' => true,
+        'event-custom' => true,
+      ),
+    ),
+    'event-custom-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'oop',
+        1 => 'yui-later',
+      ),
+      'path' => 'event-custom/event-custom-base-min.js',
+      'name' => 'event-custom-base',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'oop',
+        1 => 'yui-base',
+        2 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-custom-base' => true,
+      ),
+    ),
+    'event-custom-complex' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-custom-base',
+      ),
+      'path' => 'event-custom/event-custom-complex-min.js',
+      'name' => 'event-custom-complex',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'event-custom-base',
+        1 => 'oop',
+        2 => 'yui-base',
+        3 => 'yui-later',
+      ),
+      'provides' => 
+      array (
+        'event-custom-complex' => true,
+      ),
+    ),
+    'event-simulate' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-base',
+      ),
+      'name' => 'event-simulate',
+      'type' => 'js',
+      'path' => 'event-simulate/event-simulate-min.js',
+      'ext' => false,
+    ),
+    'node-focusmanager' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'attribute',
+        1 => 'node',
+        2 => 'plugin',
+        3 => 'node-event-simulate',
+        4 => 'event-key',
+        5 => 'event-focus',
+      ),
+      'name' => 'node-focusmanager',
+      'type' => 'js',
+      'path' => 'node-focusmanager/node-focusmanager-min.js',
+      'ext' => false,
+    ),
+    'history' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node',
+      ),
+      'name' => 'history',
+      'type' => 'js',
+      'path' => 'history/history-min.js',
+      'ext' => false,
+    ),
+    'imageloader' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base-base',
+        1 => 'node-style',
+        2 => 'node-screen',
+      ),
+      'name' => 'imageloader',
+      'type' => 'js',
+      'path' => 'imageloader/imageloader-min.js',
+      'ext' => false,
+    ),
+    'io' => 
+    array (
+      'submodules' => 
+      array (
+        'io-base' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'event-custom-base',
+          ),
+          'path' => 'io/io-base-min.js',
+          'name' => 'io-base',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'io-xdr' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'datatype-xml',
+          ),
+          'path' => 'io/io-xdr-min.js',
+          'name' => 'io-xdr',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'io-form' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'node-base',
+            2 => 'node-style',
+          ),
+          'path' => 'io/io-form-min.js',
+          'name' => 'io-form',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'io-upload-iframe' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'node-base',
+          ),
+          'path' => 'io/io-upload-iframe-min.js',
+          'name' => 'io-upload-iframe',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'io-queue' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'queue-promote',
+          ),
+          'path' => 'io/io-queue-min.js',
+          'name' => 'io-queue',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'io',
+      'type' => 'js',
+      'path' => 'io/io-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'io-base',
+        1 => 'io-xdr',
+        2 => 'io-form',
+        3 => 'io-upload-iframe',
+        4 => 'io-queue',
+      ),
+      'rollup' => 4,
+    ),
+    'io-base' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-custom-base',
+      ),
+      'path' => 'io/io-base-min.js',
+      'name' => 'io-base',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'io-xdr' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'datatype-xml',
+      ),
+      'path' => 'io/io-xdr-min.js',
+      'name' => 'io-xdr',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'io-form' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'node-base',
+        2 => 'node-style',
+      ),
+      'path' => 'io/io-form-min.js',
+      'name' => 'io-form',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'io-upload-iframe' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'node-base',
+      ),
+      'path' => 'io/io-upload-iframe-min.js',
+      'name' => 'io-upload-iframe',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'io-queue' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'queue-promote',
+      ),
+      'path' => 'io/io-queue-min.js',
+      'name' => 'io-queue',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'json' => 
+    array (
+      'submodules' => 
+      array (
+        'json-parse' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'path' => 'json/json-parse-min.js',
+          'name' => 'json-parse',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'json-parse' => true,
+          ),
+        ),
+        'json-stringify' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'path' => 'json/json-stringify-min.js',
+          'name' => 'json-stringify',
+          'type' => 'js',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'provides' => 
+          array (
+            'json-stringify' => true,
+          ),
+        ),
+      ),
+      'name' => 'json',
+      'type' => 'js',
+      'path' => 'json/json-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'json-parse',
+        1 => 'json-stringify',
+      ),
+      'rollup' => 2,
+      'expanded' => 
+      array (
+        0 => 'json-parse',
+        1 => 'yui-base',
+        2 => 'json-stringify',
+      ),
+      'provides' => 
+      array (
+        'json-parse' => true,
+        'json-stringify' => true,
+        'json' => true,
+      ),
+    ),
+    'json-parse' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'path' => 'json/json-parse-min.js',
+      'name' => 'json-parse',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'json-parse' => true,
+      ),
+    ),
+    'json-stringify' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'path' => 'json/json-stringify-min.js',
+      'name' => 'json-stringify',
+      'type' => 'js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'json-stringify' => true,
+      ),
+    ),
+    'loader' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'get',
+      ),
+      'name' => 'loader',
+      'type' => 'js',
+      'path' => 'loader/loader-min.js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'get',
+      ),
+      'provides' => 
+      array (
+        'loader' => true,
+      ),
+    ),
+    'node-menunav' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'classnamemanager',
+        2 => 'plugin',
+        3 => 'node-focusmanager',
+        4 => 'skin-sam-node-menunav',
+        5 => 'skin-sam-node-menunav',
+        6 => 'skin-sam-node-menunav',
+      ),
+      'skinnable' => true,
+      'name' => 'node-menunav',
+      'type' => 'js',
+      'path' => 'node-menunav/node-menunav-min.js',
+      'ext' => false,
+    ),
+    'oop' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'oop',
+      'type' => 'js',
+      'path' => 'oop/oop-min.js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'oop' => true,
+      ),
+    ),
+    'overlay' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'widget-position',
+        2 => 'widget-position-ext',
+        3 => 'widget-stack',
+        4 => 'widget-stdmod',
+        5 => 'skin-sam-overlay',
+        6 => 'skin-sam-overlay',
+        7 => 'skin-sam-overlay',
+      ),
+      'skinnable' => true,
+      'name' => 'overlay',
+      'type' => 'js',
+      'path' => 'overlay/overlay-min.js',
+      'ext' => false,
+    ),
+    'plugin' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'base-base',
+      ),
+      'name' => 'plugin',
+      'type' => 'js',
+      'path' => 'plugin/plugin-min.js',
+      'ext' => false,
+    ),
+    'pluginhost' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'pluginhost',
+      'type' => 'js',
+      'path' => 'pluginhost/pluginhost-min.js',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'provides' => 
+      array (
+        'pluginhost' => true,
+      ),
+    ),
+    'profiler' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'profiler',
+      'type' => 'js',
+      'path' => 'profiler/profiler-min.js',
+      'ext' => false,
+    ),
+    'queue-promote' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'queue-promote',
+      'type' => 'js',
+      'path' => 'queue-promote/queue-promote-min.js',
+      'ext' => false,
+    ),
+    'queue-run' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-custom',
+      ),
+      'path' => 'async-queue/async-queue-min.js',
+      'name' => 'queue-run',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'async-queue' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'event-custom',
+      ),
+      'supersedes' => 
+      array (
+        0 => 'queue-run',
+      ),
+      'name' => 'async-queue',
+      'type' => 'js',
+      'path' => 'async-queue/async-queue-min.js',
+      'ext' => false,
+    ),
+    'slider' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'dd-constrain',
+        2 => 'skin-sam-slider',
+        3 => 'skin-sam-slider',
+        4 => 'skin-sam-slider',
+      ),
+      'skinnable' => true,
+      'name' => 'slider',
+      'type' => 'js',
+      'path' => 'slider/slider-min.js',
+      'ext' => false,
+    ),
+    'stylesheet' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'name' => 'stylesheet',
+      'type' => 'js',
+      'path' => 'stylesheet/stylesheet-min.js',
+      'ext' => false,
+    ),
+    'substitute' => 
+    array (
+      'optional' => 
+      array (
+        0 => 'dump',
+      ),
+      'name' => 'substitute',
+      'type' => 'js',
+      'path' => 'substitute/substitute-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'widget' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'attribute',
+        1 => 'event-focus',
+        2 => 'base',
+        3 => 'node',
+        4 => 'classnamemanager',
+        5 => 'skin-sam-widget',
+        6 => 'skin-sam-widget',
+        7 => 'skin-sam-widget',
+      ),
+      'plugins' => 
+      array (
+        'widget-position' => 
+        array (
+          'path' => 'widget/widget-position-min.js',
+          'requires' => 
+          array (
+          ),
+          'name' => 'widget-position',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'widget-position-ext' => 
+        array (
+          'requires' => 
+          array (
+            0 => 'widget-position',
+          ),
+          'path' => 'widget/widget-position-ext-min.js',
+          'name' => 'widget-position-ext',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'widget-stack' => 
+        array (
+          'skinnable' => true,
+          'path' => 'widget/widget-stack-min.js',
+          'requires' => 
+          array (
+            0 => 'skin-sam-widget-stack',
+            1 => 'skin-sam-widget-stack',
+            2 => 'skin-sam-widget-stack',
+          ),
+          'name' => 'widget-stack',
+          'type' => 'js',
+          'ext' => false,
+        ),
+        'widget-stdmod' => 
+        array (
+          'path' => 'widget/widget-stdmod-min.js',
+          'requires' => 
+          array (
+          ),
+          'name' => 'widget-stdmod',
+          'type' => 'js',
+          'ext' => false,
+        ),
+      ),
+      'skinnable' => true,
+      'name' => 'widget',
+      'type' => 'js',
+      'path' => 'widget/widget-min.js',
+      'ext' => false,
+    ),
+    'widget-position' => 
+    array (
+      'path' => 'widget/widget-position-min.js',
+      'requires' => 
+      array (
+      ),
+      'name' => 'widget-position',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'skin-sam-widget-position' => 
+    array (
+      'name' => 'skin-sam-widget-position',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-position.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'widget-position-ext' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'widget-position',
+      ),
+      'path' => 'widget/widget-position-ext-min.js',
+      'name' => 'widget-position-ext',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'skin-sam-widget-position-ext' => 
+    array (
+      'name' => 'skin-sam-widget-position-ext',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-position-ext.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'widget-stack' => 
+    array (
+      'skinnable' => true,
+      'path' => 'widget/widget-stack-min.js',
+      'requires' => 
+      array (
+        0 => 'skin-sam-widget-stack',
+        1 => 'skin-sam-widget-stack',
+        2 => 'skin-sam-widget-stack',
+      ),
+      'name' => 'widget-stack',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'skin-sam-widget-stack' => 
+    array (
+      'name' => 'skin-sam-widget-stack',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-stack.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'widget-stdmod' => 
+    array (
+      'path' => 'widget/widget-stdmod-min.js',
+      'requires' => 
+      array (
+      ),
+      'name' => 'widget-stdmod',
+      'type' => 'js',
+      'ext' => false,
+    ),
+    'skin-sam-widget-stdmod' => 
+    array (
+      'name' => 'skin-sam-widget-stdmod',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-stdmod.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'yui' => 
+    array (
+      'submodules' => 
+      array (
+        'yui-base' => 
+        array (
+          'path' => 'yui/yui-base-min.js',
+          'name' => 'yui-base',
+          'type' => 'js',
+          'ext' => false,
+          'requires' => 
+          array (
+          ),
+          'expanded' => 
+          array (
+          ),
+          'provides' => 
+          array (
+            'yui-base' => true,
+          ),
+        ),
+        'get' => 
+        array (
+          'path' => 'yui/get-min.js',
+          'name' => 'get',
+          'type' => 'js',
+          'ext' => false,
+          'requires' => 
+          array (
+          ),
+          'expanded' => 
+          array (
+          ),
+          'provides' => 
+          array (
+            'get' => true,
+          ),
+        ),
+        'yui-log' => 
+        array (
+          'path' => 'yui/yui-log-min.js',
+          'name' => 'yui-log',
+          'type' => 'js',
+          'ext' => false,
+          'requires' => 
+          array (
+          ),
+          'provides' => 
+          array (
+            'yui-log' => true,
+          ),
+        ),
+        'yui-later' => 
+        array (
+          'path' => 'yui/yui-later-min.js',
+          'name' => 'yui-later',
+          'type' => 'js',
+          'ext' => false,
+          'requires' => 
+          array (
+          ),
+          'expanded' => 
+          array (
+          ),
+          'provides' => 
+          array (
+            'yui-later' => true,
+          ),
+        ),
+      ),
+      'name' => 'yui',
+      'type' => 'js',
+      'path' => 'yui/yui-min.js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'supersedes' => 
+      array (
+        0 => 'yui-base',
+        1 => 'get',
+        2 => 'yui-log',
+        3 => 'yui-later',
+      ),
+      'rollup' => 3,
+      'provides' => 
+      array (
+        'yui-base' => true,
+        'get' => true,
+        'yui-log' => true,
+        'yui-later' => true,
+        'yui' => true,
+      ),
+    ),
+    'yui-base' => 
+    array (
+      'path' => 'yui/yui-base-min.js',
+      'name' => 'yui-base',
+      'type' => 'js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'expanded' => 
+      array (
+      ),
+      'provides' => 
+      array (
+        'yui-base' => true,
+      ),
+    ),
+    'get' => 
+    array (
+      'path' => 'yui/get-min.js',
+      'name' => 'get',
+      'type' => 'js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'expanded' => 
+      array (
+      ),
+      'provides' => 
+      array (
+        'get' => true,
+      ),
+    ),
+    'yui-log' => 
+    array (
+      'path' => 'yui/yui-log-min.js',
+      'name' => 'yui-log',
+      'type' => 'js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'provides' => 
+      array (
+        'yui-log' => true,
+      ),
+    ),
+    'yui-later' => 
+    array (
+      'path' => 'yui/yui-later-min.js',
+      'name' => 'yui-later',
+      'type' => 'js',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+      'expanded' => 
+      array (
+      ),
+      'provides' => 
+      array (
+        'yui-later' => true,
+      ),
+    ),
+    'test' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'substitute',
+        1 => 'node',
+        2 => 'json',
+        3 => 'event-simulate',
+      ),
+      'name' => 'test',
+      'type' => 'js',
+      'path' => 'test/test-min.js',
+      'ext' => false,
+    ),
+    'cssreset' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssreset/reset-min.css',
+      'name' => 'cssreset',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssreset-context' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssreset/reset-context-min.css',
+      'name' => 'cssreset-context',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssfonts' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssfonts/fonts-min.css',
+      'name' => 'cssfonts',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssfonts-context' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssfonts/fonts-context-min.css',
+      'name' => 'cssfonts-context',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssgrids' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssgrids/grids-min.css',
+      'requires' => 
+      array (
+        0 => 'cssfonts',
+      ),
+      'optional' => 
+      array (
+        0 => 'cssreset',
+      ),
+      'name' => 'cssgrids',
+      'ext' => false,
+    ),
+    'cssgrids-context' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssgrids/grids-context-min.css',
+      'requires' => 
+      array (
+        0 => 'cssfonts-context',
+      ),
+      'optional' => 
+      array (
+        0 => 'cssreset-context',
+      ),
+      'name' => 'cssgrids-context',
+      'ext' => false,
+    ),
+    'cssbase' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssbase/base-min.css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'name' => 'cssbase',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssbase-context' => 
+    array (
+      'type' => 'css',
+      'path' => 'cssbase/base-context-min.css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'name' => 'cssbase-context',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-console' => 
+    array (
+      'name' => 'skin-sam-console',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'console/assets/skins/sam/console.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-node-menunav' => 
+    array (
+      'name' => 'skin-sam-node-menunav',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'node-menunav/assets/skins/sam/node-menunav.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-overlay' => 
+    array (
+      'name' => 'skin-sam-overlay',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'overlay/assets/skins/sam/overlay.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-slider' => 
+    array (
+      'name' => 'skin-sam-slider',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'slider/assets/skins/sam/slider.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-widget' => 
+    array (
+      'name' => 'skin-sam-widget',
+      'type' => 'css',
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget.css',
+      'ext' => false,
+      'requires' => 
+      array (
+      ),
+    ),
+  ),
+); ?>
\ No newline at end of file
diff --git a/lib/yui/phploader/lib/meta/config_3.0.0b1.php b/lib/yui/phploader/lib/meta/config_3.0.0b1.php
new file mode 100644 (file)
index 0000000..5fad85e
--- /dev/null
@@ -0,0 +1,2458 @@
+<?PHP
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+$GLOBALS['yui_current'] = array (
+  'base' => 'http://yui.yahooapis.com/3.0.0b1/build/',
+  'skin' => 
+  array (
+    'after' => 
+    array (
+      0 => 'cssreset',
+      1 => 'cssfonts',
+      2 => 'cssgrids',
+      3 => 'cssreset-context',
+      4 => 'cssfonts-context',
+      5 => 'cssgrids-context',
+    ),
+    'path' => 'skin.css',
+    'base' => 'assets/skins/',
+    'defaultSkin' => 'sam',
+  ),
+  'moduleInfo' => 
+  array (
+    'datatype-date' => 
+    array (
+      'path' => 'datatype/datatype-date-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'datatype-date',
+      'ext' => false,
+    ),
+    'cssfonts-context' => 
+    array (
+      'path' => 'cssfonts/fonts-context-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssfonts-context',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dd-ddm' => 
+    array (
+      'path' => 'dd/dd-ddm-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-ddm-base',
+      ),
+      'type' => 'js',
+      'name' => 'dd-ddm',
+      'ext' => false,
+    ),
+    'stylesheet' => 
+    array (
+      'path' => 'stylesheet/stylesheet-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'stylesheet',
+      'ext' => false,
+    ),
+    'imageloader' => 
+    array (
+      'path' => 'imageloader/imageloader-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'imageloader',
+      'ext' => false,
+    ),
+    'cssbase' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'cssbase/base-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssbase',
+      'requires' => 
+      array (
+      ),
+    ),
+    'anim-base' => 
+    array (
+      'path' => 'anim/anim-base-min.js',
+      'requires' => 
+      array (
+        0 => 'base',
+        1 => 'node-style',
+      ),
+      'type' => 'js',
+      'name' => 'anim-base',
+      'ext' => false,
+    ),
+    'oop' => 
+    array (
+      'path' => 'oop/oop-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'oop',
+      'ext' => false,
+    ),
+    'datasource-xhr' => 
+    array (
+      'path' => 'datasource/datasource-xhr-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'io-base',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-xhr',
+      'ext' => false,
+    ),
+    'selector-css3' => 
+    array (
+      'path' => 'dom/selector-css3-min.js',
+      'requires' => 
+      array (
+        0 => 'selector',
+        1 => 'dom',
+        2 => 'dom',
+      ),
+      'type' => 'js',
+      'name' => 'selector-css3',
+      'ext' => false,
+    ),
+    'yui-base' => 
+    array (
+      '_provides' => 
+      array (
+        'yui-base' => true,
+      ),
+      'path' => 'yui-base/yui-base-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'type' => 'js',
+      'ext' => false,
+      'name' => 'yui-base',
+      'requires' => 
+      array (
+      ),
+      'expanded' => 
+      array (
+      ),
+    ),
+    'json-parse' => 
+    array (
+      '_provides' => 
+      array (
+        'json-parse' => true,
+      ),
+      'path' => 'json/json-parse-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'json-parse',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+    ),
+    'skin-sam-widget-stack' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-stack.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-widget-stack',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dom-screen' => 
+    array (
+      'path' => 'dom/dom-screen-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-base',
+        1 => 'dom-style',
+      ),
+      'type' => 'js',
+      'name' => 'dom-screen',
+      'ext' => false,
+    ),
+    'selector' => 
+    array (
+      'path' => 'dom/selector-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'type' => 'js',
+      'name' => 'selector',
+      'ext' => false,
+    ),
+    'anim-node-plugin' => 
+    array (
+      'path' => 'anim/anim-node-plugin-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'anim-base',
+      ),
+      'type' => 'js',
+      'name' => 'anim-node-plugin',
+      'ext' => false,
+    ),
+    'classnamemanager' => 
+    array (
+      'path' => 'classnamemanager/classnamemanager-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'classnamemanager',
+      'ext' => false,
+    ),
+    'skin-sam-widget-position-ext' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-position-ext.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-widget-position-ext',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dd-plugin' => 
+    array (
+      'path' => 'dd/dd-plugin-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'type' => 'js',
+      'optional' => 
+      array (
+        0 => 'dd-constrain',
+        1 => 'dd-proxy',
+      ),
+      'name' => 'dd-plugin',
+      'ext' => false,
+    ),
+    'skin-sam-widget-stdmod' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-stdmod.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-widget-stdmod',
+      'requires' => 
+      array (
+      ),
+    ),
+    'overlay' => 
+    array (
+      'path' => 'overlay/overlay-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'widget-position',
+        2 => 'widget-position-ext',
+        3 => 'widget-stack',
+        4 => 'widget-stdmod',
+        5 => 'skin-sam-overlay',
+        6 => 'skin-sam-overlay',
+      ),
+      'type' => 'js',
+      'name' => 'overlay',
+      'ext' => false,
+    ),
+    'datasource-polling' => 
+    array (
+      'path' => 'datasource/datasource-polling-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-polling',
+      'ext' => false,
+    ),
+    'datasource-cache' => 
+    array (
+      'path' => 'datasource/datasource-cache-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'cache',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-cache',
+      'ext' => false,
+    ),
+    'get' => 
+    array (
+      '_provides' => 
+      array (
+        'get' => true,
+      ),
+      'path' => 'get/get-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'get',
+      'ext' => false,
+    ),
+    'queue-run' => 
+    array (
+      'path' => 'queue/queue-run-min.js',
+      'requires' => 
+      array (
+        0 => 'queue-base',
+        1 => 'event-custom',
+      ),
+      'type' => 'js',
+      'name' => 'queue-run',
+      'ext' => false,
+    ),
+    'widget-position-ext' => 
+    array (
+      'path' => 'widget/widget-position-ext-min.js',
+      'requires' => 
+      array (
+        0 => 'widget-position',
+        1 => 'widget',
+        2 => 'widget',
+      ),
+      'type' => 'js',
+      'name' => 'widget-position-ext',
+      'ext' => false,
+    ),
+    'datatype' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'datatype-date',
+        1 => 'datatype-xml',
+        2 => 'datatype-number',
+      ),
+      'path' => 'datatype/datatype-min.js',
+      'rollup' => 2,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'datatype-date' => 
+        array (
+          'path' => 'datatype/datatype-date-min.js',
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'datatype-date',
+          'ext' => false,
+        ),
+        'datatype-xml' => 
+        array (
+          'path' => 'datatype/datatype-xml-min.js',
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'datatype-xml',
+          'ext' => false,
+        ),
+        'datatype-number' => 
+        array (
+          'path' => 'datatype/datatype-number-min.js',
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'datatype-number',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'datatype',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dd-drop' => 
+    array (
+      'path' => 'dd/dd-drop-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-ddm-drop',
+      ),
+      'type' => 'js',
+      'name' => 'dd-drop',
+      'ext' => false,
+    ),
+    'dataschema' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'dataschema-json',
+        1 => 'dataschema-array',
+        2 => 'dataschema-xml',
+        3 => 'dataschema-text',
+        4 => 'dataschema-base',
+      ),
+      'path' => 'dataschema/dataschema-min.js',
+      'rollup' => 4,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'dataschema-json' => 
+        array (
+          'path' => 'dataschema/dataschema-json-min.js',
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'type' => 'js',
+          'name' => 'dataschema-json',
+          'ext' => false,
+        ),
+        'dataschema-array' => 
+        array (
+          'path' => 'dataschema/dataschema-array-min.js',
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'type' => 'js',
+          'name' => 'dataschema-array',
+          'ext' => false,
+        ),
+        'dataschema-xml' => 
+        array (
+          'path' => 'dataschema/dataschema-xml-min.js',
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'type' => 'js',
+          'name' => 'dataschema-xml',
+          'ext' => false,
+        ),
+        'dataschema-text' => 
+        array (
+          'path' => 'dataschema/dataschema-text-min.js',
+          'requires' => 
+          array (
+            0 => 'dataschema-base',
+          ),
+          'type' => 'js',
+          'name' => 'dataschema-text',
+          'ext' => false,
+        ),
+        'dataschema-base' => 
+        array (
+          'path' => 'dataschema/dataschema-base-min.js',
+          'requires' => 
+          array (
+            0 => 'base',
+          ),
+          'type' => 'js',
+          'name' => 'dataschema-base',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'dataschema',
+      'requires' => 
+      array (
+      ),
+    ),
+    'io-upload-iframe' => 
+    array (
+      'path' => 'io/io-upload-iframe-min.js',
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'io-upload-iframe',
+      'ext' => false,
+    ),
+    'collection' => 
+    array (
+      'path' => 'collection/collection-min.js',
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'type' => 'js',
+      'name' => 'collection',
+      'ext' => false,
+    ),
+    'dd-drop-plugin' => 
+    array (
+      'path' => 'dd/dd-drop-plugin-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-drop',
+      ),
+      'type' => 'js',
+      'name' => 'dd-drop-plugin',
+      'ext' => false,
+    ),
+    'queue-promote' => 
+    array (
+      'path' => 'queue/queue-promote-min.js',
+      'requires' => 
+      array (
+        0 => 'queue',
+        1 => 'queue',
+      ),
+      'type' => 'js',
+      'name' => 'queue-promote',
+      'ext' => false,
+    ),
+    'dataschema-array' => 
+    array (
+      'path' => 'dataschema/dataschema-array-min.js',
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'type' => 'js',
+      'name' => 'dataschema-array',
+      'ext' => false,
+    ),
+    'dataschema-text' => 
+    array (
+      'path' => 'dataschema/dataschema-text-min.js',
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'type' => 'js',
+      'name' => 'dataschema-text',
+      'ext' => false,
+    ),
+    'anim-color' => 
+    array (
+      'path' => 'anim/anim-color-min.js',
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'type' => 'js',
+      'name' => 'anim-color',
+      'ext' => false,
+    ),
+    'dom-base' => 
+    array (
+      'path' => 'dom/dom-base-min.js',
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'type' => 'js',
+      'name' => 'dom-base',
+      'ext' => false,
+    ),
+    'dom-style' => 
+    array (
+      'path' => 'dom/dom-style-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'type' => 'js',
+      'name' => 'dom-style',
+      'ext' => false,
+    ),
+    'skin-sam-overlay' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'overlay/assets/skins/sam/overlay.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-overlay',
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-node-menunav' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'node-menunav/assets/skins/sam/node-menunav.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-node-menunav',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dump' => 
+    array (
+      'path' => 'dump/dump-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'dump',
+      'ext' => false,
+    ),
+    'yui' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'yui-base',
+        1 => 'get',
+        2 => 'loader',
+        3 => 'queue-base',
+      ),
+      '_provides' => 
+      array (
+        'queue-base' => true,
+        'yui-base' => true,
+        'yui' => true,
+        'get' => true,
+        'loader' => true,
+      ),
+      'path' => 'yui/yui-min.js',
+      '_supersedes' => 
+      array (
+        'queue-base' => true,
+        'yui-base' => true,
+        'get' => true,
+        'loader' => true,
+      ),
+      'type' => 'js',
+      'ext' => false,
+      'name' => 'yui',
+      'requires' => 
+      array (
+      ),
+    ),
+    'cssgrids-context' => 
+    array (
+      'path' => 'cssgrids/grids-context-min.css',
+      'requires' => 
+      array (
+        0 => 'cssfonts-context',
+      ),
+      'type' => 'css',
+      'optional' => 
+      array (
+        0 => 'cssreset-context',
+      ),
+      'name' => 'cssgrids-context',
+      'ext' => false,
+    ),
+    'node' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'dom',
+        1 => 'base',
+      ),
+      'path' => 'node/node-min.js',
+      'supersedes' => 
+      array (
+        0 => 'node-screen',
+        1 => 'node-base',
+        2 => 'node-style',
+      ),
+      'expound' => 'event',
+      'type' => 'js',
+      'submodules' => 
+      array (
+        'node-screen' => 
+        array (
+          'path' => 'node/node-screen-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-screen',
+            1 => 'node-base',
+          ),
+          'type' => 'js',
+          'name' => 'node-screen',
+          'ext' => false,
+        ),
+        'node-base' => 
+        array (
+          'path' => 'node/node-base-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-base',
+            1 => 'base',
+            2 => 'selector',
+          ),
+          'type' => 'js',
+          'name' => 'node-base',
+          'ext' => false,
+        ),
+        'node-style' => 
+        array (
+          'path' => 'node/node-style-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-style',
+            1 => 'node-base',
+          ),
+          'type' => 'js',
+          'name' => 'node-style',
+          'ext' => false,
+        ),
+      ),
+      'plugins' => 
+      array (
+        'node-event-simulate' => 
+        array (
+          'path' => 'node/node-event-simulate-min.js',
+          'requires' => 
+          array (
+            0 => 'node-base',
+            1 => 'event-simulate',
+            2 => 'node',
+            3 => 'node',
+          ),
+          'type' => 'js',
+          'name' => 'node-event-simulate',
+          'ext' => false,
+        ),
+      ),
+      'ext' => false,
+      'name' => 'node',
+      'rollup' => 2,
+    ),
+    'skin-sam-slider' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'slider/assets/skins/sam/slider.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-slider',
+      'requires' => 
+      array (
+      ),
+    ),
+    'anim-curve' => 
+    array (
+      'path' => 'anim/anim-curve-min.js',
+      'requires' => 
+      array (
+        0 => 'anim-xy',
+      ),
+      'type' => 'js',
+      'name' => 'anim-curve',
+      'ext' => false,
+    ),
+    'test' => 
+    array (
+      'path' => 'test/test-min.js',
+      'requires' => 
+      array (
+        0 => 'substitute',
+        1 => 'node',
+        2 => 'json',
+        3 => 'event-simulate',
+      ),
+      'type' => 'js',
+      'name' => 'test',
+      'ext' => false,
+    ),
+    'skin-sam-widget' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-widget',
+      'requires' => 
+      array (
+      ),
+    ),
+    'json' => 
+    array (
+      'requires' => 
+      array (
+      ),
+      'path' => 'json/json-min.js',
+      'supersedes' => 
+      array (
+        0 => 'json-parse',
+        1 => 'json-stringify',
+      ),
+      '_supersedes' => 
+      array (
+        'json-parse' => true,
+        'json-stringify' => true,
+      ),
+      '_provides' => 
+      array (
+        'json-parse' => true,
+        'json' => true,
+        'json-stringify' => true,
+      ),
+      'submodules' => 
+      array (
+        'json-parse' => 
+        array (
+          '_provides' => 
+          array (
+            'json-parse' => true,
+          ),
+          'path' => 'json/json-parse-min.js',
+          '_supersedes' => 
+          array (
+          ),
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'json-parse',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'yui-base',
+          ),
+        ),
+        'json-stringify' => 
+        array (
+          '_provides' => 
+          array (
+            'json-stringify' => true,
+          ),
+          'path' => 'json/json-stringify-min.js',
+          '_supersedes' => 
+          array (
+          ),
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'json-stringify',
+          'ext' => false,
+          'expanded' => 
+          array (
+            0 => 'yui-base',
+          ),
+        ),
+      ),
+      'type' => 'js',
+      'expanded' => 
+      array (
+        0 => 'json-parse',
+        1 => 'yui-base',
+        2 => 'json-stringify',
+      ),
+      'ext' => false,
+      'name' => 'json',
+      'rollup' => 1,
+    ),
+    'history' => 
+    array (
+      'path' => 'history/history-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'history',
+      'ext' => false,
+    ),
+    'dataschema-json' => 
+    array (
+      'path' => 'dataschema/dataschema-json-min.js',
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'type' => 'js',
+      'name' => 'dataschema-json',
+      'ext' => false,
+    ),
+    'datasource-local' => 
+    array (
+      'path' => 'datasource/datasource-local-min.js',
+      'requires' => 
+      array (
+        0 => 'base',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-local',
+      'ext' => false,
+    ),
+    'node-focusmanager' => 
+    array (
+      'path' => 'node-focusmanager/node-focusmanager-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'plugin',
+      ),
+      'type' => 'js',
+      'name' => 'node-focusmanager',
+      'ext' => false,
+    ),
+    'queue-base' => 
+    array (
+      '_provides' => 
+      array (
+        'queue-base' => true,
+      ),
+      'path' => 'queue/queue-base-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'queue-base',
+      'ext' => false,
+    ),
+    'compat' => 
+    array (
+      'path' => 'compat/compat-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'dump',
+        2 => 'substitute',
+      ),
+      'type' => 'js',
+      'name' => 'compat',
+      'ext' => false,
+    ),
+    'cookie' => 
+    array (
+      'path' => 'cookie/cookie-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'cookie',
+      'ext' => false,
+    ),
+    'datasource-scriptnode' => 
+    array (
+      'path' => 'datasource/datasource-scriptnode-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'get',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-scriptnode',
+      'ext' => false,
+    ),
+    'anim' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'anim-color',
+        1 => 'anim-scroll',
+        2 => 'anim-node-plugin',
+        3 => 'anim-base',
+        4 => 'anim-curve',
+        5 => 'anim-easing',
+        6 => 'anim-xy',
+      ),
+      'path' => 'anim/anim-min.js',
+      'rollup' => 4,
+      'requires' => 
+      array (
+        0 => 'base',
+        1 => 'node',
+      ),
+      'type' => 'js',
+      'submodules' => 
+      array (
+        'anim-color' => 
+        array (
+          'path' => 'anim/anim-color-min.js',
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'type' => 'js',
+          'name' => 'anim-color',
+          'ext' => false,
+        ),
+        'anim-scroll' => 
+        array (
+          'path' => 'anim/anim-scroll-min.js',
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'type' => 'js',
+          'name' => 'anim-scroll',
+          'ext' => false,
+        ),
+        'anim-node-plugin' => 
+        array (
+          'path' => 'anim/anim-node-plugin-min.js',
+          'requires' => 
+          array (
+            0 => 'node',
+            1 => 'anim-base',
+          ),
+          'type' => 'js',
+          'name' => 'anim-node-plugin',
+          'ext' => false,
+        ),
+        'anim-base' => 
+        array (
+          'path' => 'anim/anim-base-min.js',
+          'requires' => 
+          array (
+            0 => 'base',
+            1 => 'node-style',
+          ),
+          'type' => 'js',
+          'name' => 'anim-base',
+          'ext' => false,
+        ),
+        'anim-curve' => 
+        array (
+          'path' => 'anim/anim-curve-min.js',
+          'requires' => 
+          array (
+            0 => 'anim-xy',
+          ),
+          'type' => 'js',
+          'name' => 'anim-curve',
+          'ext' => false,
+        ),
+        'anim-easing' => 
+        array (
+          'path' => 'anim/anim-easing-min.js',
+          'requires' => 
+          array (
+            0 => 'anim-base',
+          ),
+          'type' => 'js',
+          'name' => 'anim-easing',
+          'ext' => false,
+        ),
+        'anim-xy' => 
+        array (
+          'path' => 'anim/anim-xy-min.js',
+          'requires' => 
+          array (
+            0 => 'anim-base',
+            1 => 'node-screen',
+          ),
+          'type' => 'js',
+          'name' => 'anim-xy',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'anim',
+      'ext' => false,
+    ),
+    'io-base' => 
+    array (
+      'path' => 'io/io-base-min.js',
+      'requires' => 
+      array (
+        0 => 'event-custom',
+      ),
+      'type' => 'js',
+      'name' => 'io-base',
+      'ext' => false,
+    ),
+    'datasource-function' => 
+    array (
+      'path' => 'datasource/datasource-function-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-function',
+      'ext' => false,
+    ),
+    'widget-stdmod' => 
+    array (
+      'path' => 'widget/widget-stdmod-min.js',
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'widget',
+      ),
+      'type' => 'js',
+      'name' => 'widget-stdmod',
+      'ext' => false,
+    ),
+    'event' => 
+    array (
+      'path' => 'event/event-min.js',
+      'requires' => 
+      array (
+        0 => 'event-custom',
+        1 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'event',
+      'ext' => false,
+    ),
+    'cssfonts' => 
+    array (
+      'path' => 'cssfonts/fonts-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssfonts',
+      'requires' => 
+      array (
+      ),
+    ),
+    'skin-sam-console' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'console/assets/skins/sam/console.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-console',
+      'requires' => 
+      array (
+      ),
+    ),
+    'anim-xy' => 
+    array (
+      'path' => 'anim/anim-xy-min.js',
+      'requires' => 
+      array (
+        0 => 'anim-base',
+        1 => 'node-screen',
+      ),
+      'type' => 'js',
+      'name' => 'anim-xy',
+      'ext' => false,
+    ),
+    'datasource-xmlschema' => 
+    array (
+      'path' => 'datasource/datasource-xmlschema-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-xml',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-xmlschema',
+      'ext' => false,
+    ),
+    'cssbase-context' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'cssbase/base-context-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssbase-context',
+      'requires' => 
+      array (
+      ),
+    ),
+    'node-event-simulate' => 
+    array (
+      'path' => 'node/node-event-simulate-min.js',
+      'requires' => 
+      array (
+        0 => 'node-base',
+        1 => 'event-simulate',
+        2 => 'node',
+        3 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'node-event-simulate',
+      'ext' => false,
+    ),
+    'io' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'io-queue',
+        1 => 'io-upload-iframe',
+        2 => 'io-base',
+        3 => 'io-form',
+        4 => 'io-xdr',
+      ),
+      'path' => 'io/io-min.js',
+      'rollup' => 4,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'io-queue' => 
+        array (
+          'path' => 'io/io-queue-min.js',
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'queue-promote',
+          ),
+          'type' => 'js',
+          'name' => 'io-queue',
+          'ext' => false,
+        ),
+        'io-upload-iframe' => 
+        array (
+          'path' => 'io/io-upload-iframe-min.js',
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'node',
+          ),
+          'type' => 'js',
+          'name' => 'io-upload-iframe',
+          'ext' => false,
+        ),
+        'io-base' => 
+        array (
+          'path' => 'io/io-base-min.js',
+          'requires' => 
+          array (
+            0 => 'event-custom',
+          ),
+          'type' => 'js',
+          'name' => 'io-base',
+          'ext' => false,
+        ),
+        'io-form' => 
+        array (
+          'path' => 'io/io-form-min.js',
+          'requires' => 
+          array (
+            0 => 'io-base',
+            1 => 'node',
+          ),
+          'type' => 'js',
+          'name' => 'io-form',
+          'ext' => false,
+        ),
+        'io-xdr' => 
+        array (
+          'path' => 'io/io-xdr-min.js',
+          'requires' => 
+          array (
+            0 => 'io-base',
+          ),
+          'type' => 'js',
+          'name' => 'io-xdr',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'io',
+      'requires' => 
+      array (
+      ),
+    ),
+    'console' => 
+    array (
+      'path' => 'console/console-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'substitute',
+        2 => 'skin-sam-console',
+        3 => 'skin-sam-console',
+      ),
+      'type' => 'js',
+      'name' => 'console',
+      'ext' => false,
+    ),
+    'attribute' => 
+    array (
+      'path' => 'attribute/attribute-min.js',
+      'requires' => 
+      array (
+        0 => 'event-custom',
+      ),
+      'type' => 'js',
+      'name' => 'attribute',
+      'ext' => false,
+    ),
+    'anim-easing' => 
+    array (
+      'path' => 'anim/anim-easing-min.js',
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'type' => 'js',
+      'name' => 'anim-easing',
+      'ext' => false,
+    ),
+    'profiler' => 
+    array (
+      'path' => 'profiler/profiler-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'profiler',
+      'ext' => false,
+    ),
+    'cache' => 
+    array (
+      'path' => 'cache/cache-min.js',
+      'requires' => 
+      array (
+        0 => 'plugin',
+      ),
+      'type' => 'js',
+      'name' => 'cache',
+      'ext' => false,
+    ),
+    'node-style' => 
+    array (
+      'path' => 'node/node-style-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-style',
+        1 => 'node-base',
+      ),
+      'type' => 'js',
+      'name' => 'node-style',
+      'ext' => false,
+    ),
+    'io-queue' => 
+    array (
+      'path' => 'io/io-queue-min.js',
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'queue-promote',
+      ),
+      'type' => 'js',
+      'name' => 'io-queue',
+      'ext' => false,
+    ),
+    'loader' => 
+    array (
+      '_provides' => 
+      array (
+        'loader' => true,
+      ),
+      'path' => 'loader/loader-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'requires' => 
+      array (
+        0 => 'get',
+      ),
+      'type' => 'js',
+      'name' => 'loader',
+      'ext' => false,
+    ),
+    'plugin' => 
+    array (
+      'path' => 'plugin/plugin-min.js',
+      'requires' => 
+      array (
+        0 => 'base',
+      ),
+      'type' => 'js',
+      'name' => 'plugin',
+      'ext' => false,
+    ),
+    'base' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'base-base',
+        1 => 'base-build',
+      ),
+      'path' => 'base/base-min.js',
+      'rollup' => 1,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'base-base' => 
+        array (
+          'path' => 'base/base-base-min.js',
+          'requires' => 
+          array (
+            0 => 'attribute',
+          ),
+          'type' => 'js',
+          'name' => 'base-base',
+          'ext' => false,
+        ),
+        'base-build' => 
+        array (
+          'path' => 'base/base-build-min.js',
+          'requires' => 
+          array (
+            0 => 'base-base',
+          ),
+          'type' => 'js',
+          'name' => 'base-build',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'base',
+      'requires' => 
+      array (
+      ),
+    ),
+    'datasource-jsonschema' => 
+    array (
+      'path' => 'datasource/datasource-jsonschema-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-json',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-jsonschema',
+      'ext' => false,
+    ),
+    'datatype-number' => 
+    array (
+      'path' => 'datatype/datatype-number-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'datatype-number',
+      'ext' => false,
+    ),
+    'event-simulate' => 
+    array (
+      'path' => 'event-simulate/event-simulate-min.js',
+      'requires' => 
+      array (
+        0 => 'event',
+      ),
+      'type' => 'js',
+      'name' => 'event-simulate',
+      'ext' => false,
+    ),
+    'dataschema-base' => 
+    array (
+      'path' => 'dataschema/dataschema-base-min.js',
+      'requires' => 
+      array (
+        0 => 'base',
+      ),
+      'type' => 'js',
+      'name' => 'dataschema-base',
+      'ext' => false,
+    ),
+    'widget-position' => 
+    array (
+      'path' => 'widget/widget-position-min.js',
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'widget',
+      ),
+      'type' => 'js',
+      'name' => 'widget-position',
+      'ext' => false,
+    ),
+    'dom' => 
+    array (
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'path' => 'dom/dom-min.js',
+      'supersedes' => 
+      array (
+        0 => 'selector-native',
+        1 => 'dom-screen',
+        2 => 'dom-base',
+        3 => 'dom-style',
+        4 => 'selector',
+      ),
+      'submodules' => 
+      array (
+        'selector-native' => 
+        array (
+          'path' => 'dom/selector-native-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'type' => 'js',
+          'name' => 'selector-native',
+          'ext' => false,
+        ),
+        'dom-screen' => 
+        array (
+          'path' => 'dom/dom-screen-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-base',
+            1 => 'dom-style',
+          ),
+          'type' => 'js',
+          'name' => 'dom-screen',
+          'ext' => false,
+        ),
+        'dom-base' => 
+        array (
+          'path' => 'dom/dom-base-min.js',
+          'requires' => 
+          array (
+            0 => 'oop',
+          ),
+          'type' => 'js',
+          'name' => 'dom-base',
+          'ext' => false,
+        ),
+        'dom-style' => 
+        array (
+          'path' => 'dom/dom-style-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'type' => 'js',
+          'name' => 'dom-style',
+          'ext' => false,
+        ),
+        'selector' => 
+        array (
+          'path' => 'dom/selector-min.js',
+          'requires' => 
+          array (
+            0 => 'dom-base',
+          ),
+          'type' => 'js',
+          'name' => 'selector',
+          'ext' => false,
+        ),
+      ),
+      'type' => 'js',
+      'plugins' => 
+      array (
+        'selector-css3' => 
+        array (
+          'path' => 'dom/selector-css3-min.js',
+          'requires' => 
+          array (
+            0 => 'selector',
+            1 => 'dom',
+            2 => 'dom',
+          ),
+          'type' => 'js',
+          'name' => 'selector-css3',
+          'ext' => false,
+        ),
+      ),
+      'ext' => false,
+      'name' => 'dom',
+      'rollup' => 4,
+    ),
+    'node-screen' => 
+    array (
+      'path' => 'node/node-screen-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-screen',
+        1 => 'node-base',
+      ),
+      'type' => 'js',
+      'name' => 'node-screen',
+      'ext' => false,
+    ),
+    'io-form' => 
+    array (
+      'path' => 'io/io-form-min.js',
+      'requires' => 
+      array (
+        0 => 'io-base',
+        1 => 'node',
+      ),
+      'type' => 'js',
+      'name' => 'io-form',
+      'ext' => false,
+    ),
+    'dd' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'dd-drop-plugin',
+        1 => 'dd-constrain',
+        2 => 'dd-proxy',
+        3 => 'dd-scroll',
+        4 => 'dd-ddm',
+        5 => 'dd-ddm-drop',
+        6 => 'dd-ddm-base',
+        7 => 'dd-drag',
+        8 => 'dd-plugin',
+        9 => 'dd-drop',
+      ),
+      'path' => 'dd/dd-min.js',
+      'rollup' => 4,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'dd-drop-plugin' => 
+        array (
+          'path' => 'dd/dd-drop-plugin-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-drop',
+          ),
+          'type' => 'js',
+          'name' => 'dd-drop-plugin',
+          'ext' => false,
+        ),
+        'dd-constrain' => 
+        array (
+          'path' => 'dd/dd-constrain-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'type' => 'js',
+          'name' => 'dd-constrain',
+          'ext' => false,
+        ),
+        'dd-proxy' => 
+        array (
+          'path' => 'dd/dd-proxy-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'type' => 'js',
+          'name' => 'dd-proxy',
+          'ext' => false,
+        ),
+        'dd-scroll' => 
+        array (
+          'path' => 'dd/dd-scroll-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'type' => 'js',
+          'name' => 'dd-scroll',
+          'ext' => false,
+        ),
+        'dd-ddm' => 
+        array (
+          'path' => 'dd/dd-ddm-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-ddm-base',
+          ),
+          'type' => 'js',
+          'name' => 'dd-ddm',
+          'ext' => false,
+        ),
+        'dd-ddm-drop' => 
+        array (
+          'path' => 'dd/dd-ddm-drop-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-ddm',
+          ),
+          'type' => 'js',
+          'name' => 'dd-ddm-drop',
+          'ext' => false,
+        ),
+        'dd-ddm-base' => 
+        array (
+          'path' => 'dd/dd-ddm-base-min.js',
+          'requires' => 
+          array (
+            0 => 'node',
+            1 => 'base',
+          ),
+          'type' => 'js',
+          'name' => 'dd-ddm-base',
+          'ext' => false,
+        ),
+        'dd-drag' => 
+        array (
+          'path' => 'dd/dd-drag-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-ddm-base',
+          ),
+          'type' => 'js',
+          'name' => 'dd-drag',
+          'ext' => false,
+        ),
+        'dd-plugin' => 
+        array (
+          'path' => 'dd/dd-plugin-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-drag',
+          ),
+          'type' => 'js',
+          'optional' => 
+          array (
+            0 => 'dd-constrain',
+            1 => 'dd-proxy',
+          ),
+          'name' => 'dd-plugin',
+          'ext' => false,
+        ),
+        'dd-drop' => 
+        array (
+          'path' => 'dd/dd-drop-min.js',
+          'requires' => 
+          array (
+            0 => 'dd-ddm-drop',
+          ),
+          'type' => 'js',
+          'name' => 'dd-drop',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'dd',
+      'requires' => 
+      array (
+      ),
+    ),
+    'base-base' => 
+    array (
+      'path' => 'base/base-base-min.js',
+      'requires' => 
+      array (
+        0 => 'attribute',
+      ),
+      'type' => 'js',
+      'name' => 'base-base',
+      'ext' => false,
+    ),
+    'skin-sam-widget-position' => 
+    array (
+      'after' => 
+      array (
+        0 => 'cssreset',
+        1 => 'cssfonts',
+        2 => 'cssgrids',
+        3 => 'cssreset-context',
+        4 => 'cssfonts-context',
+        5 => 'cssgrids-context',
+      ),
+      'path' => 'widget/assets/skins/sam/widget-position.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'skin-sam-widget-position',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dd-ddm-drop' => 
+    array (
+      'path' => 'dd/dd-ddm-drop-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-ddm',
+      ),
+      'type' => 'js',
+      'name' => 'dd-ddm-drop',
+      'ext' => false,
+    ),
+    'slider' => 
+    array (
+      'path' => 'slider/slider-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'dd-constrain',
+        2 => 'skin-sam-slider',
+        3 => 'skin-sam-slider',
+      ),
+      'type' => 'js',
+      'name' => 'slider',
+      'ext' => false,
+    ),
+    'substitute' => 
+    array (
+      'path' => 'substitute/substitute-min.js',
+      'type' => 'js',
+      'ext' => false,
+      'optional' => 
+      array (
+        0 => 'dump',
+      ),
+      'name' => 'substitute',
+      'requires' => 
+      array (
+      ),
+    ),
+    'widget-stack' => 
+    array (
+      'path' => 'widget/widget-stack-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'widget',
+        1 => 'skin-sam-widget-stack',
+        2 => 'widget',
+        3 => 'skin-sam-widget-stack',
+      ),
+      'type' => 'js',
+      'name' => 'widget-stack',
+      'ext' => false,
+    ),
+    'base-build' => 
+    array (
+      'path' => 'base/base-build-min.js',
+      'requires' => 
+      array (
+        0 => 'base-base',
+      ),
+      'type' => 'js',
+      'name' => 'base-build',
+      'ext' => false,
+    ),
+    'node-menunav' => 
+    array (
+      'path' => 'node-menunav/node-menunav-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'classnamemanager',
+        2 => 'plugin',
+        3 => 'node-focusmanager',
+        4 => 'skin-sam-node-menunav',
+        5 => 'skin-sam-node-menunav',
+      ),
+      'type' => 'js',
+      'name' => 'node-menunav',
+      'ext' => false,
+    ),
+    'selector-native' => 
+    array (
+      'path' => 'dom/selector-native-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-base',
+      ),
+      'type' => 'js',
+      'name' => 'selector-native',
+      'ext' => false,
+    ),
+    'widget' => 
+    array (
+      'path' => 'widget/widget-min.js',
+      'skinnable' => true,
+      'requires' => 
+      array (
+        0 => 'base',
+        1 => 'node',
+        2 => 'classnamemanager',
+        3 => 'skin-sam-widget',
+        4 => 'skin-sam-widget',
+      ),
+      'type' => 'js',
+      'name' => 'widget',
+      'ext' => false,
+      'plugins' => 
+      array (
+        'widget-stack' => 
+        array (
+          'path' => 'widget/widget-stack-min.js',
+          'skinnable' => true,
+          'requires' => 
+          array (
+            0 => 'widget',
+            1 => 'skin-sam-widget-stack',
+            2 => 'widget',
+            3 => 'skin-sam-widget-stack',
+          ),
+          'type' => 'js',
+          'name' => 'widget-stack',
+          'ext' => false,
+        ),
+        'widget-position' => 
+        array (
+          'path' => 'widget/widget-position-min.js',
+          'requires' => 
+          array (
+            0 => 'widget',
+            1 => 'widget',
+          ),
+          'type' => 'js',
+          'name' => 'widget-position',
+          'ext' => false,
+        ),
+        'widget-stdmod' => 
+        array (
+          'path' => 'widget/widget-stdmod-min.js',
+          'requires' => 
+          array (
+            0 => 'widget',
+            1 => 'widget',
+          ),
+          'type' => 'js',
+          'name' => 'widget-stdmod',
+          'ext' => false,
+        ),
+        'widget-position-ext' => 
+        array (
+          'path' => 'widget/widget-position-ext-min.js',
+          'requires' => 
+          array (
+            0 => 'widget-position',
+            1 => 'widget',
+            2 => 'widget',
+          ),
+          'type' => 'js',
+          'name' => 'widget-position-ext',
+          'ext' => false,
+        ),
+      ),
+    ),
+    'cssreset' => 
+    array (
+      'path' => 'cssreset/reset-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssreset',
+      'requires' => 
+      array (
+      ),
+    ),
+    'json-stringify' => 
+    array (
+      '_provides' => 
+      array (
+        'json-stringify' => true,
+      ),
+      'path' => 'json/json-stringify-min.js',
+      '_supersedes' => 
+      array (
+      ),
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'json-stringify',
+      'ext' => false,
+      'expanded' => 
+      array (
+        0 => 'yui-base',
+      ),
+    ),
+    'anim-scroll' => 
+    array (
+      'path' => 'anim/anim-scroll-min.js',
+      'requires' => 
+      array (
+        0 => 'anim-base',
+      ),
+      'type' => 'js',
+      'name' => 'anim-scroll',
+      'ext' => false,
+    ),
+    'dd-scroll' => 
+    array (
+      'path' => 'dd/dd-scroll-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'type' => 'js',
+      'name' => 'dd-scroll',
+      'ext' => false,
+    ),
+    'datasource-textschema' => 
+    array (
+      'path' => 'datasource/datasource-textschema-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-text',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-textschema',
+      'ext' => false,
+    ),
+    'datatype-xml' => 
+    array (
+      'path' => 'datatype/datatype-xml-min.js',
+      'requires' => 
+      array (
+        0 => 'yui-base',
+      ),
+      'type' => 'js',
+      'name' => 'datatype-xml',
+      'ext' => false,
+    ),
+    'dd-proxy' => 
+    array (
+      'path' => 'dd/dd-proxy-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'type' => 'js',
+      'name' => 'dd-proxy',
+      'ext' => false,
+    ),
+    'dd-constrain' => 
+    array (
+      'path' => 'dd/dd-constrain-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-drag',
+      ),
+      'type' => 'js',
+      'name' => 'dd-constrain',
+      'ext' => false,
+    ),
+    'dd-ddm-base' => 
+    array (
+      'path' => 'dd/dd-ddm-base-min.js',
+      'requires' => 
+      array (
+        0 => 'node',
+        1 => 'base',
+      ),
+      'type' => 'js',
+      'name' => 'dd-ddm-base',
+      'ext' => false,
+    ),
+    'cssreset-context' => 
+    array (
+      'path' => 'cssreset/reset-context-min.css',
+      'type' => 'css',
+      'ext' => false,
+      'name' => 'cssreset-context',
+      'requires' => 
+      array (
+      ),
+    ),
+    'dataschema-xml' => 
+    array (
+      'path' => 'dataschema/dataschema-xml-min.js',
+      'requires' => 
+      array (
+        0 => 'dataschema-base',
+      ),
+      'type' => 'js',
+      'name' => 'dataschema-xml',
+      'ext' => false,
+    ),
+    'node-base' => 
+    array (
+      'path' => 'node/node-base-min.js',
+      'requires' => 
+      array (
+        0 => 'dom-base',
+        1 => 'base',
+        2 => 'selector',
+      ),
+      'type' => 'js',
+      'name' => 'node-base',
+      'ext' => false,
+    ),
+    'queue' => 
+    array (
+      'requires' => 
+      array (
+      ),
+      'path' => 'queue/queue-min.js',
+      'supersedes' => 
+      array (
+        0 => 'queue-base',
+        1 => 'queue-run',
+      ),
+      'submodules' => 
+      array (
+        'queue-base' => 
+        array (
+          '_provides' => 
+          array (
+            'queue-base' => true,
+          ),
+          'path' => 'queue/queue-base-min.js',
+          '_supersedes' => 
+          array (
+          ),
+          'requires' => 
+          array (
+            0 => 'yui-base',
+          ),
+          'type' => 'js',
+          'name' => 'queue-base',
+          'ext' => false,
+        ),
+        'queue-run' => 
+        array (
+          'path' => 'queue/queue-run-min.js',
+          'requires' => 
+          array (
+            0 => 'queue-base',
+            1 => 'event-custom',
+          ),
+          'type' => 'js',
+          'name' => 'queue-run',
+          'ext' => false,
+        ),
+      ),
+      'type' => 'js',
+      'plugins' => 
+      array (
+        'queue-promote' => 
+        array (
+          'path' => 'queue/queue-promote-min.js',
+          'requires' => 
+          array (
+            0 => 'queue',
+            1 => 'queue',
+          ),
+          'type' => 'js',
+          'name' => 'queue-promote',
+          'ext' => false,
+        ),
+      ),
+      'ext' => false,
+      'name' => 'queue',
+      'rollup' => 1,
+    ),
+    'datasource-arrayschema' => 
+    array (
+      'path' => 'datasource/datasource-arrayschema-min.js',
+      'requires' => 
+      array (
+        0 => 'datasource-local',
+        1 => 'plugin',
+        2 => 'dataschema-array',
+      ),
+      'type' => 'js',
+      'name' => 'datasource-arrayschema',
+      'ext' => false,
+    ),
+    'cssgrids' => 
+    array (
+      'path' => 'cssgrids/grids-min.css',
+      'requires' => 
+      array (
+        0 => 'cssfonts',
+      ),
+      'type' => 'css',
+      'optional' => 
+      array (
+        0 => 'cssreset',
+      ),
+      'name' => 'cssgrids',
+      'ext' => false,
+    ),
+    'dd-drag' => 
+    array (
+      'path' => 'dd/dd-drag-min.js',
+      'requires' => 
+      array (
+        0 => 'dd-ddm-base',
+      ),
+      'type' => 'js',
+      'name' => 'dd-drag',
+      'ext' => false,
+    ),
+    'io-xdr' => 
+    array (
+      'path' => 'io/io-xdr-min.js',
+      'requires' => 
+      array (
+        0 => 'io-base',
+      ),
+      'type' => 'js',
+      'name' => 'io-xdr',
+      'ext' => false,
+    ),
+    'datasource' => 
+    array (
+      'supersedes' => 
+      array (
+        0 => 'datasource-cache',
+        1 => 'datasource-xmlschema',
+        2 => 'datasource-arrayschema',
+        3 => 'datasource-function',
+        4 => 'datasource-local',
+        5 => 'datasource-jsonschema',
+        6 => 'datasource-polling',
+        7 => 'datasource-textschema',
+        8 => 'datasource-scriptnode',
+        9 => 'datasource-xhr',
+      ),
+      'path' => 'datasource/datasource-min.js',
+      'rollup' => 4,
+      'type' => 'js',
+      'ext' => false,
+      'submodules' => 
+      array (
+        'datasource-cache' => 
+        array (
+          'path' => 'datasource/datasource-cache-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'cache',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-cache',
+          'ext' => false,
+        ),
+        'datasource-xmlschema' => 
+        array (
+          'path' => 'datasource/datasource-xmlschema-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-xml',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-xmlschema',
+          'ext' => false,
+        ),
+        'datasource-arrayschema' => 
+        array (
+          'path' => 'datasource/datasource-arrayschema-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-array',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-arrayschema',
+          'ext' => false,
+        ),
+        'datasource-function' => 
+        array (
+          'path' => 'datasource/datasource-function-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-function',
+          'ext' => false,
+        ),
+        'datasource-local' => 
+        array (
+          'path' => 'datasource/datasource-local-min.js',
+          'requires' => 
+          array (
+            0 => 'base',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-local',
+          'ext' => false,
+        ),
+        'datasource-jsonschema' => 
+        array (
+          'path' => 'datasource/datasource-jsonschema-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-json',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-jsonschema',
+          'ext' => false,
+        ),
+        'datasource-polling' => 
+        array (
+          'path' => 'datasource/datasource-polling-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-polling',
+          'ext' => false,
+        ),
+        'datasource-textschema' => 
+        array (
+          'path' => 'datasource/datasource-textschema-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'plugin',
+            2 => 'dataschema-text',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-textschema',
+          'ext' => false,
+        ),
+        'datasource-scriptnode' => 
+        array (
+          'path' => 'datasource/datasource-scriptnode-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'get',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-scriptnode',
+          'ext' => false,
+        ),
+        'datasource-xhr' => 
+        array (
+          'path' => 'datasource/datasource-xhr-min.js',
+          'requires' => 
+          array (
+            0 => 'datasource-local',
+            1 => 'io-base',
+          ),
+          'type' => 'js',
+          'name' => 'datasource-xhr',
+          'ext' => false,
+        ),
+      ),
+      'name' => 'datasource',
+      'requires' => 
+      array (
+      ),
+    ),
+    'event-custom' => 
+    array (
+      'path' => 'event-custom/event-custom-min.js',
+      'requires' => 
+      array (
+        0 => 'oop',
+      ),
+      'type' => 'js',
+      'name' => 'event-custom',
+      'ext' => false,
+    ),
+  ),
+); ?>
\ No newline at end of file
diff --git a/lib/yui/phploader/lib/meta/json_2.7.0.txt b/lib/yui/phploader/lib/meta/json_2.7.0.txt
new file mode 100644 (file)
index 0000000..3ce6d3a
--- /dev/null
@@ -0,0 +1 @@
+{"base":"http://yui.yahooapis.com/2.7.0/build/","moduleInfo":{"animation":{"path":"animation/animation-min.js","requires":["dom","event"],"type":"js"},"autocomplete":{"optional":["connection","animation"],"path":"autocomplete/autocomplete-min.js","requires":["dom","event","datasource"],"skinnable":true,"type":"js"},"base":{"after":["reset","fonts","grids","reset-fonts","reset-fonts-grids"],"path":"base/base-min.css","type":"css"},"button":{"optional":["menu"],"path":"button/button-min.js","requires":["element"],"skinnable":true,"type":"js"},"calendar":{"path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true,"type":"js"},"carousel":{"optional":["animation"],"path":"carousel/carousel-min.js","requires":["element"],"skinnable":true,"type":"js"},"charts":{"path":"charts/charts-min.js","requires":["element","json","datasource"],"type":"js"},"colorpicker":{"optional":["animation"],"path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"skinnable":true,"type":"js"},"connection":{"path":"connection/connection-min.js","requires":["event"],"type":"js"},"container":{"optional":["dragdrop","animation","connection"],"path":"container/container-min.js","requires":["dom","event"],"skinnable":true,"supersedes":["containercore"],"type":"js"},"containercore":{"path":"container/container_core-min.js","pkg":"container","requires":["dom","event"],"type":"js"},"cookie":{"path":"cookie/cookie-min.js","requires":["yahoo"],"type":"js"},"datasource":{"optional":["connection"],"path":"datasource/datasource-min.js","requires":["event"],"type":"js"},"datatable":{"optional":["calendar","dragdrop","paginator"],"path":"datatable/datatable-min.js","requires":["element","datasource"],"skinnable":true,"type":"js"},"dom":{"path":"dom/dom-min.js","requires":["yahoo"],"type":"js"},"dragdrop":{"path":"dragdrop/dragdrop-min.js","requires":["dom","event"],"type":"js"},"editor":{"optional":["animation","dragdrop"],"path":"editor/editor-min.js","requires":["menu","element","button"],"skinnable":true,"supersedes":["simpleeditor"],"type":"js"},"element":{"path":"element/element-min.js","requires":["dom","event"],"type":"js"},"event":{"path":"event/event-min.js","requires":["yahoo"],"type":"js"},"fonts":{"path":"fonts/fonts-min.css","type":"css"},"get":{"path":"get/get-min.js","requires":["yahoo"],"type":"js"},"grids":{"optional":["reset"],"path":"grids/grids-min.css","requires":["fonts"],"type":"css"},"history":{"path":"history/history-min.js","requires":["event"],"type":"js"},"imagecropper":{"path":"imagecropper/imagecropper-min.js","requires":["dom","event","dragdrop","element","resize"],"skinnable":true,"type":"js"},"imageloader":{"path":"imageloader/imageloader-min.js","requires":["event","dom"],"type":"js"},"json":{"path":"json/json-min.js","requires":["yahoo"],"type":"js"},"layout":{"optional":["animation","dragdrop","resize","selector"],"path":"layout/layout-min.js","requires":["dom","event","element"],"skinnable":true,"type":"js"},"logger":{"optional":["dragdrop"],"path":"logger/logger-min.js","requires":["event","dom"],"skinnable":true,"type":"js"},"menu":{"path":"menu/menu-min.js","requires":["containercore"],"skinnable":true,"type":"js"},"paginator":{"path":"paginator/paginator-min.js","requires":["element"],"skinnable":true,"type":"js"},"profiler":{"path":"profiler/profiler-min.js","requires":["yahoo"],"type":"js"},"profilerviewer":{"path":"profilerviewer/profilerviewer-min.js","requires":["profiler","yuiloader","element"],"skinnable":true,"type":"js"},"reset":{"path":"reset/reset-min.css","type":"css"},"reset-fonts":{"path":"reset-fonts/reset-fonts.css","rollup":2,"supersedes":["reset","fonts"],"type":"css"},"reset-fonts-grids":{"path":"reset-fonts-grids/reset-fonts-grids.css","rollup":4,"supersedes":["reset","fonts","grids","reset-fonts"],"type":"css"},"resize":{"optional":["animation"],"path":"resize/resize-min.js","requires":["dom","event","dragdrop","element"],"skinnable":true,"type":"js"},"selector":{"path":"selector/selector-min.js","requires":["yahoo","dom"],"type":"js"},"simpleeditor":{"optional":["containercore","menu","button","animation","dragdrop"],"path":"editor/simpleeditor-min.js","pkg":"editor","requires":["element"],"skinnable":true,"type":"js"},"slider":{"optional":["animation"],"path":"slider/slider-min.js","requires":["dragdrop"],"skinnable":true,"type":"js"},"stylesheet":{"path":"stylesheet/stylesheet-min.js","requires":["yahoo"],"type":"js"},"tabview":{"optional":["connection"],"path":"tabview/tabview-min.js","requires":["element"],"skinnable":true,"type":"js"},"treeview":{"optional":["json"],"path":"treeview/treeview-min.js","requires":["event","dom"],"skinnable":true,"type":"js"},"uploader":{"path":"uploader/uploader.js","requires":["element"],"type":"js"},"utilities":{"path":"utilities/utilities.js","rollup":8,"supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"type":"js"},"yahoo":{"path":"yahoo/yahoo-min.js","type":"js"},"yahoo-dom-event":{"path":"yahoo-dom-event/yahoo-dom-event.js","rollup":3,"supersedes":["yahoo","event","dom"],"type":"js"},"yuiloader":{"path":"yuiloader/yuiloader-min.js","supersedes":["yahoo","get"],"type":"js"},"yuiloader-dom-event":{"path":"yuiloader-dom-event/yuiloader-dom-event.js","rollup":5,"supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"type":"js"},"yuitest":{"path":"yuitest/yuitest-min.js","requires":["logger"],"skinnable":true,"type":"js"}},"skin":{"after":["reset","fonts","grids","base"],"base":"assets/skins/","defaultSkin":"sam","path":"skin.css","rollup":3}}
diff --git a/lib/yui/phploader/lib/meta/json_2.8.0.txt b/lib/yui/phploader/lib/meta/json_2.8.0.txt
new file mode 100644 (file)
index 0000000..dc16fe5
--- /dev/null
@@ -0,0 +1 @@
+{"base":"http://yui.yahooapis.com/2.8.0/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event","datasource"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids","reset-fonts","reset-fonts-grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"supersedes":["datemeth"],"skinnable":true},"carousel":{"type":"js","path":"carousel/carousel-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-min.js","requires":["element","json","datasource","swf"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"],"supersedes":["connectioncore"]},"connectioncore":{"type":"js","path":"connection/connection_core-min.js","requires":["event"],"pkg":"connection"},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop","paginator"],"skinnable":true},"datemath":{"type":"js","path":"datemath/datemath-min.js","requires":["yahoo"]},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"supersedes":["simpleeditor"],"skinnable":true},"element":{"type":"js","path":"element/element-min.js","requires":["dom","event"],"optional":["event-mouseenter","event-delegate"]},"element-delegate":{"type":"js","path":"element-delegate/element-delegate-min.js","requires":["element"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"event-simulate":{"type":"js","path":"event-simulate/event-simulate-min.js","requires":["event"]},"event-delegate":{"type":"js","path":"event-delegate/event-delegate-min.js","requires":["event"],"optional":["selector"]},"event-mouseenter":{"type":"js","path":"event-mouseenter/event-mouseenter-min.js","requires":["dom","event"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-min.js","requires":["dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-min.js","requires":["element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"paginator":{"type":"js","path":"paginator/paginator-min.js","requires":["element"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"progressbar":{"type":"js","path":"progressbar/progressbar-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-min.js","requires":["dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"],"skinnable":true},"storage":{"type":"js","path":"storage/storage-min.js","requires":["yahoo","event","cookie"],"optional":["swfstore"]},"stylesheet":{"type":"js","path":"stylesheet/stylesheet-min.js","requires":["yahoo"]},"swf":{"type":"js","path":"swf/swf-min.js","requires":["element"],"supersedes":["swfdetect"]},"swfdetect":{"type":"js","path":"swfdetect/swfdetect-min.js","requires":["yahoo"]},"swfstore":{"type":"js","path":"swfstore/swfstore-min.js","requires":["element","cookie","swf"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event","dom"],"optional":["json","animation","calendar"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-min.js","requires":["element"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"optional":["event-simulate"],"skinnable":true}}}
diff --git a/lib/yui/phploader/lib/meta/json_2.8.0r4.txt b/lib/yui/phploader/lib/meta/json_2.8.0r4.txt
new file mode 100644 (file)
index 0000000..4e87ccd
--- /dev/null
@@ -0,0 +1 @@
+{"base":"http://yui.yahooapis.com/2.8.0r4/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event","datasource"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids","reset-fonts","reset-fonts-grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"supersedes":["datemath"],"skinnable":true},"carousel":{"type":"js","path":"carousel/carousel-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-min.js","requires":["element","json","datasource","swf"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"],"supersedes":["connectioncore"]},"connectioncore":{"type":"js","path":"connection/connection_core-min.js","requires":["event"],"pkg":"connection"},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop","paginator"],"skinnable":true},"datemath":{"type":"js","path":"datemath/datemath-min.js","requires":["yahoo"]},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"supersedes":["simpleeditor"],"skinnable":true},"element":{"type":"js","path":"element/element-min.js","requires":["dom","event"],"optional":["event-mouseenter","event-delegate"]},"element-delegate":{"type":"js","path":"element-delegate/element-delegate-min.js","requires":["element"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"event-simulate":{"type":"js","path":"event-simulate/event-simulate-min.js","requires":["event"]},"event-delegate":{"type":"js","path":"event-delegate/event-delegate-min.js","requires":["event"],"optional":["selector"]},"event-mouseenter":{"type":"js","path":"event-mouseenter/event-mouseenter-min.js","requires":["dom","event"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-min.js","requires":["dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-min.js","requires":["element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"paginator":{"type":"js","path":"paginator/paginator-min.js","requires":["element"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"progressbar":{"type":"js","path":"progressbar/progressbar-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-min.js","requires":["dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"],"skinnable":true},"storage":{"type":"js","path":"storage/storage-min.js","requires":["yahoo","event","cookie"],"optional":["swfstore"]},"stylesheet":{"type":"js","path":"stylesheet/stylesheet-min.js","requires":["yahoo"]},"swf":{"type":"js","path":"swf/swf-min.js","requires":["element"],"supersedes":["swfdetect"]},"swfdetect":{"type":"js","path":"swfdetect/swfdetect-min.js","requires":["yahoo"]},"swfstore":{"type":"js","path":"swfstore/swfstore-min.js","requires":["element","cookie","swf"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event","dom"],"optional":["json","animation","calendar"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-min.js","requires":["element"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"optional":["event-simulate"],"skinnable":true}}}
diff --git a/lib/yui/phploader/lib/meta/json_3.0.0.txt b/lib/yui/phploader/lib/meta/json_3.0.0.txt
new file mode 100644 (file)
index 0000000..940b713
--- /dev/null
@@ -0,0 +1 @@
+{"base":"http://yui.yahooapis.com/3.0.0/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"]},"moduleInfo":{"dom":{"requires":["oop"],"submodules":{"dom-base":{"requires":["oop"],"path":"dom/dom-base-min.js","name":"dom-base","type":"js","ext":false,"expanded":["oop","yui-base"],"provides":{"dom-base":true}},"dom-style":{"requires":["dom-base"],"path":"dom/dom-style-min.js","name":"dom-style","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"dom-style":true}},"dom-screen":{"requires":["dom-base","dom-style"],"path":"dom/dom-screen-min.js","name":"dom-screen","type":"js","ext":false,"expanded":["dom-base","oop","yui-base","dom-style"],"provides":{"dom-screen":true}},"selector-native":{"requires":["dom-base"],"path":"dom/selector-native-min.js","name":"selector-native","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"selector-native":true}},"selector-css2":{"requires":["selector-native"],"path":"dom/selector-css2-min.js","name":"selector-css2","type":"js","ext":false,"expanded":["selector-native","dom-base","oop","yui-base"],"provides":{"selector-css2":true}},"selector":{"requires":["dom-base"],"path":"dom/selector-min.js","name":"selector","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"selector":true}}},"plugins":{"selector-css3":{"requires":["selector-css2"],"path":"dom/selector-css3-min.js","name":"selector-css3","type":"js","ext":false}},"name":"dom","type":"js","path":"dom/dom-min.js","ext":false,"supersedes":["dom-base","dom-style","dom-screen","selector-native","selector-css2","selector"],"rollup":4,"expanded":["oop","yui-base","dom-base","dom-style","dom-screen","selector-native","selector-css2","selector"],"provides":{"dom-base":true,"dom-style":true,"dom-screen":true,"selector-native":true,"selector-css2":true,"selector":true,"dom":true}},"dom-base":{"requires":["oop"],"path":"dom/dom-base-min.js","name":"dom-base","type":"js","ext":false,"expanded":["oop","yui-base"],"provides":{"dom-base":true}},"dom-style":{"requires":["dom-base"],"path":"dom/dom-style-min.js","name":"dom-style","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"dom-style":true}},"dom-screen":{"requires":["dom-base","dom-style"],"path":"dom/dom-screen-min.js","name":"dom-screen","type":"js","ext":false,"expanded":["dom-base","oop","yui-base","dom-style"],"provides":{"dom-screen":true}},"selector-native":{"requires":["dom-base"],"path":"dom/selector-native-min.js","name":"selector-native","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"selector-native":true}},"selector-css2":{"requires":["selector-native"],"path":"dom/selector-css2-min.js","name":"selector-css2","type":"js","ext":false,"expanded":["selector-native","dom-base","oop","yui-base"],"provides":{"selector-css2":true}},"selector":{"requires":["dom-base"],"path":"dom/selector-min.js","name":"selector","type":"js","ext":false,"expanded":["dom-base","oop","yui-base"],"provides":{"selector":true}},"selector-css3":{"requires":["selector-css2"],"path":"dom/selector-css3-min.js","name":"selector-css3","type":"js","ext":false},"node":{"requires":["dom","event-base"],"submodules":{"node-base":{"requires":["dom-base","selector-css2","event-base"],"path":"node/node-base-min.js","name":"node-base","type":"js","ext":false,"expanded":["dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-base":true}},"node-style":{"requires":["dom-style","node-base"],"path":"node/node-style-min.js","name":"node-style","type":"js","ext":false,"expanded":["dom-style","dom-base","oop","yui-base","node-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-style":true}},"node-screen":{"requires":["dom-screen","node-base"],"path":"node/node-screen-min.js","name":"node-screen","type":"js","ext":false,"expanded":["dom-screen","dom-base","oop","yui-base","dom-style","node-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-screen":true}},"node-pluginhost":{"requires":["node-base","pluginhost"],"path":"node/node-pluginhost-min.js","name":"node-pluginhost","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later","pluginhost"],"provides":{"node-pluginhost":true}},"node-event-delegate":{"requires":["node-base","event-delegate"],"path":"node/node-event-delegate-min.js","name":"node-event-delegate","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later","event-delegate"],"provides":{"node-event-delegate":true}}},"plugins":{"node-event-simulate":{"requires":["node-base","event-simulate"],"path":"node/node-event-simulate-min.js","name":"node-event-simulate","type":"js","ext":false}},"name":"node","type":"js","path":"node/node-min.js","ext":false,"supersedes":["node-base","node-style","node-screen","node-pluginhost","node-event-delegate"],"rollup":4,"expanded":["dom","oop","yui-base","dom-base","dom-style","dom-screen","selector-native","selector-css2","selector","event-base","event-custom-base","yui-later","node-base","node-style","node-screen","node-pluginhost","pluginhost","node-event-delegate","event-delegate"],"provides":{"node-base":true,"node-style":true,"node-screen":true,"node-pluginhost":true,"node-event-delegate":true,"node":true}},"node-base":{"requires":["dom-base","selector-css2","event-base"],"path":"node/node-base-min.js","name":"node-base","type":"js","ext":false,"expanded":["dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-base":true}},"node-style":{"requires":["dom-style","node-base"],"path":"node/node-style-min.js","name":"node-style","type":"js","ext":false,"expanded":["dom-style","dom-base","oop","yui-base","node-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-style":true}},"node-screen":{"requires":["dom-screen","node-base"],"path":"node/node-screen-min.js","name":"node-screen","type":"js","ext":false,"expanded":["dom-screen","dom-base","oop","yui-base","dom-style","node-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"node-screen":true}},"node-pluginhost":{"requires":["node-base","pluginhost"],"path":"node/node-pluginhost-min.js","name":"node-pluginhost","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later","pluginhost"],"provides":{"node-pluginhost":true}},"node-event-delegate":{"requires":["node-base","event-delegate"],"path":"node/node-event-delegate-min.js","name":"node-event-delegate","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later","event-delegate"],"provides":{"node-event-delegate":true}},"node-event-simulate":{"requires":["node-base","event-simulate"],"path":"node/node-event-simulate-min.js","name":"node-event-simulate","type":"js","ext":false},"anim":{"submodules":{"anim-base":{"requires":["base-base","node-style"],"path":"anim/anim-base-min.js","name":"anim-base","type":"js","ext":false},"anim-color":{"requires":["anim-base"],"path":"anim/anim-color-min.js","name":"anim-color","type":"js","ext":false},"anim-easing":{"requires":["anim-base"],"path":"anim/anim-easing-min.js","name":"anim-easing","type":"js","ext":false},"anim-scroll":{"requires":["anim-base"],"path":"anim/anim-scroll-min.js","name":"anim-scroll","type":"js","ext":false},"anim-xy":{"requires":["anim-base","node-screen"],"path":"anim/anim-xy-min.js","name":"anim-xy","type":"js","ext":false},"anim-curve":{"requires":["anim-xy"],"path":"anim/anim-curve-min.js","name":"anim-curve","type":"js","ext":false},"anim-node-plugin":{"requires":["node-pluginhost","anim-base"],"path":"anim/anim-node-plugin-min.js","name":"anim-node-plugin","type":"js","ext":false}},"name":"anim","type":"js","path":"anim/anim-min.js","ext":false,"requires":[],"supersedes":["anim-base","anim-color","anim-easing","anim-scroll","anim-xy","anim-curve","anim-node-plugin"],"rollup":4},"anim-base":{"requires":["base-base","node-style"],"path":"anim/anim-base-min.js","name":"anim-base","type":"js","ext":false},"anim-color":{"requires":["anim-base"],"path":"anim/anim-color-min.js","name":"anim-color","type":"js","ext":false},"anim-easing":{"requires":["anim-base"],"path":"anim/anim-easing-min.js","name":"anim-easing","type":"js","ext":false},"anim-scroll":{"requires":["anim-base"],"path":"anim/anim-scroll-min.js","name":"anim-scroll","type":"js","ext":false},"anim-xy":{"requires":["anim-base","node-screen"],"path":"anim/anim-xy-min.js","name":"anim-xy","type":"js","ext":false},"anim-curve":{"requires":["anim-xy"],"path":"anim/anim-curve-min.js","name":"anim-curve","type":"js","ext":false},"anim-node-plugin":{"requires":["node-pluginhost","anim-base"],"path":"anim/anim-node-plugin-min.js","name":"anim-node-plugin","type":"js","ext":false},"attribute":{"submodules":{"attribute-base":{"requires":["event-custom"],"path":"attribute/attribute-base-min.js","name":"attribute-base","type":"js","ext":false,"expanded":["event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"attribute-base":true}},"attribute-complex":{"requires":["attribute-base"],"path":"attribute/attribute-complex-min.js","name":"attribute-complex","type":"js","ext":false}},"name":"attribute","type":"js","path":"attribute/attribute-min.js","ext":false,"requires":[],"supersedes":["attribute-base","attribute-complex"],"rollup":2},"attribute-base":{"requires":["event-custom"],"path":"attribute/attribute-base-min.js","name":"attribute-base","type":"js","ext":false,"expanded":["event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"attribute-base":true}},"attribute-complex":{"requires":["attribute-base"],"path":"attribute/attribute-complex-min.js","name":"attribute-complex","type":"js","ext":false},"base":{"submodules":{"base-base":{"requires":["attribute-base"],"path":"base/base-base-min.js","name":"base-base","type":"js","ext":false,"expanded":["attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"base-base":true}},"base-build":{"requires":["base-base"],"path":"base/base-build-min.js","name":"base-build","type":"js","ext":false,"expanded":["base-base","attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"base-build":true}},"base-pluginhost":{"requires":["base-base","pluginhost"],"path":"base/base-pluginhost-min.js","name":"base-pluginhost","type":"js","ext":false,"expanded":["base-base","attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex","pluginhost"],"provides":{"base-pluginhost":true}}},"name":"base","type":"js","path":"base/base-min.js","ext":false,"requires":[],"supersedes":["base-base","base-build","base-pluginhost"],"rollup":3,"expanded":["base-base","attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex","base-build","base-pluginhost","pluginhost"],"provides":{"base-base":true,"base-build":true,"base-pluginhost":true,"base":true}},"base-base":{"requires":["attribute-base"],"path":"base/base-base-min.js","name":"base-base","type":"js","ext":false,"expanded":["attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"base-base":true}},"base-build":{"requires":["base-base"],"path":"base/base-build-min.js","name":"base-build","type":"js","ext":false,"expanded":["base-base","attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"base-build":true}},"base-pluginhost":{"requires":["base-base","pluginhost"],"path":"base/base-pluginhost-min.js","name":"base-pluginhost","type":"js","ext":false,"expanded":["base-base","attribute-base","event-custom","event-custom-base","oop","yui-base","yui-later","event-custom-complex","pluginhost"],"provides":{"base-pluginhost":true}},"cache":{"requires":["plugin"],"name":"cache","type":"js","path":"cache/cache-min.js","ext":false},"compat":{"requires":["node","dump","substitute"],"name":"compat","type":"js","path":"compat/compat-min.js","ext":false},"classnamemanager":{"requires":["yui-base"],"name":"classnamemanager","type":"js","path":"classnamemanager/classnamemanager-min.js","ext":false},"collection":{"requires":["oop"],"name":"collection","type":"js","path":"collection/collection-min.js","ext":false},"console":{"requires":["yui-log","widget","substitute","skin-sam-console","skin-sam-console","skin-sam-console"],"skinnable":true,"plugins":{"console-filters":{"requires":["plugin","console","skin-sam-console-filters","skin-sam-console-filters","skin-sam-console-filters"],"skinnable":true,"path":"console/console-filters-min.js","name":"console-filters","type":"js","ext":false}},"name":"console","type":"js","path":"console/console-min.js","ext":false},"console-filters":{"requires":["plugin","console","skin-sam-console-filters","skin-sam-console-filters","skin-sam-console-filters"],"skinnable":true,"path":"console/console-filters-min.js","name":"console-filters","type":"js","ext":false},"skin-sam-console-filters":{"name":"skin-sam-console-filters","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"console/assets/skins/sam/console-filters.css","ext":false,"requires":[]},"cookie":{"requires":["yui-base"],"name":"cookie","type":"js","path":"cookie/cookie-min.js","ext":false},"dataschema":{"submodules":{"dataschema-base":{"requires":["base"],"path":"dataschema/dataschema-base-min.js","name":"dataschema-base","type":"js","ext":false},"dataschema-array":{"requires":["dataschema-base"],"path":"dataschema/dataschema-array-min.js","name":"dataschema-array","type":"js","ext":false},"dataschema-json":{"requires":["dataschema-base","json"],"path":"dataschema/dataschema-json-min.js","name":"dataschema-json","type":"js","ext":false},"dataschema-text":{"requires":["dataschema-base"],"path":"dataschema/dataschema-text-min.js","name":"dataschema-text","type":"js","ext":false},"dataschema-xml":{"requires":["dataschema-base"],"path":"dataschema/dataschema-xml-min.js","name":"dataschema-xml","type":"js","ext":false}},"name":"dataschema","type":"js","path":"dataschema/dataschema-min.js","ext":false,"requires":[],"supersedes":["dataschema-base","dataschema-array","dataschema-json","dataschema-text","dataschema-xml"],"rollup":4},"dataschema-base":{"requires":["base"],"path":"dataschema/dataschema-base-min.js","name":"dataschema-base","type":"js","ext":false},"dataschema-array":{"requires":["dataschema-base"],"path":"dataschema/dataschema-array-min.js","name":"dataschema-array","type":"js","ext":false},"dataschema-json":{"requires":["dataschema-base","json"],"path":"dataschema/dataschema-json-min.js","name":"dataschema-json","type":"js","ext":false},"dataschema-text":{"requires":["dataschema-base"],"path":"dataschema/dataschema-text-min.js","name":"dataschema-text","type":"js","ext":false},"dataschema-xml":{"requires":["dataschema-base"],"path":"dataschema/dataschema-xml-min.js","name":"dataschema-xml","type":"js","ext":false},"datasource":{"submodules":{"datasource-local":{"requires":["base"],"path":"datasource/datasource-local-min.js","name":"datasource-local","type":"js","ext":false},"datasource-arrayschema":{"requires":["datasource-local","plugin","dataschema-array"],"path":"datasource/datasource-arrayschema-min.js","name":"datasource-arrayschema","type":"js","ext":false},"datasource-cache":{"requires":["datasource-local","cache"],"path":"datasource/datasource-cache-min.js","name":"datasource-cache","type":"js","ext":false},"datasource-function":{"requires":["datasource-local"],"path":"datasource/datasource-function-min.js","name":"datasource-function","type":"js","ext":false},"datasource-jsonschema":{"requires":["datasource-local","plugin","dataschema-json"],"path":"datasource/datasource-jsonschema-min.js","name":"datasource-jsonschema","type":"js","ext":false},"datasource-polling":{"requires":["datasource-local"],"path":"datasource/datasource-polling-min.js","name":"datasource-polling","type":"js","ext":false},"datasource-get":{"requires":["datasource-local","get"],"path":"datasource/datasource-get-min.js","name":"datasource-get","type":"js","ext":false},"datasource-textschema":{"requires":["datasource-local","plugin","dataschema-text"],"path":"datasource/datasource-textschema-min.js","name":"datasource-textschema","type":"js","ext":false},"datasource-io":{"requires":["datasource-local","io-base"],"path":"datasource/datasource-io-min.js","name":"datasource-io","type":"js","ext":false},"datasource-xmlschema":{"requires":["datasource-local","plugin","dataschema-xml"],"path":"datasource/datasource-xmlschema-min.js","name":"datasource-xmlschema","type":"js","ext":false}},"name":"datasource","type":"js","path":"datasource/datasource-min.js","ext":false,"requires":[],"supersedes":["datasource-local","datasource-arrayschema","datasource-cache","datasource-function","datasource-jsonschema","datasource-polling","datasource-get","datasource-textschema","datasource-io","datasource-xmlschema"],"rollup":4},"datasource-local":{"requires":["base"],"path":"datasource/datasource-local-min.js","name":"datasource-local","type":"js","ext":false},"datasource-arrayschema":{"requires":["datasource-local","plugin","dataschema-array"],"path":"datasource/datasource-arrayschema-min.js","name":"datasource-arrayschema","type":"js","ext":false},"datasource-cache":{"requires":["datasource-local","cache"],"path":"datasource/datasource-cache-min.js","name":"datasource-cache","type":"js","ext":false},"datasource-function":{"requires":["datasource-local"],"path":"datasource/datasource-function-min.js","name":"datasource-function","type":"js","ext":false},"datasource-jsonschema":{"requires":["datasource-local","plugin","dataschema-json"],"path":"datasource/datasource-jsonschema-min.js","name":"datasource-jsonschema","type":"js","ext":false},"datasource-polling":{"requires":["datasource-local"],"path":"datasource/datasource-polling-min.js","name":"datasource-polling","type":"js","ext":false},"datasource-get":{"requires":["datasource-local","get"],"path":"datasource/datasource-get-min.js","name":"datasource-get","type":"js","ext":false},"datasource-textschema":{"requires":["datasource-local","plugin","dataschema-text"],"path":"datasource/datasource-textschema-min.js","name":"datasource-textschema","type":"js","ext":false},"datasource-io":{"requires":["datasource-local","io-base"],"path":"datasource/datasource-io-min.js","name":"datasource-io","type":"js","ext":false},"datasource-xmlschema":{"requires":["datasource-local","plugin","dataschema-xml"],"path":"datasource/datasource-xmlschema-min.js","name":"datasource-xmlschema","type":"js","ext":false},"datatype":{"submodules":{"datatype-date":{"requires":["yui-base"],"path":"datatype/datatype-date-min.js","name":"datatype-date","type":"js","ext":false},"datatype-number":{"requires":["yui-base"],"path":"datatype/datatype-number-min.js","name":"datatype-number","type":"js","ext":false},"datatype-xml":{"requires":["yui-base"],"path":"datatype/datatype-xml-min.js","name":"datatype-xml","type":"js","ext":false}},"name":"datatype","type":"js","path":"datatype/datatype-min.js","ext":false,"requires":[],"supersedes":["datatype-date","datatype-number","datatype-xml"],"rollup":3},"datatype-date":{"requires":["yui-base"],"path":"datatype/datatype-date-min.js","name":"datatype-date","type":"js","ext":false},"datatype-number":{"requires":["yui-base"],"path":"datatype/datatype-number-min.js","name":"datatype-number","type":"js","ext":false},"datatype-xml":{"requires":["yui-base"],"path":"datatype/datatype-xml-min.js","name":"datatype-xml","type":"js","ext":false},"dd":{"submodules":{"dd-ddm-base":{"requires":["node","base"],"path":"dd/dd-ddm-base-min.js","name":"dd-ddm-base","type":"js","ext":false},"dd-ddm":{"requires":["dd-ddm-base","event-resize"],"path":"dd/dd-ddm-min.js","name":"dd-ddm","type":"js","ext":false},"dd-ddm-drop":{"requires":["dd-ddm"],"path":"dd/dd-ddm-drop-min.js","name":"dd-ddm-drop","type":"js","ext":false},"dd-drag":{"requires":["dd-ddm-base"],"path":"dd/dd-drag-min.js","name":"dd-drag","type":"js","ext":false},"dd-drop":{"requires":["dd-ddm-drop"],"path":"dd/dd-drop-min.js","name":"dd-drop","type":"js","ext":false},"dd-proxy":{"requires":["dd-drag"],"path":"dd/dd-proxy-min.js","name":"dd-proxy","type":"js","ext":false},"dd-constrain":{"requires":["dd-drag"],"path":"dd/dd-constrain-min.js","name":"dd-constrain","type":"js","ext":false},"dd-scroll":{"requires":["dd-drag"],"path":"dd/dd-scroll-min.js","name":"dd-scroll","type":"js","ext":false},"dd-plugin":{"requires":["dd-drag"],"optional":["dd-constrain","dd-proxy"],"path":"dd/dd-plugin-min.js","name":"dd-plugin","type":"js","ext":false},"dd-drop-plugin":{"requires":["dd-drop"],"path":"dd/dd-drop-plugin-min.js","name":"dd-drop-plugin","type":"js","ext":false}},"name":"dd","type":"js","path":"dd/dd-min.js","ext":false,"requires":[],"supersedes":["dd-ddm-base","dd-ddm","dd-ddm-drop","dd-drag","dd-drop","dd-proxy","dd-constrain","dd-scroll","dd-plugin","dd-drop-plugin"],"rollup":4},"dd-ddm-base":{"requires":["node","base"],"path":"dd/dd-ddm-base-min.js","name":"dd-ddm-base","type":"js","ext":false},"dd-ddm":{"requires":["dd-ddm-base","event-resize"],"path":"dd/dd-ddm-min.js","name":"dd-ddm","type":"js","ext":false},"dd-ddm-drop":{"requires":["dd-ddm"],"path":"dd/dd-ddm-drop-min.js","name":"dd-ddm-drop","type":"js","ext":false},"dd-drag":{"requires":["dd-ddm-base"],"path":"dd/dd-drag-min.js","name":"dd-drag","type":"js","ext":false},"dd-drop":{"requires":["dd-ddm-drop"],"path":"dd/dd-drop-min.js","name":"dd-drop","type":"js","ext":false},"dd-proxy":{"requires":["dd-drag"],"path":"dd/dd-proxy-min.js","name":"dd-proxy","type":"js","ext":false},"dd-constrain":{"requires":["dd-drag"],"path":"dd/dd-constrain-min.js","name":"dd-constrain","type":"js","ext":false},"dd-scroll":{"requires":["dd-drag"],"path":"dd/dd-scroll-min.js","name":"dd-scroll","type":"js","ext":false},"dd-plugin":{"requires":["dd-drag"],"optional":["dd-constrain","dd-proxy"],"path":"dd/dd-plugin-min.js","name":"dd-plugin","type":"js","ext":false},"dd-drop-plugin":{"requires":["dd-drop"],"path":"dd/dd-drop-plugin-min.js","name":"dd-drop-plugin","type":"js","ext":false},"dump":{"requires":["yui-base"],"name":"dump","type":"js","path":"dump/dump-min.js","ext":false},"event":{"expound":"node-base","submodules":{"event-base":{"expound":"node-base","requires":["event-custom-base"],"path":"event/event-base-min.js","name":"event-base","type":"js","ext":false,"expanded":["event-custom-base","oop","yui-base","yui-later"],"provides":{"event-base":true}},"event-delegate":{"requires":["node-base"],"path":"event/event-delegate-min.js","name":"event-delegate","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-delegate":true}},"event-focus":{"requires":["node-base"],"path":"event/event-focus-min.js","name":"event-focus","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-focus":true}},"event-key":{"requires":["node-base"],"path":"event/event-key-min.js","name":"event-key","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-key":true}},"event-mouseenter":{"requires":["node-base"],"path":"event/event-mouseenter-min.js","name":"event-mouseenter","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-mouseenter":true}},"event-mousewheel":{"requires":["node-base"],"path":"event/event-mousewheel-min.js","name":"event-mousewheel","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-mousewheel":true}},"event-resize":{"requires":["node-base"],"path":"event/event-resize-min.js","name":"event-resize","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-resize":true}}},"name":"event","type":"js","path":"event/event-min.js","ext":false,"requires":[],"supersedes":["event-base","event-delegate","event-focus","event-key","event-mouseenter","event-mousewheel","event-resize"],"rollup":4,"expanded":["event-base","event-custom-base","oop","yui-base","yui-later","event-delegate","node-base","dom-base","selector-css2","selector-native","event-focus","event-key","event-mouseenter","event-mousewheel","event-resize"],"provides":{"event-base":true,"event-delegate":true,"event-focus":true,"event-key":true,"event-mouseenter":true,"event-mousewheel":true,"event-resize":true,"event":true}},"event-base":{"expound":"node-base","requires":["event-custom-base"],"path":"event/event-base-min.js","name":"event-base","type":"js","ext":false,"expanded":["event-custom-base","oop","yui-base","yui-later"],"provides":{"event-base":true}},"event-delegate":{"requires":["node-base"],"path":"event/event-delegate-min.js","name":"event-delegate","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-delegate":true}},"event-focus":{"requires":["node-base"],"path":"event/event-focus-min.js","name":"event-focus","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-focus":true}},"event-key":{"requires":["node-base"],"path":"event/event-key-min.js","name":"event-key","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-key":true}},"event-mouseenter":{"requires":["node-base"],"path":"event/event-mouseenter-min.js","name":"event-mouseenter","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-mouseenter":true}},"event-mousewheel":{"requires":["node-base"],"path":"event/event-mousewheel-min.js","name":"event-mousewheel","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-mousewheel":true}},"event-resize":{"requires":["node-base"],"path":"event/event-resize-min.js","name":"event-resize","type":"js","ext":false,"expanded":["node-base","dom-base","oop","yui-base","selector-css2","selector-native","event-base","event-custom-base","yui-later"],"provides":{"event-resize":true}},"event-custom":{"submodules":{"event-custom-base":{"requires":["oop","yui-later"],"path":"event-custom/event-custom-base-min.js","name":"event-custom-base","type":"js","ext":false,"expanded":["oop","yui-base","yui-later"],"provides":{"event-custom-base":true}},"event-custom-complex":{"requires":["event-custom-base"],"path":"event-custom/event-custom-complex-min.js","name":"event-custom-complex","type":"js","ext":false,"expanded":["event-custom-base","oop","yui-base","yui-later"],"provides":{"event-custom-complex":true}}},"name":"event-custom","type":"js","path":"event-custom/event-custom-min.js","ext":false,"requires":[],"supersedes":["event-custom-base","event-custom-complex"],"rollup":2,"expanded":["event-custom-base","oop","yui-base","yui-later","event-custom-complex"],"provides":{"event-custom-base":true,"event-custom-complex":true,"event-custom":true}},"event-custom-base":{"requires":["oop","yui-later"],"path":"event-custom/event-custom-base-min.js","name":"event-custom-base","type":"js","ext":false,"expanded":["oop","yui-base","yui-later"],"provides":{"event-custom-base":true}},"event-custom-complex":{"requires":["event-custom-base"],"path":"event-custom/event-custom-complex-min.js","name":"event-custom-complex","type":"js","ext":false,"expanded":["event-custom-base","oop","yui-base","yui-later"],"provides":{"event-custom-complex":true}},"event-simulate":{"requires":["event-base"],"name":"event-simulate","type":"js","path":"event-simulate/event-simulate-min.js","ext":false},"node-focusmanager":{"requires":["attribute","node","plugin","node-event-simulate","event-key","event-focus"],"name":"node-focusmanager","type":"js","path":"node-focusmanager/node-focusmanager-min.js","ext":false},"history":{"requires":["node"],"name":"history","type":"js","path":"history/history-min.js","ext":false},"imageloader":{"requires":["base-base","node-style","node-screen"],"name":"imageloader","type":"js","path":"imageloader/imageloader-min.js","ext":false},"io":{"submodules":{"io-base":{"requires":["event-custom-base"],"path":"io/io-base-min.js","name":"io-base","type":"js","ext":false},"io-xdr":{"requires":["io-base","datatype-xml"],"path":"io/io-xdr-min.js","name":"io-xdr","type":"js","ext":false},"io-form":{"requires":["io-base","node-base","node-style"],"path":"io/io-form-min.js","name":"io-form","type":"js","ext":false},"io-upload-iframe":{"requires":["io-base","node-base"],"path":"io/io-upload-iframe-min.js","name":"io-upload-iframe","type":"js","ext":false},"io-queue":{"requires":["io-base","queue-promote"],"path":"io/io-queue-min.js","name":"io-queue","type":"js","ext":false}},"name":"io","type":"js","path":"io/io-min.js","ext":false,"requires":[],"supersedes":["io-base","io-xdr","io-form","io-upload-iframe","io-queue"],"rollup":4},"io-base":{"requires":["event-custom-base"],"path":"io/io-base-min.js","name":"io-base","type":"js","ext":false},"io-xdr":{"requires":["io-base","datatype-xml"],"path":"io/io-xdr-min.js","name":"io-xdr","type":"js","ext":false},"io-form":{"requires":["io-base","node-base","node-style"],"path":"io/io-form-min.js","name":"io-form","type":"js","ext":false},"io-upload-iframe":{"requires":["io-base","node-base"],"path":"io/io-upload-iframe-min.js","name":"io-upload-iframe","type":"js","ext":false},"io-queue":{"requires":["io-base","queue-promote"],"path":"io/io-queue-min.js","name":"io-queue","type":"js","ext":false},"json":{"submodules":{"json-parse":{"requires":["yui-base"],"path":"json/json-parse-min.js","name":"json-parse","type":"js","ext":false,"expanded":["yui-base"],"provides":{"json-parse":true}},"json-stringify":{"requires":["yui-base"],"path":"json/json-stringify-min.js","name":"json-stringify","type":"js","ext":false,"expanded":["yui-base"],"provides":{"json-stringify":true}}},"name":"json","type":"js","path":"json/json-min.js","ext":false,"requires":[],"supersedes":["json-parse","json-stringify"],"rollup":2,"expanded":["json-parse","yui-base","json-stringify"],"provides":{"json-parse":true,"json-stringify":true,"json":true}},"json-parse":{"requires":["yui-base"],"path":"json/json-parse-min.js","name":"json-parse","type":"js","ext":false,"expanded":["yui-base"],"provides":{"json-parse":true}},"json-stringify":{"requires":["yui-base"],"path":"json/json-stringify-min.js","name":"json-stringify","type":"js","ext":false,"expanded":["yui-base"],"provides":{"json-stringify":true}},"loader":{"requires":["get"],"name":"loader","type":"js","path":"loader/loader-min.js","ext":false,"expanded":["get"],"provides":{"loader":true}},"node-menunav":{"requires":["node","classnamemanager","plugin","node-focusmanager","skin-sam-node-menunav","skin-sam-node-menunav","skin-sam-node-menunav"],"skinnable":true,"name":"node-menunav","type":"js","path":"node-menunav/node-menunav-min.js","ext":false},"oop":{"requires":["yui-base"],"name":"oop","type":"js","path":"oop/oop-min.js","ext":false,"expanded":["yui-base"],"provides":{"oop":true}},"overlay":{"requires":["widget","widget-position","widget-position-ext","widget-stack","widget-stdmod","skin-sam-overlay","skin-sam-overlay","skin-sam-overlay"],"skinnable":true,"name":"overlay","type":"js","path":"overlay/overlay-min.js","ext":false},"plugin":{"requires":["base-base"],"name":"plugin","type":"js","path":"plugin/plugin-min.js","ext":false},"pluginhost":{"requires":["yui-base"],"name":"pluginhost","type":"js","path":"pluginhost/pluginhost-min.js","ext":false,"expanded":["yui-base"],"provides":{"pluginhost":true}},"profiler":{"requires":["yui-base"],"name":"profiler","type":"js","path":"profiler/profiler-min.js","ext":false},"queue-promote":{"requires":["yui-base"],"name":"queue-promote","type":"js","path":"queue-promote/queue-promote-min.js","ext":false},"queue-run":{"requires":["event-custom"],"path":"async-queue/async-queue-min.js","name":"queue-run","type":"js","ext":false},"async-queue":{"requires":["event-custom"],"supersedes":["queue-run"],"name":"async-queue","type":"js","path":"async-queue/async-queue-min.js","ext":false},"slider":{"requires":["widget","dd-constrain","skin-sam-slider","skin-sam-slider","skin-sam-slider"],"skinnable":true,"name":"slider","type":"js","path":"slider/slider-min.js","ext":false},"stylesheet":{"requires":["yui-base"],"name":"stylesheet","type":"js","path":"stylesheet/stylesheet-min.js","ext":false},"substitute":{"optional":["dump"],"name":"substitute","type":"js","path":"substitute/substitute-min.js","ext":false,"requires":[]},"widget":{"requires":["attribute","event-focus","base","node","classnamemanager","skin-sam-widget","skin-sam-widget","skin-sam-widget"],"plugins":{"widget-position":{"path":"widget/widget-position-min.js","requires":[],"name":"widget-position","type":"js","ext":false},"widget-position-ext":{"requires":["widget-position"],"path":"widget/widget-position-ext-min.js","name":"widget-position-ext","type":"js","ext":false},"widget-stack":{"skinnable":true,"path":"widget/widget-stack-min.js","requires":["skin-sam-widget-stack","skin-sam-widget-stack","skin-sam-widget-stack"],"name":"widget-stack","type":"js","ext":false},"widget-stdmod":{"path":"widget/widget-stdmod-min.js","requires":[],"name":"widget-stdmod","type":"js","ext":false}},"skinnable":true,"name":"widget","type":"js","path":"widget/widget-min.js","ext":false},"widget-position":{"path":"widget/widget-position-min.js","requires":[],"name":"widget-position","type":"js","ext":false},"skin-sam-widget-position":{"name":"skin-sam-widget-position","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-position.css","ext":false,"requires":[]},"widget-position-ext":{"requires":["widget-position"],"path":"widget/widget-position-ext-min.js","name":"widget-position-ext","type":"js","ext":false},"skin-sam-widget-position-ext":{"name":"skin-sam-widget-position-ext","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-position-ext.css","ext":false,"requires":[]},"widget-stack":{"skinnable":true,"path":"widget/widget-stack-min.js","requires":["skin-sam-widget-stack","skin-sam-widget-stack","skin-sam-widget-stack"],"name":"widget-stack","type":"js","ext":false},"skin-sam-widget-stack":{"name":"skin-sam-widget-stack","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-stack.css","ext":false,"requires":[]},"widget-stdmod":{"path":"widget/widget-stdmod-min.js","requires":[],"name":"widget-stdmod","type":"js","ext":false},"skin-sam-widget-stdmod":{"name":"skin-sam-widget-stdmod","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-stdmod.css","ext":false,"requires":[]},"yui":{"submodules":{"yui-base":{"path":"yui/yui-base-min.js","name":"yui-base","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"yui-base":true}},"get":{"path":"yui/get-min.js","name":"get","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"get":true}},"yui-log":{"path":"yui/yui-log-min.js","name":"yui-log","type":"js","ext":false,"requires":[],"provides":{"yui-log":true}},"yui-later":{"path":"yui/yui-later-min.js","name":"yui-later","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"yui-later":true}}},"name":"yui","type":"js","path":"yui/yui-min.js","ext":false,"requires":[],"supersedes":["yui-base","get","yui-log","yui-later"],"rollup":3,"provides":{"yui-base":true,"get":true,"yui-log":true,"yui-later":true,"yui":true}},"yui-base":{"path":"yui/yui-base-min.js","name":"yui-base","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"yui-base":true}},"get":{"path":"yui/get-min.js","name":"get","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"get":true}},"yui-log":{"path":"yui/yui-log-min.js","name":"yui-log","type":"js","ext":false,"requires":[],"provides":{"yui-log":true}},"yui-later":{"path":"yui/yui-later-min.js","name":"yui-later","type":"js","ext":false,"requires":[],"expanded":[],"provides":{"yui-later":true}},"test":{"requires":["substitute","node","json","event-simulate"],"name":"test","type":"js","path":"test/test-min.js","ext":false},"cssreset":{"type":"css","path":"cssreset/reset-min.css","name":"cssreset","ext":false,"requires":[]},"cssreset-context":{"type":"css","path":"cssreset/reset-context-min.css","name":"cssreset-context","ext":false,"requires":[]},"cssfonts":{"type":"css","path":"cssfonts/fonts-min.css","name":"cssfonts","ext":false,"requires":[]},"cssfonts-context":{"type":"css","path":"cssfonts/fonts-context-min.css","name":"cssfonts-context","ext":false,"requires":[]},"cssgrids":{"type":"css","path":"cssgrids/grids-min.css","requires":["cssfonts"],"optional":["cssreset"],"name":"cssgrids","ext":false},"cssgrids-context":{"type":"css","path":"cssgrids/grids-context-min.css","requires":["cssfonts-context"],"optional":["cssreset-context"],"name":"cssgrids-context","ext":false},"cssbase":{"type":"css","path":"cssbase/base-min.css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"name":"cssbase","ext":false,"requires":[]},"cssbase-context":{"type":"css","path":"cssbase/base-context-min.css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"name":"cssbase-context","ext":false,"requires":[]},"skin-sam-console":{"name":"skin-sam-console","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"console/assets/skins/sam/console.css","ext":false,"requires":[]},"skin-sam-node-menunav":{"name":"skin-sam-node-menunav","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"node-menunav/assets/skins/sam/node-menunav.css","ext":false,"requires":[]},"skin-sam-overlay":{"name":"skin-sam-overlay","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"overlay/assets/skins/sam/overlay.css","ext":false,"requires":[]},"skin-sam-slider":{"name":"skin-sam-slider","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"slider/assets/skins/sam/slider.css","ext":false,"requires":[]},"skin-sam-widget":{"name":"skin-sam-widget","type":"css","after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget.css","ext":false,"requires":[]}}}
diff --git a/lib/yui/phploader/lib/meta/json_3.0.0b1.txt b/lib/yui/phploader/lib/meta/json_3.0.0b1.txt
new file mode 100644 (file)
index 0000000..fb6e9fc
--- /dev/null
@@ -0,0 +1 @@
+{"base":"http://yui.yahooapis.com/3.0.0b1/build/","skin":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"skin.css","base":"assets/skins/","defaultSkin":"sam"},"moduleInfo":{"datatype-date":{"path":"datatype/datatype-date-min.js","requires":["yui-base"],"type":"js","name":"datatype-date","ext":false},"cssfonts-context":{"path":"cssfonts/fonts-context-min.css","type":"css","ext":false,"name":"cssfonts-context","requires":[]},"dd-ddm":{"path":"dd/dd-ddm-min.js","requires":["dd-ddm-base"],"type":"js","name":"dd-ddm","ext":false},"stylesheet":{"path":"stylesheet/stylesheet-min.js","requires":["yui-base"],"type":"js","name":"stylesheet","ext":false},"imageloader":{"path":"imageloader/imageloader-min.js","requires":["node"],"type":"js","name":"imageloader","ext":false},"cssbase":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"cssbase/base-min.css","type":"css","ext":false,"name":"cssbase","requires":[]},"anim-base":{"path":"anim/anim-base-min.js","requires":["base","node-style"],"type":"js","name":"anim-base","ext":false},"oop":{"path":"oop/oop-min.js","requires":["yui-base"],"type":"js","name":"oop","ext":false},"datasource-xhr":{"path":"datasource/datasource-xhr-min.js","requires":["datasource-local","io-base"],"type":"js","name":"datasource-xhr","ext":false},"selector-css3":{"path":"dom/selector-css3-min.js","requires":["selector","dom","dom"],"type":"js","name":"selector-css3","ext":false},"yui-base":{"_provides":{"yui-base":true},"path":"yui-base/yui-base-min.js","_supersedes":{},"type":"js","ext":false,"name":"yui-base","requires":[],"expanded":[]},"json-parse":{"_provides":{"json-parse":true},"path":"json/json-parse-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"json-parse","ext":false,"expanded":["yui-base"]},"skin-sam-widget-stack":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-stack.css","type":"css","ext":false,"name":"skin-sam-widget-stack","requires":[]},"dom-screen":{"path":"dom/dom-screen-min.js","requires":["dom-base","dom-style"],"type":"js","name":"dom-screen","ext":false},"selector":{"path":"dom/selector-min.js","requires":["dom-base"],"type":"js","name":"selector","ext":false},"anim-node-plugin":{"path":"anim/anim-node-plugin-min.js","requires":["node","anim-base"],"type":"js","name":"anim-node-plugin","ext":false},"classnamemanager":{"path":"classnamemanager/classnamemanager-min.js","requires":["yui-base"],"type":"js","name":"classnamemanager","ext":false},"skin-sam-widget-position-ext":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-position-ext.css","type":"css","ext":false,"name":"skin-sam-widget-position-ext","requires":[]},"dd-plugin":{"path":"dd/dd-plugin-min.js","requires":["dd-drag"],"type":"js","optional":["dd-constrain","dd-proxy"],"name":"dd-plugin","ext":false},"skin-sam-widget-stdmod":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-stdmod.css","type":"css","ext":false,"name":"skin-sam-widget-stdmod","requires":[]},"overlay":{"path":"overlay/overlay-min.js","skinnable":true,"requires":["widget","widget-position","widget-position-ext","widget-stack","widget-stdmod","skin-sam-overlay","skin-sam-overlay"],"type":"js","name":"overlay","ext":false},"datasource-polling":{"path":"datasource/datasource-polling-min.js","requires":["datasource-local"],"type":"js","name":"datasource-polling","ext":false},"datasource-cache":{"path":"datasource/datasource-cache-min.js","requires":["datasource-local","cache"],"type":"js","name":"datasource-cache","ext":false},"get":{"_provides":{"get":true},"path":"get/get-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"get","ext":false},"queue-run":{"path":"queue/queue-run-min.js","requires":["queue-base","event-custom"],"type":"js","name":"queue-run","ext":false},"widget-position-ext":{"path":"widget/widget-position-ext-min.js","requires":["widget-position","widget","widget"],"type":"js","name":"widget-position-ext","ext":false},"datatype":{"supersedes":["datatype-date","datatype-xml","datatype-number"],"path":"datatype/datatype-min.js","rollup":2,"type":"js","ext":false,"submodules":{"datatype-date":{"path":"datatype/datatype-date-min.js","requires":["yui-base"],"type":"js","name":"datatype-date","ext":false},"datatype-xml":{"path":"datatype/datatype-xml-min.js","requires":["yui-base"],"type":"js","name":"datatype-xml","ext":false},"datatype-number":{"path":"datatype/datatype-number-min.js","requires":["yui-base"],"type":"js","name":"datatype-number","ext":false}},"name":"datatype","requires":[]},"dd-drop":{"path":"dd/dd-drop-min.js","requires":["dd-ddm-drop"],"type":"js","name":"dd-drop","ext":false},"dataschema":{"supersedes":["dataschema-json","dataschema-array","dataschema-xml","dataschema-text","dataschema-base"],"path":"dataschema/dataschema-min.js","rollup":4,"type":"js","ext":false,"submodules":{"dataschema-json":{"path":"dataschema/dataschema-json-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-json","ext":false},"dataschema-array":{"path":"dataschema/dataschema-array-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-array","ext":false},"dataschema-xml":{"path":"dataschema/dataschema-xml-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-xml","ext":false},"dataschema-text":{"path":"dataschema/dataschema-text-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-text","ext":false},"dataschema-base":{"path":"dataschema/dataschema-base-min.js","requires":["base"],"type":"js","name":"dataschema-base","ext":false}},"name":"dataschema","requires":[]},"io-upload-iframe":{"path":"io/io-upload-iframe-min.js","requires":["io-base","node"],"type":"js","name":"io-upload-iframe","ext":false},"collection":{"path":"collection/collection-min.js","requires":["oop"],"type":"js","name":"collection","ext":false},"dd-drop-plugin":{"path":"dd/dd-drop-plugin-min.js","requires":["dd-drop"],"type":"js","name":"dd-drop-plugin","ext":false},"queue-promote":{"path":"queue/queue-promote-min.js","requires":["queue","queue"],"type":"js","name":"queue-promote","ext":false},"dataschema-array":{"path":"dataschema/dataschema-array-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-array","ext":false},"dataschema-text":{"path":"dataschema/dataschema-text-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-text","ext":false},"anim-color":{"path":"anim/anim-color-min.js","requires":["anim-base"],"type":"js","name":"anim-color","ext":false},"dom-base":{"path":"dom/dom-base-min.js","requires":["oop"],"type":"js","name":"dom-base","ext":false},"dom-style":{"path":"dom/dom-style-min.js","requires":["dom-base"],"type":"js","name":"dom-style","ext":false},"skin-sam-overlay":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"overlay/assets/skins/sam/overlay.css","type":"css","ext":false,"name":"skin-sam-overlay","requires":[]},"skin-sam-node-menunav":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"node-menunav/assets/skins/sam/node-menunav.css","type":"css","ext":false,"name":"skin-sam-node-menunav","requires":[]},"dump":{"path":"dump/dump-min.js","requires":["yui-base"],"type":"js","name":"dump","ext":false},"yui":{"supersedes":["yui-base","get","loader","queue-base"],"_provides":{"queue-base":true,"yui-base":true,"yui":true,"get":true,"loader":true},"path":"yui/yui-min.js","_supersedes":{"queue-base":true,"yui-base":true,"get":true,"loader":true},"type":"js","ext":false,"name":"yui","requires":[]},"cssgrids-context":{"path":"cssgrids/grids-context-min.css","requires":["cssfonts-context"],"type":"css","optional":["cssreset-context"],"name":"cssgrids-context","ext":false},"node":{"requires":["dom","base"],"path":"node/node-min.js","supersedes":["node-screen","node-base","node-style"],"expound":"event","type":"js","submodules":{"node-screen":{"path":"node/node-screen-min.js","requires":["dom-screen","node-base"],"type":"js","name":"node-screen","ext":false},"node-base":{"path":"node/node-base-min.js","requires":["dom-base","base","selector"],"type":"js","name":"node-base","ext":false},"node-style":{"path":"node/node-style-min.js","requires":["dom-style","node-base"],"type":"js","name":"node-style","ext":false}},"plugins":{"node-event-simulate":{"path":"node/node-event-simulate-min.js","requires":["node-base","event-simulate","node","node"],"type":"js","name":"node-event-simulate","ext":false}},"ext":false,"name":"node","rollup":2},"skin-sam-slider":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"slider/assets/skins/sam/slider.css","type":"css","ext":false,"name":"skin-sam-slider","requires":[]},"anim-curve":{"path":"anim/anim-curve-min.js","requires":["anim-xy"],"type":"js","name":"anim-curve","ext":false},"test":{"path":"test/test-min.js","requires":["substitute","node","json","event-simulate"],"type":"js","name":"test","ext":false},"skin-sam-widget":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget.css","type":"css","ext":false,"name":"skin-sam-widget","requires":[]},"json":{"requires":[],"path":"json/json-min.js","supersedes":["json-parse","json-stringify"],"_supersedes":{"json-parse":true,"json-stringify":true},"_provides":{"json-parse":true,"json":true,"json-stringify":true},"submodules":{"json-parse":{"_provides":{"json-parse":true},"path":"json/json-parse-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"json-parse","ext":false,"expanded":["yui-base"]},"json-stringify":{"_provides":{"json-stringify":true},"path":"json/json-stringify-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"json-stringify","ext":false,"expanded":["yui-base"]}},"type":"js","expanded":["json-parse","yui-base","json-stringify"],"ext":false,"name":"json","rollup":1},"history":{"path":"history/history-min.js","requires":["node"],"type":"js","name":"history","ext":false},"dataschema-json":{"path":"dataschema/dataschema-json-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-json","ext":false},"datasource-local":{"path":"datasource/datasource-local-min.js","requires":["base"],"type":"js","name":"datasource-local","ext":false},"node-focusmanager":{"path":"node-focusmanager/node-focusmanager-min.js","requires":["node","plugin"],"type":"js","name":"node-focusmanager","ext":false},"queue-base":{"_provides":{"queue-base":true},"path":"queue/queue-base-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"queue-base","ext":false},"compat":{"path":"compat/compat-min.js","requires":["node","dump","substitute"],"type":"js","name":"compat","ext":false},"cookie":{"path":"cookie/cookie-min.js","requires":["yui-base"],"type":"js","name":"cookie","ext":false},"datasource-scriptnode":{"path":"datasource/datasource-scriptnode-min.js","requires":["datasource-local","get"],"type":"js","name":"datasource-scriptnode","ext":false},"anim":{"supersedes":["anim-color","anim-scroll","anim-node-plugin","anim-base","anim-curve","anim-easing","anim-xy"],"path":"anim/anim-min.js","rollup":4,"requires":["base","node"],"type":"js","submodules":{"anim-color":{"path":"anim/anim-color-min.js","requires":["anim-base"],"type":"js","name":"anim-color","ext":false},"anim-scroll":{"path":"anim/anim-scroll-min.js","requires":["anim-base"],"type":"js","name":"anim-scroll","ext":false},"anim-node-plugin":{"path":"anim/anim-node-plugin-min.js","requires":["node","anim-base"],"type":"js","name":"anim-node-plugin","ext":false},"anim-base":{"path":"anim/anim-base-min.js","requires":["base","node-style"],"type":"js","name":"anim-base","ext":false},"anim-curve":{"path":"anim/anim-curve-min.js","requires":["anim-xy"],"type":"js","name":"anim-curve","ext":false},"anim-easing":{"path":"anim/anim-easing-min.js","requires":["anim-base"],"type":"js","name":"anim-easing","ext":false},"anim-xy":{"path":"anim/anim-xy-min.js","requires":["anim-base","node-screen"],"type":"js","name":"anim-xy","ext":false}},"name":"anim","ext":false},"io-base":{"path":"io/io-base-min.js","requires":["event-custom"],"type":"js","name":"io-base","ext":false},"datasource-function":{"path":"datasource/datasource-function-min.js","requires":["datasource-local"],"type":"js","name":"datasource-function","ext":false},"widget-stdmod":{"path":"widget/widget-stdmod-min.js","requires":["widget","widget"],"type":"js","name":"widget-stdmod","ext":false},"event":{"path":"event/event-min.js","requires":["event-custom","node"],"type":"js","name":"event","ext":false},"cssfonts":{"path":"cssfonts/fonts-min.css","type":"css","ext":false,"name":"cssfonts","requires":[]},"skin-sam-console":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"console/assets/skins/sam/console.css","type":"css","ext":false,"name":"skin-sam-console","requires":[]},"anim-xy":{"path":"anim/anim-xy-min.js","requires":["anim-base","node-screen"],"type":"js","name":"anim-xy","ext":false},"datasource-xmlschema":{"path":"datasource/datasource-xmlschema-min.js","requires":["datasource-local","plugin","dataschema-xml"],"type":"js","name":"datasource-xmlschema","ext":false},"cssbase-context":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"cssbase/base-context-min.css","type":"css","ext":false,"name":"cssbase-context","requires":[]},"node-event-simulate":{"path":"node/node-event-simulate-min.js","requires":["node-base","event-simulate","node","node"],"type":"js","name":"node-event-simulate","ext":false},"io":{"supersedes":["io-queue","io-upload-iframe","io-base","io-form","io-xdr"],"path":"io/io-min.js","rollup":4,"type":"js","ext":false,"submodules":{"io-queue":{"path":"io/io-queue-min.js","requires":["io-base","queue-promote"],"type":"js","name":"io-queue","ext":false},"io-upload-iframe":{"path":"io/io-upload-iframe-min.js","requires":["io-base","node"],"type":"js","name":"io-upload-iframe","ext":false},"io-base":{"path":"io/io-base-min.js","requires":["event-custom"],"type":"js","name":"io-base","ext":false},"io-form":{"path":"io/io-form-min.js","requires":["io-base","node"],"type":"js","name":"io-form","ext":false},"io-xdr":{"path":"io/io-xdr-min.js","requires":["io-base"],"type":"js","name":"io-xdr","ext":false}},"name":"io","requires":[]},"console":{"path":"console/console-min.js","skinnable":true,"requires":["widget","substitute","skin-sam-console","skin-sam-console"],"type":"js","name":"console","ext":false},"attribute":{"path":"attribute/attribute-min.js","requires":["event-custom"],"type":"js","name":"attribute","ext":false},"anim-easing":{"path":"anim/anim-easing-min.js","requires":["anim-base"],"type":"js","name":"anim-easing","ext":false},"profiler":{"path":"profiler/profiler-min.js","requires":["yui-base"],"type":"js","name":"profiler","ext":false},"cache":{"path":"cache/cache-min.js","requires":["plugin"],"type":"js","name":"cache","ext":false},"node-style":{"path":"node/node-style-min.js","requires":["dom-style","node-base"],"type":"js","name":"node-style","ext":false},"io-queue":{"path":"io/io-queue-min.js","requires":["io-base","queue-promote"],"type":"js","name":"io-queue","ext":false},"loader":{"_provides":{"loader":true},"path":"loader/loader-min.js","_supersedes":{},"requires":["get"],"type":"js","name":"loader","ext":false},"plugin":{"path":"plugin/plugin-min.js","requires":["base"],"type":"js","name":"plugin","ext":false},"base":{"supersedes":["base-base","base-build"],"path":"base/base-min.js","rollup":1,"type":"js","ext":false,"submodules":{"base-base":{"path":"base/base-base-min.js","requires":["attribute"],"type":"js","name":"base-base","ext":false},"base-build":{"path":"base/base-build-min.js","requires":["base-base"],"type":"js","name":"base-build","ext":false}},"name":"base","requires":[]},"datasource-jsonschema":{"path":"datasource/datasource-jsonschema-min.js","requires":["datasource-local","plugin","dataschema-json"],"type":"js","name":"datasource-jsonschema","ext":false},"datatype-number":{"path":"datatype/datatype-number-min.js","requires":["yui-base"],"type":"js","name":"datatype-number","ext":false},"event-simulate":{"path":"event-simulate/event-simulate-min.js","requires":["event"],"type":"js","name":"event-simulate","ext":false},"dataschema-base":{"path":"dataschema/dataschema-base-min.js","requires":["base"],"type":"js","name":"dataschema-base","ext":false},"widget-position":{"path":"widget/widget-position-min.js","requires":["widget","widget"],"type":"js","name":"widget-position","ext":false},"dom":{"requires":["oop"],"path":"dom/dom-min.js","supersedes":["selector-native","dom-screen","dom-base","dom-style","selector"],"submodules":{"selector-native":{"path":"dom/selector-native-min.js","requires":["dom-base"],"type":"js","name":"selector-native","ext":false},"dom-screen":{"path":"dom/dom-screen-min.js","requires":["dom-base","dom-style"],"type":"js","name":"dom-screen","ext":false},"dom-base":{"path":"dom/dom-base-min.js","requires":["oop"],"type":"js","name":"dom-base","ext":false},"dom-style":{"path":"dom/dom-style-min.js","requires":["dom-base"],"type":"js","name":"dom-style","ext":false},"selector":{"path":"dom/selector-min.js","requires":["dom-base"],"type":"js","name":"selector","ext":false}},"type":"js","plugins":{"selector-css3":{"path":"dom/selector-css3-min.js","requires":["selector","dom","dom"],"type":"js","name":"selector-css3","ext":false}},"ext":false,"name":"dom","rollup":4},"node-screen":{"path":"node/node-screen-min.js","requires":["dom-screen","node-base"],"type":"js","name":"node-screen","ext":false},"io-form":{"path":"io/io-form-min.js","requires":["io-base","node"],"type":"js","name":"io-form","ext":false},"dd":{"supersedes":["dd-drop-plugin","dd-constrain","dd-proxy","dd-scroll","dd-ddm","dd-ddm-drop","dd-ddm-base","dd-drag","dd-plugin","dd-drop"],"path":"dd/dd-min.js","rollup":4,"type":"js","ext":false,"submodules":{"dd-drop-plugin":{"path":"dd/dd-drop-plugin-min.js","requires":["dd-drop"],"type":"js","name":"dd-drop-plugin","ext":false},"dd-constrain":{"path":"dd/dd-constrain-min.js","requires":["dd-drag"],"type":"js","name":"dd-constrain","ext":false},"dd-proxy":{"path":"dd/dd-proxy-min.js","requires":["dd-drag"],"type":"js","name":"dd-proxy","ext":false},"dd-scroll":{"path":"dd/dd-scroll-min.js","requires":["dd-drag"],"type":"js","name":"dd-scroll","ext":false},"dd-ddm":{"path":"dd/dd-ddm-min.js","requires":["dd-ddm-base"],"type":"js","name":"dd-ddm","ext":false},"dd-ddm-drop":{"path":"dd/dd-ddm-drop-min.js","requires":["dd-ddm"],"type":"js","name":"dd-ddm-drop","ext":false},"dd-ddm-base":{"path":"dd/dd-ddm-base-min.js","requires":["node","base"],"type":"js","name":"dd-ddm-base","ext":false},"dd-drag":{"path":"dd/dd-drag-min.js","requires":["dd-ddm-base"],"type":"js","name":"dd-drag","ext":false},"dd-plugin":{"path":"dd/dd-plugin-min.js","requires":["dd-drag"],"type":"js","optional":["dd-constrain","dd-proxy"],"name":"dd-plugin","ext":false},"dd-drop":{"path":"dd/dd-drop-min.js","requires":["dd-ddm-drop"],"type":"js","name":"dd-drop","ext":false}},"name":"dd","requires":[]},"base-base":{"path":"base/base-base-min.js","requires":["attribute"],"type":"js","name":"base-base","ext":false},"skin-sam-widget-position":{"after":["cssreset","cssfonts","cssgrids","cssreset-context","cssfonts-context","cssgrids-context"],"path":"widget/assets/skins/sam/widget-position.css","type":"css","ext":false,"name":"skin-sam-widget-position","requires":[]},"dd-ddm-drop":{"path":"dd/dd-ddm-drop-min.js","requires":["dd-ddm"],"type":"js","name":"dd-ddm-drop","ext":false},"slider":{"path":"slider/slider-min.js","skinnable":true,"requires":["widget","dd-constrain","skin-sam-slider","skin-sam-slider"],"type":"js","name":"slider","ext":false},"substitute":{"path":"substitute/substitute-min.js","type":"js","ext":false,"optional":["dump"],"name":"substitute","requires":[]},"widget-stack":{"path":"widget/widget-stack-min.js","skinnable":true,"requires":["widget","skin-sam-widget-stack","widget","skin-sam-widget-stack"],"type":"js","name":"widget-stack","ext":false},"base-build":{"path":"base/base-build-min.js","requires":["base-base"],"type":"js","name":"base-build","ext":false},"node-menunav":{"path":"node-menunav/node-menunav-min.js","skinnable":true,"requires":["node","classnamemanager","plugin","node-focusmanager","skin-sam-node-menunav","skin-sam-node-menunav"],"type":"js","name":"node-menunav","ext":false},"selector-native":{"path":"dom/selector-native-min.js","requires":["dom-base"],"type":"js","name":"selector-native","ext":false},"widget":{"path":"widget/widget-min.js","skinnable":true,"requires":["base","node","classnamemanager","skin-sam-widget","skin-sam-widget"],"type":"js","name":"widget","ext":false,"plugins":{"widget-stack":{"path":"widget/widget-stack-min.js","skinnable":true,"requires":["widget","skin-sam-widget-stack","widget","skin-sam-widget-stack"],"type":"js","name":"widget-stack","ext":false},"widget-position":{"path":"widget/widget-position-min.js","requires":["widget","widget"],"type":"js","name":"widget-position","ext":false},"widget-stdmod":{"path":"widget/widget-stdmod-min.js","requires":["widget","widget"],"type":"js","name":"widget-stdmod","ext":false},"widget-position-ext":{"path":"widget/widget-position-ext-min.js","requires":["widget-position","widget","widget"],"type":"js","name":"widget-position-ext","ext":false}}},"cssreset":{"path":"cssreset/reset-min.css","type":"css","ext":false,"name":"cssreset","requires":[]},"json-stringify":{"_provides":{"json-stringify":true},"path":"json/json-stringify-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"json-stringify","ext":false,"expanded":["yui-base"]},"anim-scroll":{"path":"anim/anim-scroll-min.js","requires":["anim-base"],"type":"js","name":"anim-scroll","ext":false},"dd-scroll":{"path":"dd/dd-scroll-min.js","requires":["dd-drag"],"type":"js","name":"dd-scroll","ext":false},"datasource-textschema":{"path":"datasource/datasource-textschema-min.js","requires":["datasource-local","plugin","dataschema-text"],"type":"js","name":"datasource-textschema","ext":false},"datatype-xml":{"path":"datatype/datatype-xml-min.js","requires":["yui-base"],"type":"js","name":"datatype-xml","ext":false},"dd-proxy":{"path":"dd/dd-proxy-min.js","requires":["dd-drag"],"type":"js","name":"dd-proxy","ext":false},"dd-constrain":{"path":"dd/dd-constrain-min.js","requires":["dd-drag"],"type":"js","name":"dd-constrain","ext":false},"dd-ddm-base":{"path":"dd/dd-ddm-base-min.js","requires":["node","base"],"type":"js","name":"dd-ddm-base","ext":false},"cssreset-context":{"path":"cssreset/reset-context-min.css","type":"css","ext":false,"name":"cssreset-context","requires":[]},"dataschema-xml":{"path":"dataschema/dataschema-xml-min.js","requires":["dataschema-base"],"type":"js","name":"dataschema-xml","ext":false},"node-base":{"path":"node/node-base-min.js","requires":["dom-base","base","selector"],"type":"js","name":"node-base","ext":false},"queue":{"requires":[],"path":"queue/queue-min.js","supersedes":["queue-base","queue-run"],"submodules":{"queue-base":{"_provides":{"queue-base":true},"path":"queue/queue-base-min.js","_supersedes":{},"requires":["yui-base"],"type":"js","name":"queue-base","ext":false},"queue-run":{"path":"queue/queue-run-min.js","requires":["queue-base","event-custom"],"type":"js","name":"queue-run","ext":false}},"type":"js","plugins":{"queue-promote":{"path":"queue/queue-promote-min.js","requires":["queue","queue"],"type":"js","name":"queue-promote","ext":false}},"ext":false,"name":"queue","rollup":1},"datasource-arrayschema":{"path":"datasource/datasource-arrayschema-min.js","requires":["datasource-local","plugin","dataschema-array"],"type":"js","name":"datasource-arrayschema","ext":false},"cssgrids":{"path":"cssgrids/grids-min.css","requires":["cssfonts"],"type":"css","optional":["cssreset"],"name":"cssgrids","ext":false},"dd-drag":{"path":"dd/dd-drag-min.js","requires":["dd-ddm-base"],"type":"js","name":"dd-drag","ext":false},"io-xdr":{"path":"io/io-xdr-min.js","requires":["io-base"],"type":"js","name":"io-xdr","ext":false},"datasource":{"supersedes":["datasource-cache","datasource-xmlschema","datasource-arrayschema","datasource-function","datasource-local","datasource-jsonschema","datasource-polling","datasource-textschema","datasource-scriptnode","datasource-xhr"],"path":"datasource/datasource-min.js","rollup":4,"type":"js","ext":false,"submodules":{"datasource-cache":{"path":"datasource/datasource-cache-min.js","requires":["datasource-local","cache"],"type":"js","name":"datasource-cache","ext":false},"datasource-xmlschema":{"path":"datasource/datasource-xmlschema-min.js","requires":["datasource-local","plugin","dataschema-xml"],"type":"js","name":"datasource-xmlschema","ext":false},"datasource-arrayschema":{"path":"datasource/datasource-arrayschema-min.js","requires":["datasource-local","plugin","dataschema-array"],"type":"js","name":"datasource-arrayschema","ext":false},"datasource-function":{"path":"datasource/datasource-function-min.js","requires":["datasource-local"],"type":"js","name":"datasource-function","ext":false},"datasource-local":{"path":"datasource/datasource-local-min.js","requires":["base"],"type":"js","name":"datasource-local","ext":false},"datasource-jsonschema":{"path":"datasource/datasource-jsonschema-min.js","requires":["datasource-local","plugin","dataschema-json"],"type":"js","name":"datasource-jsonschema","ext":false},"datasource-polling":{"path":"datasource/datasource-polling-min.js","requires":["datasource-local"],"type":"js","name":"datasource-polling","ext":false},"datasource-textschema":{"path":"datasource/datasource-textschema-min.js","requires":["datasource-local","plugin","dataschema-text"],"type":"js","name":"datasource-textschema","ext":false},"datasource-scriptnode":{"path":"datasource/datasource-scriptnode-min.js","requires":["datasource-local","get"],"type":"js","name":"datasource-scriptnode","ext":false},"datasource-xhr":{"path":"datasource/datasource-xhr-min.js","requires":["datasource-local","io-base"],"type":"js","name":"datasource-xhr","ext":false}},"name":"datasource","requires":[]},"event-custom":{"path":"event-custom/event-custom-min.js","requires":["oop"],"type":"js","name":"event-custom","ext":false}}}
diff --git a/lib/yui/phploader/phploader/loader.php b/lib/yui/phploader/phploader/loader.php
new file mode 100644 (file)
index 0000000..fab760a
--- /dev/null
@@ -0,0 +1,1648 @@
+<?PHP
+/**
+ *  Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+ *  Code licensed under the BSD License:
+ *  http://developer.yahoo.net/yui/license.html
+ *  version: 1.0.0b2
+ */
+/**
+ * Used to specify JavaScript and CSS module requirements.  It maintains a dependency
+ * tree for these modules so when a module is requested, all of the other modules it 
+ * depends on are included as well.  By default, the YUI Library is configured, and 
+ * other modules and their dependencies can be added via PHP.
+ * @module phploader
+ */
+
+define('YUI_AFTER',      'after');
+define('YUI_BASE',       'base');
+define('YUI_CSS',        'css');
+define('YUI_DATA',       'DATA');
+define('YUI_DEPCACHE',   'depCache');
+define('YUI_DEBUG',      'DEBUG');
+define('YUI_EMBED',      'EMBED');
+define('YUI_FILTERS',    'filters');
+define('YUI_FULLPATH',   'fullpath');
+define('YUI_FULLJSON',   'FULLJSON');
+define('YUI_GLOBAL',     'global');
+define('YUI_JS',         'js');
+define('YUI_JSON',       'JSON');
+define('YUI_MODULES',    'modules');
+define('YUI_SUBMODULES', 'submodules');
+define('YUI_EXPOUND',    'expound');
+define('YUI_NAME',       'name');
+define('YUI_OPTIONAL',   'optional');
+define('YUI_OVERRIDES',  'overrides');
+define('YUI_PATH',       'path');
+define('YUI_PKG',        'pkg');
+define('YUI_PREFIX',     'prefix');
+define('YUI_PROVIDES',   'provides');
+define('YUI_RAW',        'RAW');
+define('YUI_REPLACE',    'replace');
+define('YUI_REQUIRES',   'requires');
+define('YUI_ROLLUP',     'rollup');
+define('YUI_SATISFIES',  'satisfies');
+define('YUI_SEARCH',     'search');
+define('YUI_SKIN',       'skin');
+define('YUI_SKINNABLE',  'skinnable');
+define('YUI_SUPERSEDES', 'supersedes');
+define('YUI_TAGS',       'TAGS');
+define('YUI_TYPE',       'type');
+define('YUI_URL',        'url');
+
+
+/**
+ * The YUI PHP loader base class which provides dynamic server-side loading for YUI
+ * @class YAHOO_util_Loader
+ * @namespace PHP
+ */
+class YAHOO_util_Loader {
+    
+    /**
+    * The base directory
+    * @property base
+    * @type string
+    * @default http://yui.yahooapis.com/[YUI VERSION]/build/
+    */
+    var $base = "";
+
+    /**
+    * A filter to apply to result urls. This filter will modify the default path for 
+    * all modules. The default path is the minified version of the files (e.g., event-min.js). 
+    * Changing the filter alows for picking up the unminified (raw) or debug sources.
+    * The default set of valid filters are:  YUI_DEBUG & YUI_RAW
+    * @property filter
+    * @type string (e.g.) 
+    * @default empty string (minified vesion)
+    */
+    var $filter = "";
+    
+    /**
+    * An array of filters & filter replacement rules.  Used with $filter.
+    * @property filters
+    * @type array
+    * @default
+    */
+    var $filters = array();
+    
+    /**
+    * A list of modules to apply the filter to.  If not supplied, all
+    * modules will have any defined filters applied.  Tip: Useful for debugging.
+    * @property filterList
+    * @type array
+    * @default null
+    */
+    var $filterList = null;
+
+    /**
+    * Should we allow rollups
+    * @property allowRollups
+    * @type boolean
+    * @default true
+    */
+    var $allowRollups = true;
+
+    /**
+    * Whether or not to load optional dependencies for the requested modules
+    * @property loadOptional
+    * @type boolean
+    * @default false
+    */
+    var $loadOptional = false;
+
+    /**
+    * Force rollup modules to be sorted as moved to the top of
+    * the stack when performing an automatic rollup.  This has a very small performance consequence.
+    * @property rollupsToTop
+    * @type boolean
+    * @default false
+    */
+    var $rollupsToTop = false;
+
+    /**
+    * The first time we output a module type we allow automatic rollups, this
+    * array keeps track of module types we have processed
+    * @property processedModuleTypes
+    * @type array
+    * @default
+    */
+    var $processedModuleTypes = array();
+
+    /**
+    * All required modules
+    * @property requests
+    * @type array
+    * @default
+    */
+    var $requests = array();
+
+    /**
+    * List of modules that have been been outputted via getLink() / getComboLink()
+    * @property loaded
+    * @type array
+    * @default
+    */
+    var $loaded = array();
+
+    /**
+    * List of all modules superceded by the list of required modules 
+    * @property superceded
+    * @type array
+    * @default
+    */
+    var $superceded = array();
+
+    /**
+    * Keeps track of modules that were requested that are not defined
+    * @property undefined
+    * @type array
+    * @default
+    */
+    var $undefined = array();
+    
+    /**
+    * Used to determine if additional sorting of dependencies is required
+    * @property dirty
+    * @type boolean
+    * @default true
+    */
+    var $dirty = true;
+    
+    /**
+    * List of sorted modules
+    * @property sorted
+    * @type array
+    * @default null
+    */
+    var $sorted = null;
+    
+    /**
+    * List of modules the loader has aleady accounted for
+    * @property accountedFor
+    * @type array
+    * @default
+    */
+    var $accountedFor = array();
+
+    /**
+    * The list of required skins
+    * @property skins
+    * @type array
+    * @default
+    */
+    var $skins = array();
+    
+    /**
+    * Contains the available module metadata
+    * @property modules
+    * @type array
+    * @default YUI module metadata for the specified release
+    */
+    var $modules = array();
+
+    /**
+    * The APC cache key
+    * @property fullCacheKey
+    * @type string
+    * @default null
+    */
+    var $fullCacheKey = null;
+
+    /**
+    * List of modules that have had their base pathes overridden
+    * @property baseOverrides
+    * @type array
+    * @default
+    */
+    var $baseOverrides = array();
+    
+    /**
+    * Used to determine if we have an APC cache hit
+    * @property cacheFound
+    * @type boolean
+    * @default false
+    */
+    var $cacheFound = false;
+    
+    /**
+    * Used to delay caching of module data
+    * @property delayCache
+    * @type boolean
+    * @default false
+    */
+    var $delayCache = false;
+    
+    /* If the version is set, a querystring parameter is appended to the
+    * end of all generated URLs.  This is a cache busting hack for environments
+    * that always use the same path for the current version of the library.
+    * @property version
+    * @type string
+    * @default null
+    */
+    var $version = null;
+    var $versionKey = "_yuiversion";
+
+    /* Holds the calculated skin definition
+    * @property skin
+    * @type array
+    * @default
+    */
+    var $skin = array();
+    
+    /* Holds the module rollup metadata
+    * @property rollupModules
+    * @type array
+    * @default
+    */
+    var $rollupModules = array();
+    
+    /* Holds global module information.  Used for global dependency support.
+    * Note: Does not appear to be in use by recent metadata.  Might be deprecated?
+    * @property globalModules
+    * @type array
+    * @default
+    */
+    var $globalModules = array();
+    
+    /* Holds information about what modules satisfy the requirements of others
+    * @property satisfactionMap
+    * @type array
+    * @default
+    */
+    var $satisfactionMap = array();
+    
+    /* Holds a cached module dependency list
+    * @property depCache
+    * @type array
+    * @default
+    */
+    var $depCache = array();
+    
+    /**
+    * Combined into a single request using the combo service to pontentially reduce the number of 
+    * http requests required.  This option is not supported when loading custom modules.
+    * @property combine
+    * @type boolean
+    * @default false
+    */
+    var $combine = false;
+
+    /**
+    * The base path to the combo service.  Uses the Yahoo! CDN service by default.
+    * You do not have to set this property to use the combine option. YUI PHP Loader ships 
+    * with an intrinsic, lightweight combo-handler as well (see combo.php).
+    * @property comboBase
+    * @type string
+    * @default http://yui.yahooapis.com/combo?
+    */
+    var $comboBase = "http://yui.yahooapis.com/combo?";
+    
+    /**
+    * Holds the current combo url for the loaded CSS resources.  This is 
+    * built with addToCombo and retrieved with getComboLink.  Only used when the combine
+    * is enabled.
+    * @property cssComboLocation
+    * @type string
+    * @default null
+    */
+    var $cssComboLocation = null;
+    
+    /**
+    * Holds the current combo url for the loaded JavaScript resources.  This is 
+    * built with addToCombo and retrieved with getComboLink.  Only used when the combine
+    * is enabled.
+    * @property jsComboLocation
+    * @type string
+    * @default null
+    */
+    var $jsComboLocation  = null;
+
+    /**
+    * The YAHOO_util_Loader class constructor
+    * @constructor
+    * @param {string} yuiVersion Defines which version of YUI metadata to load
+    * @param {string} cacheKey Unique APC cache key.  This is combined with the YUI base
+    * so that updates to YUI will force a new cache entry.  However, if your custom config 
+    * changes, this key should be changed (otherwise the old values will be used until the cache expires).
+    * @param {array} modules A list of custom modules
+    * @param {boolean} noYUI Pass true if you do not want the YUI metadata
+    */
+    function YAHOO_util_Loader($yuiVersion, $cacheKey=null, $modules=null, $noYUI=false) {
+        if (!isset($yuiVersion)) {
+            die("Error: The first parameter of YAHOO_util_Loader must specify which version of YUI to use!");
+        }
+        
+        /* 
+        * Include the metadata config file that corresponds to the requested YUI version
+        * Note: we attempt to find a prebuilt config_{version}.php file which contains an associative array,
+        * but if not available we'll attempt to find and parse the YUI json dependency file.
+        */
+        $parentDir = dirname(dirname(__FILE__));
+        $phpConfigFile = $parentDir . '/lib/meta/config_' . $yuiVersion . '.php';
+        $jsonConfigFile = $parentDir . '/lib/meta/json_' . $yuiVersion . '.txt';
+        
+        if (file_exists($phpConfigFile) && is_readable($phpConfigFile)) {
+            require($phpConfigFile);
+        } else if (file_exists($jsonConfigFile) && is_readable($jsonConfigFile) && function_exists('json_encode')) {
+            $jsonConfigString = file_get_contents($jsonConfigFile);
+            $inf = json_decode($jsonConfigString, true);
+            $GLOBALS['yui_current'] = $inf;
+        } else {
+            die("Unable to find a suitable YUI metadata file!");
+        }
+        
+        global $yui_current;
+
+        $this->apcttl = 0;
+        $this->curlAvail  = function_exists('curl_exec');
+        $this->apcAvail   = function_exists('apc_fetch');
+        $this->jsonAvail  = function_exists('json_encode');
+        $this->customModulesInUse = empty($modules) ? false : true;
+        $this->base = $yui_current[YUI_BASE];
+        $this->comboDefaultVersion = $yuiVersion;
+        $this->fullCacheKey = null;
+        $cache = null;
+
+        if ($cacheKey && $this->apcAvail) {
+            $this->fullCacheKey = $this->base . $cacheKey;
+            $cache = apc_fetch($this->fullCacheKey);
+        } 
+        
+        if ($cache) {
+            $this->cacheFound = true;
+            $this->modules = $cache[YUI_MODULES];
+            $this->skin = $cache[YUI_SKIN];
+            $this->rollupModules = $cache[YUI_ROLLUP];
+            $this->globalModules = $cache[YUI_GLOBAL];
+            $this->satisfactionMap = $cache[YUI_SATISFIES];
+            $this->depCache = $cache[YUI_DEPCACHE];
+            $this->filters = $cache[YUI_FILTERS];
+        } else {
+            // set up the YUI info for the current version of the lib
+            if ($noYUI) {
+                $this->modules = array();
+            } else {
+                $this->modules = $yui_current['moduleInfo'];
+            }
+
+            if ($modules) {
+                $this->modules = array_merge_recursive($this->modules, $modules);
+            }
+
+            $this->skin = $yui_current[YUI_SKIN];
+            $this->skin['overrides'] = array();
+            $this->skin[YUI_PREFIX] = "skin-";
+            $this->filters = array(
+                    YUI_RAW => array(
+                            YUI_SEARCH => "/-min\.js/",
+                            YUI_REPLACE => ".js"
+                        ),
+                    YUI_DEBUG => array(
+                            YUI_SEARCH => "/-min\.js/",
+                            YUI_REPLACE => "-debug.js"
+                        )
+               );
+
+            foreach ($this->modules as $name=>$m) {
+
+                if (isset($m[YUI_GLOBAL])) {
+                    $this->globalModules[$name] = true;
+                }
+
+                if (isset($m[YUI_SUPERSEDES])) {
+                    $this->rollupModules[$name] = $m;
+                    foreach ($m[YUI_SUPERSEDES] as $sup) {
+                        $this->mapSatisfyingModule($sup, $name);
+                    }
+                }
+            }
+        }
+    }
+    
+    /**
+    * Used to update the APC cache
+    * @method updateCache
+    */
+    function updateCache() {
+        if ($this->fullCacheKey) {
+            $cache = array();
+            $cache[YUI_MODULES] = $this->modules;
+            $cache[YUI_SKIN] = $this->skin;
+            $cache[YUI_ROLLUP] = $this->rollupModules;
+            $cache[YUI_GLOBAL] = $this->globalModules;
+            $cache[YUI_DEPCACHE] = $this->depCache;
+            $cache[YUI_SATISFIES] = $this->satisfactionMap;
+            $cache[YUI_FILTERS] = $this->filters;
+            apc_store($this->fullCacheKey, $cache, $this->apcttl);
+        }
+    }
+
+    /**
+    * Used to load YUI and/or custom components
+    * @method load
+    * @param string $varname [, string $... ] List of component names
+    */
+    function load() {
+        //Expects N-number of named components to load 
+        $args = func_get_args();
+        foreach ($args as $arg) {
+            $this->loadSingle($arg);
+        }
+    }
+    
+    /**
+    * Used to mark a module type as processed
+    * @method setProcessedModuleType
+    * @param string $moduleType
+    */
+    function setProcessedModuleType($moduleType='ALL') {
+        $this->processedModuleTypes[$moduleType] = true;
+    }
+    
+    /**
+    * Used to determine if a module type has been processed
+    * @method hasProcessedModuleType
+    * @param string $moduleType
+    */
+    function hasProcessedModuleType($moduleType='ALL') {
+        return isset($this->processedModuleTypes[$moduleType]);
+    }
+
+    /**
+    * Used to specify modules that are already on the page that should not be loaded again
+    * @method setLoaded
+    * @param string $varname [, string $... ] List of module names
+    */
+    function setLoaded() {
+        $args = func_get_args();
+
+        foreach ($args as $arg) {
+            if (isset($this->modules[$arg])) {
+                $this->loaded[$arg] = $arg;
+                $mod = $this->modules[$arg];
+
+                $sups = $this->getSuperceded($arg);
+                // accounting for by way of supersede
+                foreach ($sups as $supname=>$val) {
+                    $this->loaded[$supname] = $supname;
+                }
+
+                // prevent rollups for this module type
+                $this->setProcessedModuleType($mod[YUI_TYPE]);
+            } else {
+                $msg = "YUI_LOADER: undefined module name provided to setLoaded(): " . $arg;
+                error_log($msg, 0);
+            }
+        }
+    }
+    
+    /**
+    * Sets up skin for skinnable modules
+    * @method skinSetup
+    * @param string $name module name
+    * @return {string}
+    */
+    function skinSetup($name) {
+        $skinName = null;
+        $dep = $this->modules[$name];
+
+        if ($dep && isset($dep[YUI_SKINNABLE])) {
+            $s = $this->skin;
+            
+            if (isset($s[YUI_OVERRIDES][$name])) {
+                foreach ($s[YUI_OVERRIDES][$name] as $name2 => $over2) {
+                    $skinName = $this->formatSkin($over2, $name);
+                }
+            } else {
+                $skinName = $this->formatSkin($s["defaultSkin"], $name);
+            }
+
+            // adding new skin module
+            $this->skins[] = $skinName;
+            $skin = $this->parseSkin($skinName);
+
+            // module-specific
+            if (isset($skin[2])) {
+                $dep = $this->modules[$skin[2]];
+                $package = (isset($dep[YUI_PKG])) ? $dep[YUI_PKG] : $skin[2];
+                $path = $package . '/' . $s[YUI_BASE] . $skin[1] . '/' . $skin[2] . '.css';
+                $this->modules[$skinName] = array(
+                        "name" => $skinName,
+                        "type" => YUI_CSS,
+                        "path" => $path,
+                        "after" => $s[YUI_AFTER]
+                    );
+
+            // rollup skin
+            } else {
+                $path = $s[YUI_BASE] . $skin[1] . '/' . $s[YUI_PATH];
+                $newmod = array(
+                        "name" => $skinName,
+                        "type" => YUI_CSS,
+                        "path" => $path,
+                        "rollup" => 3,
+                        "after" => $s[YUI_AFTER]
+                    );
+                $this->modules[$skinName] = $newmod;
+                $this->rollupModules[$skinName] = $newmod;
+            }
+
+        }    
+
+        return $skinName;
+    }
+    
+    /**
+    * Parses a module's skin.  A modules skin is typically prefixed.
+    * @method parseSkin
+    * @param string $name the name of a module to parse
+    * @return {array}
+    */
+    function parseSkin($moduleName) {
+        if (strpos( $moduleName, $this->skin[YUI_PREFIX] ) === 0) {
+            return explode('-', $moduleName);
+        }
+
+        return null;
+    }
+    
+    /**
+    * Add prefix to module skin
+    * @method formatSkin
+    * @param string $skin the skin name
+    * @param string $moduleName the name of a module
+    * @return {string} prefixed skin name
+    */
+    function formatSkin($skin, $moduleName) {
+        $prefix = $this->skin[YUI_PREFIX];
+        $s = $prefix . $skin;
+        if ($moduleName) {
+            $s = $s . '-' . $moduleName;
+        }
+
+        return $s;
+    }
+    
+    /**
+    * Loads the requested module
+    * @method loadSingle
+    * @param string $name the name of a module to load
+    * @return {boolean}
+    */
+    function loadSingle($name) {
+        $skin = $this->parseSkin($name);
+
+        if ($skin) {
+            $this->skins[] = $name;
+            $this->dirty = true;
+            return true;
+        }
+
+        if (!isset($this->modules[$name])) {
+            $this -> undefined[$name] = $name;
+            return false;
+        }
+
+        if (isset($this->loaded[$name]) || isset($this->accountedFor[$name])) {
+            // skip
+        } else {
+            $this->requests[$name] = $name;
+            $this->dirty = true;
+        }
+        
+        return true;
+    }
+
+    /**
+    * Used to output each of the required script tags
+    * @method script
+    * @return {string}
+    */
+    function script() {
+        return $this->tags(YUI_JS);
+    }
+    
+    /**
+    * Used to output each of the required link tags
+    * @method css
+    * @return {string}
+    */
+    function css() {
+        return $this->tags(YUI_CSS);
+    }
+
+    /**
+    * Used to output each of the required html tags (i.e.) script or link
+    * @method tags
+    * @param {string} moduleType Type of html tag to return (i.e.) js or css.  Default is both.
+    * @param {boolean} skipSort
+    * @return {string}
+    */
+    function tags($moduleType=null, $skipSort=false) {
+        return $this->processDependencies(YUI_TAGS, $moduleType, $skipSort);
+    }
+    
+    /**
+    * Used to embed the raw JavaScript inline
+    * @method script_embed
+    * @return {string} Returns the script tag(s) with the JavaScript inline
+    */
+    function script_embed() {
+        return $this->embed(YUI_JS);
+    }
+    
+    /**
+    * Used to embed the raw CSS 
+    * @method css_embed
+    * @return {string} (e.g.) Returns the style tag(s) with the CSS inline
+    */
+    function css_embed() {
+        return $this->embed(YUI_CSS);
+    }
+
+    /**
+    * Used to output each of the required html tags inline (i.e.) script and/or style
+    * @method embed
+    * @param {string} moduleType Type of html tag to return (i.e.) js or css.  Default is both.
+    * @param {boolean} skipSort
+    * @return {string} Returns the style tag(s) with the CSS inline and/or the script tag(s) with the JavaScript inline
+    */
+    function embed($moduleType=null, $skipSort=false) {
+        return $this->processDependencies(YUI_EMBED, $moduleType, $skipSort);
+    }
+
+    /**
+    * Used to fetch an array of the required JavaScript components 
+    * @method script_data
+    * @return {array} Returns an array of data about each of the identified JavaScript components
+    */
+    function script_data() {
+        return $this->data(YUI_JS);
+    }
+
+    /**
+    * Used to fetch an array of the required CSS components
+    * @method css_data
+    * @return {array} Returns an array of data about each of the identified JavaScript components
+    */
+    function css_data() {
+        return $this->data(YUI_CSS);
+    }
+    
+    /**
+    * Used to output an Array which contains data about the required JavaScript & CSS components
+    * @method data
+    * @param {string} moduleType Type of html tag to return (i.e.) js or css.  Default is both.
+    * @param {boolean} allowRollups
+    * @param {boolean} skipSort
+    * @return {string}
+    */
+    function data($moduleType=null, $allowRollups=false, $skipSort=false) {
+        if (!$allowRollups) {
+            $this->setProcessedModuleType($moduleType);
+        }
+
+        $type = YUI_DATA;
+
+        return $this->processDependencies($type, $moduleType, $skipSort);
+    }
+
+    /**
+    * Used to fetch a JSON object with the required JavaScript components 
+    * @method script_json
+    * @return {string} Returns a JSON object containing urls for each JavaScript component
+    */
+    function script_json() {
+        return $this->json(YUI_JS);
+    }
+    
+    /**
+    * Used to fetch a JSON object with the required CSS components
+    * @method css_json
+    * @return {string} Returns a JSON object containing urls for each CSS component
+    */
+    function css_json() {
+        return $this->json(YUI_CSS);
+    }
+
+    /**
+    *  Used to fetch a JSON object with the required JavaScript and CSS components
+    * @method json
+    * @param {string} moduleType
+    * @param {boolean} allowRollups
+    * @param {boolean} skipSort
+    * @param {boolean} full
+    * @return {string} Returns a JSON object with the required JavaScript and CSS components
+    */
+    function json($moduleType=null, $allowRollups=false, $skipSort=false, $full=false) {
+        if (!$allowRollups) {
+            $this->setProcessedModuleType($moduleType);
+        }
+
+        // the original JSON output only sent the provides data, not the requires
+        $type = YUI_JSON;
+
+        if ($full) {
+            $type = YUI_FULLJSON;
+        }
+
+        return $this->processDependencies($type, $moduleType, $skipSort);
+    }
+    /**
+    * Used to produce the raw JavaScript code inline without the actual script tags
+    * @method script_raw
+    * @return {string} Returns the raw JavaScript code inline without the actual script tags
+    */
+    function script_raw() {
+        return $this->raw(YUI_JS);
+    }
+
+    /**
+    * Used to produce the raw CSS code inline without the actual style tags
+    * @method css_raw
+    * @return {string} Returns the raw CSS code inline without the actual style tags
+    */
+    function css_raw() {
+        return $this->raw(YUI_CSS);
+    }
+
+    /**
+    * Used to produce the raw Javacript and CSS code inline without the actual script or style tags
+    * @method raw
+    * @param {string} moduleType
+    * @param {boolean} allowRollups
+    * @param {boolean} skipSort
+    * @return {string} Returns the raw JavaScript and/or CSS code inline without the actual style tags
+    */
+    function raw($moduleType=null, $allowRollups=false, $skipSort=false) {
+        return $this->processDependencies(YUI_RAW, $moduleType, $skipSort);
+    }
+    
+    /**
+    * General logging function.  Writes a message to the PHP error log.
+    * @method log
+    * @param {string} msg Message to write
+    */
+    function log($msg) {
+        error_log($msg, 0);
+    }
+    
+    /**
+    * Markes a module as being accounted for.  Used in dependency testing.
+    * @method accountFor
+    * @param {string} name Module to mark as being accounted for
+    */
+    function accountFor($name) {
+        $this->accountedFor[$name] = $name;
+        
+        if (isset($this->modules[$name])) {
+            $dep = $this->modules[$name];
+            $sups = $this->getSuperceded($name);
+            foreach ($sups as $supname=>$val) {
+                // accounting for by way of supersede package
+                $this->accountedFor[$supname] = true;
+            }
+        }
+    }
+
+    /**
+    * Used during dependecy processing to prune modules from the list of modules requiring further processing
+    * @method prune
+    * @param {array} deps List of module dependencies
+    * @param {string} moduleType Type of modules to prune (i.e.) js or css
+    * @return {array}
+    */
+    function prune($deps, $moduleType) {
+        if ($moduleType) {
+            $newdeps = array();
+            foreach ($deps as $name=>$val) {
+                $dep = $this->modules[$name];
+                if ($dep[YUI_TYPE] == $moduleType) {
+                    $newdeps[$name] = true;
+                }
+            }
+            return $newdeps;
+        } else {
+            return $deps;
+        }
+   }
+   
+   /**
+   * Use to get a list of modules superseded by the given module name
+   * @method getSuperceded
+   * @param {string} name Module name
+   * @return {array}
+   */
+   function getSuperceded($name) {
+        $key = YUI_SUPERSEDES . $name;
+
+        if (isset($this->depCache[$key])) {
+            return $this->depCache[$key];
+        }
+
+        $sups = array();
+
+        if (isset($this->modules[$name])) {
+            $m = $this->modules[$name];
+            if (isset($m[YUI_SUPERSEDES])) {
+                foreach ($m[YUI_SUPERSEDES] as $supName) {
+                    $sups[$supName] = true;
+                    if (isset($this->modules[$supName])) {
+                        $supsups = $this->getSuperceded($supName);
+                        if (count($supsups) > 0) {
+                            $sups = array_merge($sups, $supsups);
+                        }
+                    } 
+                }
+            }
+        }
+
+        $this->depCache[$key] = $sups;
+        return $sups;
+    }
+    
+    /**
+    * Identify dependencies for a give module name
+    * @method getAllDependencies
+    * @param {string} mname Module name
+    * @param {boolean} loadOptional Load optional dependencies
+    * @param {array} completed
+    * @return {array}
+    */
+    function getAllDependencies($mname, $loadOptional=false, $completed=array()) {
+        $key = YUI_REQUIRES . $mname;
+        if ($loadOptional) {
+            $key .= YUI_OPTIONAL;
+        }
+        
+        if (isset($this->depCache[$key])) {
+            return $this->depCache[$key];
+        }
+        
+        $m = $this->modules[$mname];
+        $mProvides = $this->getProvides($mname);
+        $reqs = array();
+    
+           //Some modules pretend to be others (override if this is the case)
+        if (isset($this->modules[$mname][YUI_EXPOUND])) {
+                       if (!isset($completed[$mname])) {
+                               $reqs = array_merge($completed, $this->getAllDependencies($this->modules[$mname][YUI_EXPOUND], $loadOptional, array($mname => true)));
+                       }
+        }
+
+        //Add any requirements defined on the module itself
+        if (isset($m[YUI_REQUIRES])) {
+            $origreqs = $m[YUI_REQUIRES];
+            foreach($origreqs as $r) {
+               if (!isset($reqs[$r])) {
+                       $reqs[$r] = true;
+                       $reqs = array_merge($reqs, $this->getAllDependencies($r, $loadOptional, $reqs));
+               }
+            }
+        }
+         
+        //Add any submodule requirements not provided by the rollups
+        if (isset($m[YUI_SUBMODULES])) {
+            foreach($m[YUI_SUBMODULES] as $submodule) {
+                $subreqs = $submodule[YUI_REQUIRES];
+                foreach($subreqs as $sr) {     
+                    if (!in_array($sr, $mProvides) && !in_array($sr, $this->accountedFor)) {
+                               if (!isset($reqs[$sr])) {
+                               $reqs[$sr] = true; 
+                               $reqs = array_merge($reqs, $this->getAllDependencies($sr, $loadOptional, $reqs));
+                               }
+                    }
+                }
+            }
+        }
+        
+        //Add any superseded requirements not provided by the rollup and/or rollup submodules
+        if (isset($m[YUI_SUPERSEDES])) {
+            foreach($m[YUI_SUPERSEDES] as $supersededModule) {
+                if (isset($this->modules[$supersededModule][YUI_REQUIRES])) {
+                    foreach($this->modules[$supersededModule][YUI_REQUIRES] as $supersededModuleReq) {
+                        if (!in_array($supersededModuleReq, $mProvides)) {
+                                       if (!isset($reqs[$supersededModuleReq])) {
+                                   $reqs[$supersededModuleReq] = true;
+                                   $reqs = array_merge($reqs, $this->getAllDependencies($supersededModuleReq, $loadOptional, $reqs));
+                                       }
+                        }
+                    }
+                }
+                
+                //Add any submodule requirements not provided by the rollup or originally requested module
+                if (isset($this->modules[$supersededModule][YUI_SUBMODULES])) {
+                    foreach($this->modules[$supersededModule][YUI_SUBMODULES] as $supersededSubmodule) {
+                        $ssmProvides = $this->getProvides($supersededModule);
+                        $supersededSubreqs = $supersededSubmodule[YUI_REQUIRES];
+                        foreach($supersededSubreqs as $ssr) {     
+                            if (!in_array($ssr, $ssmProvides)) {
+                                               if (!isset($reqs[$ssr])) {
+                                       $reqs[$ssr] = true;
+                                       $reqs = array_merge($reqs, $this->getAllDependencies($ssr, $loadOptional, $reqs));
+                                               }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        if ($loadOptional && isset($m[YUI_OPTIONAL])) {
+            $o = $m[YUI_OPTIONAL];
+            foreach($o as $opt) {
+                $reqs[$opt] = true;
+            }
+        }
+
+        $this->depCache[$key] = $reqs;
+        
+        return $reqs;
+    }
+
+    // @todo restore global dependency support
+    function getGlobalDependencies() {
+        return $this->globalModules;
+    }
+
+    /**
+     * Returns true if the supplied $satisfied module is satisfied by the
+     * supplied $satisfier module
+     */
+    function moduleSatisfies($satisfied, $satisfier) {
+        if($satisfied == $satisfier) {
+            return true;
+        }
+
+        if (isset($this->satisfactionMap[$satisfied])) {
+            $satisfiers = $this->satisfactionMap[$satisfied];
+            return isset($satisfiers[$satisfier]);
+        }
+
+        return false;
+    }
+
+    /**
+    * Used to override the base dir for specific set of modules (Note: not supported when using the combo service)
+    * @method overrideBase
+    * @param {string} base Base path (e.g.) 2.6.0/build
+    * @param {array} modules Module names of which to override base
+    */
+    function overrideBase($base, $modules) {
+        foreach ($modules as $name) {
+            $this->baseOverrides[$name] = $base;
+        }
+    }
+    
+    /**
+    * Used to determine if one module is satisfied by provided array of modules
+    * @method listSatisfies
+    * @param {string} satisfied Module name
+    * @param {array} moduleList List of modules names
+    * @return {boolean}
+    */
+    function listSatisfies($satisfied, $moduleList) {
+        if (isset($moduleList[$satisfied])) {
+            return true;
+        } else {
+            if (isset($this->satisfactionMap[$satisfied])) {
+                $satisfiers = $this->satisfactionMap[$satisfied];
+                foreach ($satisfiers as $name=>$val) {
+                    if (isset($moduleList[$name])) {
+                        return true;
+                    }
+                }
+            }
+        }
+
+        return false;
+    }
+    
+    /**
+    * Determine if rollup replacement threshold has been met
+    * @method checkThreshold
+    * @param {string} Module name
+    * @param {array} moduleList List of modules names
+    * @return {boolean}
+    */
+    function checkThreshold($module, $moduleList) {
+        if (count($moduleList) > 0 && isset($module[YUI_ROLLUP])) {
+            $matched = 0;
+            $thresh = $module[YUI_ROLLUP];
+            foreach ($moduleList as $moduleName=>$moddef) {
+                if (in_array($moduleName, $module[YUI_SUPERSEDES])) {
+                    $matched++;
+                }
+            }
+            
+            return ($matched >= $thresh);
+        }
+
+        return false;
+    }
+    
+    /**
+    * Used to sort dependencies in the proper order (Note: only call this if the loader is dirty)
+    * @method sortDependencies
+    * @param {string} Module name
+    * @param {array} moduleList List of modules names
+    * @return {boolean}
+    */
+    function sortDependencies($moduleType, $skipSort=false) {
+        $reqs = array();
+        $top = array();
+        $bot = array();
+        $notdone = array();
+        $sorted = array();
+        $found = array();
+
+        // add global dependenices so they are included when calculating rollups
+        $globals = $this->getGlobalDependencies($moduleType);
+        
+        foreach ($globals as $name=>$dep) {
+            $reqs[$name] = true;
+        }
+        
+        // get and store the full list of dependencies.
+        foreach ($this->requests as $name=>$val) {
+            $reqs[$name] = true;
+            $dep = $this->modules[$name];
+            $newreqs = $this->getAllDependencies($name, $this->loadOptional);
+            
+            foreach ($newreqs as $newname=>$newval) {
+                if (!isset($reqs[$newname])) {
+                    $reqs[$newname] = true;
+                }
+            }
+        }
+
+        // if we skip the sort, we just return the list that includes everything that
+        // was requested, all of their requirements, and global modules.  This is
+        // filtered by module type if supplied
+        if ($skipSort) {
+            return $this->prune($reqs, $moduleType);
+        }
+
+        // if we are sorting again after new modules have been requested, we
+        // do not rollup, and we can remove the accounted for modules
+        if (count($this->accountedFor) > 0 || count($this->loaded) > 0) {
+            foreach ($this->accountedFor as $name=>$val) {
+                if (isset($reqs[$name])) {
+                    unset($reqs[$name]);
+                }
+            }
+            
+            // removing satisfied req (loaded)
+            foreach ($this->loaded as $name=>$val) {
+                if (isset($reqs[$name])) {
+                    unset($reqs[$name]);
+                }
+            }
+        } else if ($this->allowRollups) {
+            // First we go through the meta-modules we know about to 
+            // see if the replacement threshold has been met.
+            $rollups = $this->rollupModules;
+
+            if (count($rollups > 0)) {
+                foreach ($rollups as $name => $rollup) {
+                    if (!isset($reqs[$name]) && $this->checkThreshold($rollup, $reqs) ) {
+                        $reqs[$name] = true;
+                        $dep = $this->modules[$name];
+                        $newreqs = $this->getAllDependencies($name, $this->loadOptional, $reqs);
+                        foreach ($newreqs as $newname=>$newval) {
+                            if (!isset($reqs[$newname])) {
+                                $reqs[$newname] = true;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        // clear out superceded packages
+        foreach ($reqs as $name => $val) {
+            $dep = $this->modules[$name];
+
+            if (isset($dep[YUI_SUPERSEDES])) {
+                $override = $dep[YUI_SUPERSEDES];
+                
+                foreach ($override as $i=>$val) {
+                    if (isset($reqs[$val])) {
+                        unset($reqs[$val]);
+                    }
+
+                    if (isset($reqs[$i])) {
+                        unset($reqs[$i]);
+                    }
+                }
+            }
+        }
+
+        // move globals to the top
+        foreach ($reqs as $name => $val) {
+            $dep = $this->modules[$name];
+            if (isset($dep[YUI_GLOBAL]) && $dep[YUI_GLOBAL]) {
+                $top[$name] = $name;
+            } else {
+                $notdone[$name] = $name;
+            }
+        }
+
+        // merge new order if we have globals   
+        if (count($top > 0)) {
+            $notdone = array_merge($top, $notdone);
+        }
+
+        // keep track of what is accounted for
+        foreach ($this->loaded as $name=>$module) {
+            $this->accountFor($name);
+        }
+
+        // keep going until everything is sorted
+        $count = 0;
+        while (count($notdone) > 0) {
+            if ($count++ > 200) {
+                $msg = "YUI_LOADER ERROR: sorting could not be completed, there may be a circular dependency";
+                error_log($msg, 0);
+                return array_merge($sorted, $notdone);
+            }
+            
+            // each pass only processed what has not been completed
+            foreach ($notdone as $name => $val) {
+                $dep = $this->modules[$name];                
+                $newreqs = $this->getAllDependencies($name, $this->loadOptional);
+                $this->accountFor($name);    
+                
+                //Detect if this module needs to be included after another one of the upcoming dependencies
+                if (isset($dep[YUI_AFTER])) {
+                    $after = $dep[YUI_AFTER];
+                    
+                    foreach($after as $a) {
+                        if (in_array($a, $notdone)) {
+                            $newreqs[$a] = true;
+                        }
+                    }
+                }
+
+                if (!empty($newreqs)) {
+                    foreach ($newreqs as $depname=>$depval) {
+                        // check if the item is accounted for in the $done list
+                        if (isset($this->accountedFor[$depname]) || $this->listSatisfies($depname, $sorted)) {
+                               //unset($notdone[$depname]);
+                        } else {
+                            $tmp = array();
+                            $found = false;
+                            foreach ($notdone as $newname => $newval) {
+                                if ($this->moduleSatisfies($depname, $newname)) {
+                                    $tmp[$newname] = $newname;
+                                    unset($notdone[$newname]);
+                                    $found = true;
+                                    break; // found something that takes care of the dependency, so jump out
+                                }
+                            }
+                            
+                            if ($found) {
+                                // this should put the module that handles the dependency on top, immediately
+                                // over the the item with the missing dependency
+                                $notdone = array_merge($tmp, $notdone);
+                            } else {
+                                //Requirement was missing and not found within the current notdone list.  Add and try again.
+                                $notdone[$depname] = $depname;
+                            }
+                            
+                            break(2); // break out of this iteration so we can get the missed dependency
+                        }
+                    }
+                }
+            
+                $sorted[$name] = $name;
+                unset($notdone[$name]);
+            }
+        }
+        
+        //Deal with module skins
+        foreach ($sorted as $name => $val) {
+            $skinName = $this->skinSetup($name);
+        }
+
+        if ( count($this->skins) > 0 ) {
+            foreach ($this->skins as $name => $val) {
+                $sorted[$val] = true;
+            }
+        }
+
+        $this->dirty = false;
+        $this->sorted = $sorted;
+
+        // store the results, set clear the diry flag
+        return $this->prune($sorted, $moduleType);
+    }
+    function mapSatisfyingModule($satisfied, $satisfier) {
+        if (!isset($this->satisfactionMap[$satisfied])) {
+            $this->satisfactionMap[$satisfied] = array();
+        }
+
+        $this->satisfactionMap[$satisfied][$satisfier] = true;
+    }
+    
+    /**
+    * Used to process the dependency list and retrieve the actual CSS and/or JavaScript resources
+    * in requested output format (e.g.) json, link/script nodes, embeddable code, php array, etc.
+    * @method processDependencies
+    * @param {string} outputType the format you like the response to be in
+    * @param {string} moduleType Type of module to return (i.e.) js or css
+    * @param {boolean} skipSort
+    * @param {boolean} showLoaded
+    * @return {varies} output format based on requested outputType
+    */
+    function processDependencies($outputType, $moduleType, $skipSort=false, $showLoaded=false) {
+        $html = '';
+
+        // sort the output with css on top unless the output type is json
+        if ((!$moduleType) && (strpos($outputType, YUI_JSON) === false) && $outputType != YUI_DATA) {
+            $this->delayCache = true;
+            $css = $this->processDependencies($outputType, YUI_CSS, $skipSort, $showLoaded);
+            $js  = $this->processDependencies($outputType, YUI_JS, $skipSort, $showLoaded);
+
+            // If the data has not been cached, cache what we have
+            if (!$this->cacheFound) {
+                $this->updateCache();
+            }
+
+            return $css . $js;
+        }
+        
+        $json = array();
+
+        if ($showLoaded || (!$this->dirty && count($this->sorted) > 0)) {
+            $sorted = $this->prune($this->sorted, $moduleType);
+        } else {
+            $sorted = $this->sortDependencies($moduleType, $skipSort);
+        }
+
+        foreach ($sorted as $name => $val) {
+            if ($showLoaded || !isset($this->loaded[$name])) {
+                $dep = $this->modules[$name];
+                // only generate the tag once
+                switch ($outputType) {
+                    case YUI_EMBED:
+                        $html .= $this->getContent($name, $dep[YUI_TYPE])."\n";
+                        break;
+                    case YUI_RAW:
+                        $html .= $this->getRaw($name)."\n";
+                        break;
+                    case YUI_JSON:
+                    case YUI_DATA:
+                        //$json[$dep[YUI_TYPE]][$this->getUrl($name)] = $this->getProvides($name);
+                        $json[$dep[YUI_TYPE]][] = array(
+                                $this->getUrl($name) => $this->getProvides($name)
+                            );
+                        break;
+                    case YUI_FULLJSON:
+                        $json[$dep[YUI_NAME]] = array();
+                        $item = $json[$dep[YUI_NAME]];
+                        $item[YUI_TYPE] = $dep[YUI_TYPE];
+                        $item[YUI_URL] = $this->getUrl($name);
+                        $item[YUI_PROVIDES] = $this->getProvides($name);
+                        $item[YUI_REQUIRES] = $dep[YUI_REQUIRES];
+                        $item[YUI_OPTIONAL] = $dep[YUI_OPTIONAL];
+                        break;
+                    case YUI_TAGS:
+                    default:
+                        if ($this->combine === true && $this->customModulesInUse === false) {
+                            $this->addToCombo($name, $dep[YUI_TYPE]);
+                            $html = $this->getComboLink($dep[YUI_TYPE]);
+                        } else {
+                           $html .= $this->getLink($name, $dep[YUI_TYPE])."\n";
+                        }
+                }
+            }
+        }
+
+        // If the data has not been cached, and we are not running two
+        // rotations for separating css and js, cache what we have
+        if (!$this->cacheFound && !$this->delayCache) {
+            $this->updateCache();
+        }
+
+        if (!empty($json)) {
+            if ($this->canJSON()) {
+                $html .= json_encode($json);
+            } else {
+                $html .= "<!-- JSON not available, request failed -->";
+            }
+        }
+
+        // after the first pass we no longer try to use meta modules
+        $this->setProcessedModuleType($moduleType);
+
+        // keep track of all the stuff we loaded so that we don't reload 
+        // scripts if the page makes multiple calls to tags
+        $this->loaded = array_merge($this->loaded, $sorted);
+        if ($this->combine === true) {
+            $this->clearComboLink($outputType);
+        }
+
+        // return the raw data structure
+        if ($outputType == YUI_DATA) {
+            return $json;
+        }
+
+        if ( count($this->undefined) > 0 ) {
+            $html .= "<!-- The following modules were requested but are not defined: " . join($this -> undefined, ",") . " -->\n";
+        }
+
+        return $html;
+    }
+
+    /**
+    * Retrieve the calculated url for the component in question
+    * @method getUrl
+    * @param {string} name YUI component name
+    */
+    function getUrl($name) {
+        // figure out how to set targets and filters
+        $url = "";
+        $b = $this->base;
+        if (isset($this->baseOverrides[$name])) {
+            $b = $this->baseOverrides[$name];
+        }
+
+        if (isset($this->modules[$name])) {
+            $m = $this->modules[$name];
+            if (isset($m[YUI_FULLPATH])) {
+                $url = $m[YUI_FULLPATH];
+            } else {
+                $url = $b . $m[YUI_PATH];
+            }
+        } else {
+            $url = $b . $name;
+        }
+
+        if ($this->filter) {
+            if (count($this->filterList) > 0 && !isset($this->filterList[$name])) {
+                // skip the filter
+            } else if (isset($this->filters[$this->filter])) {
+                $filter = $this->filters[$this->filter];
+                $url = preg_replace($filter[YUI_SEARCH], $filter[YUI_REPLACE], $url);
+            }
+        }
+
+        if ($this->version) {
+            $pre = (strstr($url, '?')) ? '&' : '?';
+            $url .= $pre . $this->versionKey . '=' . $this->version;
+        }
+        
+        return $url;
+    }
+
+    /**
+    * Retrieve the contents of a remote resource
+    * @method getRemoteContent
+    * @param {string} url URL to fetch data from
+    * @return raw source
+    */
+    function getRemoteContent($url) {
+        $remote_content = null;
+        if ($this->apcAvail === true) {
+            $remote_content = apc_fetch($url);
+        }        
+
+        if (!$remote_content) {
+            if($this->curlAvail === true) {
+                $ch = curl_init();
+                curl_setopt($ch, CURLOPT_URL, $url);
+                curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
+
+                //Doesn't work in safe mode or with openbase_dir enabled, see http://au.php.net/manual/ro/function.curl-setopt.php#71313.
+                $open_basedir = ini_get("open_basedir");
+                if (empty($open_basedir) && !ini_get('safe_mode')) {
+                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
+                }
+
+                curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
+                // curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
+
+                $remote_content = curl_exec($ch);
+
+                // save the contents of the remote url for 30 minutes
+                if ($this->apcAvail === true) {
+                    apc_store($url, $remote_content, $this->apcttl);
+                }
+
+                curl_close ($ch);
+            } else {
+                $remote_content = "<!--// cURL was not detected, so the content cannot be fetched -->";
+            }   
+        }
+
+        return $remote_content;
+    }
+    
+    /**
+    * Retrieve the raw source contents for a given module name
+    * @method getRaw
+    * @param {string} name The module name you wish to fetch the source from
+    * @return {string} raw source
+    */
+    function getRaw($name) {        
+        if(!$this->curlAvail) {
+            return "<!--// cURL was not detected, so the content cannot be fetched -->";
+        }
+
+        $url = $this->getUrl($name);
+        return $this->getRemoteContent($url);
+    }
+
+    /**
+    * Retrieve the style or script node with embedded source for a given module name and resource type
+    * @method getContent
+    * @param {string} name The module name to fetch the source from
+    * @param {string} type Resource type (i.e.) YUI_JS or YUI_CSS
+    * @return {string} style or script node with embedded source
+    */
+    function getContent($name, $type) {
+        if(!$this->curlAvail) {
+            return "<!--// cURL was not detected, so the content cannot be fetched/embedded -->" . $this->getLink($name, $type);
+        }
+
+        $url = $this->getUrl($name);
+
+        if (!$url) {
+            return '<!-- PATH FOR "'. $name . '" NOT SPECIFIED -->';
+        } else if ($type == YUI_CSS) {
+            return '<style type="text/css">' . $this->getRemoteContent($url) . '</style>';
+        } else {
+            return '<script type="text/javascript">' . $this->getRemoteContent($url) . '</script>'; 
+        }
+    }
+    
+    /**
+    * Retrieve the link or script include for a given module name and resource type
+    * @method getLink
+    * @param {string} name The module name to fetch the include for
+    * @param {string} type Resource type (i.e.) YUI_JS or YUI_CSS
+    * @return {string} link or script include
+    */
+    function getLink($name, $type) {
+        $url = $this->getUrl($name);
+
+        if (!$url) {
+            return '<!-- PATH FOR "'. $name . '" NOT SPECIFIED -->';
+        } else if ($type == YUI_CSS) {
+            return '<link rel="stylesheet" type="text/css" href="' . $url . '" />';
+        } else {
+            return '<script type="text/javascript" src="' . $url . '"></script>';
+        }
+    }
+  
+    /**
+    * Retrieves the combo link or script include for the currently loaded modules of a specific resource type
+    * @method getComboLink
+    * @param {string} type Resource type (i.e.) YUI_JS or YUI_CSS
+    * @return {string} link or script include
+    */
+    function getComboLink($type) {
+        $url = '';
+        
+        if ($type == YUI_CSS) {
+            if ($this->cssComboLocation !== null) {
+                $url = "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$this->cssComboLocation}\" />";
+            } else {
+                $url = "<!-- NO YUI CSS COMPONENTS IDENTIFIED -->";
+            }
+        } else if ($type == YUI_JS) {
+            if ($this->jsComboLocation !== null) {
+                if ($this->cssComboLocation !== null) {
+                    $url = "\n";
+                }
+                $url .= "<script type=\"text/javascript\" src=\"{$this->jsComboLocation}\"></script>";
+            } else {
+                $url = "<!-- NO YUI JAVASCRIPT COMPONENTS IDENTIFIED -->";
+            }
+        }
+        
+        //Allow for RAW & DEBUG over minified default
+        if ($this->filter) {
+            if (count($this->filterList) > 0 && !isset($this->filterList[$name])) {
+                // skip the filter
+            } else if (isset($this->filters[$this->filter])) {
+                $filter = $this->filters[$this->filter];
+                $url = preg_replace($filter[YUI_SEARCH], $filter[YUI_REPLACE], $url);
+            }
+        }
+        
+        return $url;
+    }
+    
+    /**
+    * Clears the combo url of already loaded modules for a specific resource type.  Prevents
+    * duplicate loading of modules if the page makes multiple calls to tags, css, or script.
+    * @method clearComboLink
+    * @param {string} type Resource type (i.e.) YUI_JS or YUI_CSS
+    */
+    function clearComboLink($type) {
+        if ($type == YUI_CSS) {
+            $this->cssComboLocation = null;
+        } else if ($type == YUI_JS) {
+            $this->jsComboLocation = null;
+        } else {
+            $this->cssComboLocation = null;
+            $this->jsComboLocation  = null;
+        }
+    }
+    
+    /**
+    * Adds a module the combo collection for a specified resource type
+    * @method addToCombo
+    * @param {string} name The module name to add
+    * @param {string} type Resource type (i.e.) YUI_JS or YUI_CSS
+    */
+    function addToCombo($name, $type) {
+        $pathToModule = $this->comboDefaultVersion . '/build/' . $this->modules[$name][YUI_PATH];
+        if ($type == YUI_CSS) {
+            //If this is the first css component then add the combo base path
+            if ($this->cssComboLocation === null) {
+                $this->cssComboLocation = $this->comboBase . $pathToModule;
+            } else {
+                //Prep for next component
+                $this->cssComboLocation .= '&' . $pathToModule;
+            }
+        } else {
+            //If this is the first js component then add the combo base path
+            if ($this->jsComboLocation === null) {
+                $this->jsComboLocation = $this->comboBase . $pathToModule;
+            } else {
+                //Prep for next component
+                $this->jsComboLocation .= '&' . $pathToModule;
+            }
+        }
+    }
+  
+    /**
+    * Detects if environment supports JSON encode/decode
+    * @method canJSON
+    * @return boolean
+    */
+    function canJSON() {
+        return $this->jsonAvail;
+    }
+    
+    /**
+    * Identifies what module(s) are provided by a given module name (e.g.) yaho-dom-event provides yahoo, dom, and event
+    * @method getProvides
+    * @param {string} name Module name
+    * @return {array}
+    */
+    function getProvides($name) {
+        $p = array($name);
+        if (isset($this->modules[$name])) {
+            $m = $this->modules[$name];
+            if (isset($m[YUI_SUPERSEDES])) {
+                foreach ($m[YUI_SUPERSEDES] as $i) {
+                    $p[] = $i;
+                }
+            }
+        }
+
+        return $p;
+    }
+    
+    /**
+    * Identifies what module(s) have been loaded via the load method and/or marked as loaded via the setLoaded method
+    * @method getLoadedModules
+    * @return {array}
+    */
+    function getLoadedModules() {
+        $loaded = array();
+        foreach ($this->loaded as $i=>$value) {
+            if (isset($this->modules[$i])) {
+                $dep = $this->modules[$i];
+                $loaded[$dep[YUI_TYPE]][] = array(
+                        $this->getUrl($i) => $this->getProvides($i)
+                    );
+            } else {
+                $msg = "YUI_LOADER ERROR: encountered undefined module: " . $i;
+                error_log($msg, 0);
+            }
+        }
+        return $loaded;
+    }
+
+    /**
+    * Identifies what module(s) have been loaded via the load method and/or marked as loaded via the setLoaded method
+    * @method getLoadedModulesAsJSON
+    * @return {json}
+    */
+    function getLoadedModulesAsJSON() {
+        if (!$this->canJSON()) {
+            return "{\"Error\", \"json library not available\"}";
+        }
+
+        return json_encode($this->getLoadedModules());
+    }
+}
+
+?>
index 8996a6dcd5265f7b613797f8306615911d071058..4490ba59b8b73103789008ad3cda4f5f0fce8d6c 100644 (file)
@@ -1,13 +1,21 @@
-This directory is a copy of the "build"
-directory from the Yahoo User Interface library, downloaded
-from:
+Description of import of various YAHOO libraries into Moodle:
 
-        http://developer.yahoo.com/yui
+1/ YUI2 version 2.8.0r4:
+* full copy of the "build" directory without any changes
+* exact version specified in lib/setup.php 
+
+2/ YUI3 version 3.0.0:
+* full copy of the "build" directory without any changes
+* exact version specified in lib/setup.php
+
+3/ PHPLoader 1.0.0b2:
+* removed everything except the lib/meta/* and phploader/loader.php 
+
+
+Code downloaded from:
+http://developer.yahoo.com/yui
 
-Changes: NONE
 
-Notes:
-* current YUI versions numbers have to be specified in lib/setup.php
 
 Added to Moodle 13 July 2006
 Updated to YUI 0.12.0, 23 November 2006
@@ -18,4 +26,4 @@ Updated to YUI 2.5.2, 25 July 2008
 Updated to YUI 2.6.0, 03 October 2008
 Updated to YUI 2.7.0, 14 May 2009 (2.0dev only)
 Updated to YUI 2.8.0r4+3.0.0, 12 December 2009 (2.0dev only)
-
+Added PHPLoader 1.0.0b2, 25 December 2009 (2.0dev only)