Merge lp:~andreserl/maas/precise.sru.jslibs into lp:~maas-maintainers/maas/packaging.precise.sru

Proposed by Andres Rodriguez
Status: Merged
Approved by: Andres Rodriguez
Approved revision: no longer in the source branch.
Merged at revision: 164
Proposed branch: lp:~andreserl/maas/precise.sru.jslibs
Merge into: lp:~maas-maintainers/maas/packaging.precise.sru
Diff against target: 415462 lines (+407895/-3)
1271 files modified
debian/changelog (+4/-0)
debian/control (+0/-3)
debian/extras/jslibs/raphael/raphael-min.js (+10/-0)
debian/extras/jslibs/yui/align-plugin/align-plugin-debug.js (+199/-0)
debian/extras/jslibs/yui/align-plugin/align-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/align-plugin/align-plugin.js (+199/-0)
debian/extras/jslibs/yui/anim-base/anim-base-debug.js (+682/-0)
debian/extras/jslibs/yui/anim-base/anim-base-min.js (+7/-0)
debian/extras/jslibs/yui/anim-base/anim-base.js (+681/-0)
debian/extras/jslibs/yui/anim-color/anim-color-debug.js (+54/-0)
debian/extras/jslibs/yui/anim-color/anim-color-min.js (+7/-0)
debian/extras/jslibs/yui/anim-color/anim-color.js (+54/-0)
debian/extras/jslibs/yui/anim-curve/anim-curve-debug.js (+63/-0)
debian/extras/jslibs/yui/anim-curve/anim-curve-min.js (+7/-0)
debian/extras/jslibs/yui/anim-curve/anim-curve.js (+63/-0)
debian/extras/jslibs/yui/anim-easing/anim-easing-debug.js (+356/-0)
debian/extras/jslibs/yui/anim-easing/anim-easing-min.js (+7/-0)
debian/extras/jslibs/yui/anim-easing/anim-easing.js (+356/-0)
debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-debug.js (+32/-0)
debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin.js (+32/-0)
debian/extras/jslibs/yui/anim-scroll/anim-scroll-debug.js (+44/-0)
debian/extras/jslibs/yui/anim-scroll/anim-scroll-min.js (+7/-0)
debian/extras/jslibs/yui/anim-scroll/anim-scroll.js (+44/-0)
debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-debug.js (+112/-0)
debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-min.js (+7/-0)
debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform.js (+112/-0)
debian/extras/jslibs/yui/anim-xy/anim-xy-debug.js (+32/-0)
debian/extras/jslibs/yui/anim-xy/anim-xy-min.js (+7/-0)
debian/extras/jslibs/yui/anim-xy/anim-xy.js (+32/-0)
debian/extras/jslibs/yui/app-base/app-base-debug.js (+1142/-0)
debian/extras/jslibs/yui/app-base/app-base-min.js (+7/-0)
debian/extras/jslibs/yui/app-base/app-base.js (+1142/-0)
debian/extras/jslibs/yui/app-transitions-css/app-transitions-css-min.css (+7/-0)
debian/extras/jslibs/yui/app-transitions-css/app-transitions-css.css (+24/-0)
debian/extras/jslibs/yui/app-transitions-native/app-transitions-native-debug.js (+358/-0)
debian/extras/jslibs/yui/app-transitions-native/app-transitions-native-min.js (+7/-0)
debian/extras/jslibs/yui/app-transitions-native/app-transitions-native.js (+358/-0)
debian/extras/jslibs/yui/app-transitions/app-transitions-debug.js (+257/-0)
debian/extras/jslibs/yui/app-transitions/app-transitions-min.js (+7/-0)
debian/extras/jslibs/yui/app-transitions/app-transitions.js (+257/-0)
debian/extras/jslibs/yui/array-extras/array-extras-debug.js (+367/-0)
debian/extras/jslibs/yui/array-extras/array-extras-min.js (+7/-0)
debian/extras/jslibs/yui/array-extras/array-extras.js (+366/-0)
debian/extras/jslibs/yui/array-invoke/array-invoke-debug.js (+46/-0)
debian/extras/jslibs/yui/array-invoke/array-invoke-min.js (+7/-0)
debian/extras/jslibs/yui/array-invoke/array-invoke.js (+46/-0)
debian/extras/jslibs/yui/arraylist-add/arraylist-add-debug.js (+93/-0)
debian/extras/jslibs/yui/arraylist-add/arraylist-add-min.js (+7/-0)
debian/extras/jslibs/yui/arraylist-add/arraylist-add.js (+93/-0)
debian/extras/jslibs/yui/arraylist-filter/arraylist-filter-debug.js (+51/-0)
debian/extras/jslibs/yui/arraylist-filter/arraylist-filter-min.js (+7/-0)
debian/extras/jslibs/yui/arraylist-filter/arraylist-filter.js (+51/-0)
debian/extras/jslibs/yui/arraylist/arraylist-debug.js (+220/-0)
debian/extras/jslibs/yui/arraylist/arraylist-min.js (+7/-0)
debian/extras/jslibs/yui/arraylist/arraylist.js (+220/-0)
debian/extras/jslibs/yui/arraysort/arraysort-debug.js (+71/-0)
debian/extras/jslibs/yui/arraysort/arraysort-min.js (+7/-0)
debian/extras/jslibs/yui/arraysort/arraysort.js (+71/-0)
debian/extras/jslibs/yui/assets/skins/sam/autocomplete-list.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/calendar-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/calendar.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/calendarnavigator.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/console-filters.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/console.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/datatable-base-deprecated.css (+8/-0)
debian/extras/jslibs/yui/assets/skins/sam/datatable-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/datatable-message.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/datatable-scroll.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/datatable-sort.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/dial.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/node-flick.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/node-menunav.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/overlay.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/panel.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/resize-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/scrollview-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/scrollview-list.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/scrollview-scrollbars.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/skin.css (+35/-0)
debian/extras/jslibs/yui/assets/skins/sam/slider-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/tabview.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/test-console.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/test.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/widget-base.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/widget-buttons.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/widget-modality.css (+7/-0)
debian/extras/jslibs/yui/assets/skins/sam/widget-stack.css (+7/-0)
debian/extras/jslibs/yui/async-queue/async-queue-debug.js (+528/-0)
debian/extras/jslibs/yui/async-queue/async-queue-min.js (+7/-0)
debian/extras/jslibs/yui/async-queue/async-queue.js (+528/-0)
debian/extras/jslibs/yui/attribute-base/attribute-base-debug.js (+111/-0)
debian/extras/jslibs/yui/attribute-base/attribute-base-min.js (+7/-0)
debian/extras/jslibs/yui/attribute-base/attribute-base.js (+111/-0)
debian/extras/jslibs/yui/attribute-complex/attribute-complex-debug.js (+132/-0)
debian/extras/jslibs/yui/attribute-complex/attribute-complex-min.js (+7/-0)
debian/extras/jslibs/yui/attribute-complex/attribute-complex.js (+132/-0)
debian/extras/jslibs/yui/attribute-core/attribute-core-debug.js (+1029/-0)
debian/extras/jslibs/yui/attribute-core/attribute-core-min.js (+7/-0)
debian/extras/jslibs/yui/attribute-core/attribute-core.js (+1017/-0)
debian/extras/jslibs/yui/attribute-events/attribute-events-debug.js (+180/-0)
debian/extras/jslibs/yui/attribute-events/attribute-events-min.js (+7/-0)
debian/extras/jslibs/yui/attribute-events/attribute-events.js (+179/-0)
debian/extras/jslibs/yui/attribute-extras/attribute-extras-debug.js (+150/-0)
debian/extras/jslibs/yui/attribute-extras/attribute-extras-min.js (+7/-0)
debian/extras/jslibs/yui/attribute-extras/attribute-extras.js (+149/-0)
debian/extras/jslibs/yui/autocomplete-base/autocomplete-base-debug.js (+1552/-0)
debian/extras/jslibs/yui/autocomplete-base/autocomplete-base-min.js (+8/-0)
debian/extras/jslibs/yui/autocomplete-base/autocomplete-base.js (+1544/-0)
debian/extras/jslibs/yui/autocomplete-filters-accentfold/autocomplete-filters-accentfold-debug.js (+142/-0)
debian/extras/jslibs/yui/autocomplete-filters-accentfold/autocomplete-filters-accentfold-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-filters-accentfold/autocomplete-filters-accentfold.js (+142/-0)
debian/extras/jslibs/yui/autocomplete-filters/autocomplete-filters-debug.js (+245/-0)
debian/extras/jslibs/yui/autocomplete-filters/autocomplete-filters-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-filters/autocomplete-filters.js (+245/-0)
debian/extras/jslibs/yui/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-debug.js (+113/-0)
debian/extras/jslibs/yui/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold.js (+113/-0)
debian/extras/jslibs/yui/autocomplete-highlighters/autocomplete-highlighters-debug.js (+205/-0)
debian/extras/jslibs/yui/autocomplete-highlighters/autocomplete-highlighters-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-highlighters/autocomplete-highlighters.js (+205/-0)
debian/extras/jslibs/yui/autocomplete-list-keys/autocomplete-list-keys-debug.js (+192/-0)
debian/extras/jslibs/yui/autocomplete-list-keys/autocomplete-list-keys-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-list-keys/autocomplete-list-keys.js (+192/-0)
debian/extras/jslibs/yui/autocomplete-list/assets/autocomplete-list-core.css (+33/-0)
debian/extras/jslibs/yui/autocomplete-list/assets/skins/night/autocomplete-list-skin.css (+57/-0)
debian/extras/jslibs/yui/autocomplete-list/assets/skins/night/autocomplete-list.css (+7/-0)
debian/extras/jslibs/yui/autocomplete-list/assets/skins/sam/autocomplete-list-skin.css (+23/-0)
debian/extras/jslibs/yui/autocomplete-list/assets/skins/sam/autocomplete-list.css (+7/-0)
debian/extras/jslibs/yui/autocomplete-list/autocomplete-list-debug.js (+893/-0)
debian/extras/jslibs/yui/autocomplete-list/autocomplete-list-min.js (+8/-0)
debian/extras/jslibs/yui/autocomplete-list/autocomplete-list.js (+893/-0)
debian/extras/jslibs/yui/autocomplete-list/lang/autocomplete-list.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-list/lang/autocomplete-list_en.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-plugin/autocomplete-plugin-debug.js (+54/-0)
debian/extras/jslibs/yui/autocomplete-plugin/autocomplete-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-plugin/autocomplete-plugin.js (+54/-0)
debian/extras/jslibs/yui/autocomplete-sources/autocomplete-sources-debug.js (+482/-0)
debian/extras/jslibs/yui/autocomplete-sources/autocomplete-sources-min.js (+7/-0)
debian/extras/jslibs/yui/autocomplete-sources/autocomplete-sources.js (+482/-0)
debian/extras/jslibs/yui/base-base/base-base-debug.js (+354/-0)
debian/extras/jslibs/yui/base-base/base-base-min.js (+7/-0)
debian/extras/jslibs/yui/base-base/base-base.js (+352/-0)
debian/extras/jslibs/yui/base-build/base-build-debug.js (+428/-0)
debian/extras/jslibs/yui/base-build/base-build-min.js (+7/-0)
debian/extras/jslibs/yui/base-build/base-build.js (+428/-0)
debian/extras/jslibs/yui/base-core/base-core-debug.js (+621/-0)
debian/extras/jslibs/yui/base-core/base-core-min.js (+7/-0)
debian/extras/jslibs/yui/base-core/base-core.js (+616/-0)
debian/extras/jslibs/yui/base-pluginhost/base-pluginhost-debug.js (+42/-0)
debian/extras/jslibs/yui/base-pluginhost/base-pluginhost-min.js (+7/-0)
debian/extras/jslibs/yui/base-pluginhost/base-pluginhost.js (+42/-0)
debian/extras/jslibs/yui/button-base/button-base-debug.js (+344/-0)
debian/extras/jslibs/yui/button-base/button-base-min.js (+7/-0)
debian/extras/jslibs/yui/button-base/button-base.js (+344/-0)
debian/extras/jslibs/yui/button-core/button-core-debug.js (+253/-0)
debian/extras/jslibs/yui/button-core/button-core-min.js (+7/-0)
debian/extras/jslibs/yui/button-core/button-core.js (+253/-0)
debian/extras/jslibs/yui/button-group/button-group-debug.js (+182/-0)
debian/extras/jslibs/yui/button-group/button-group-min.js (+7/-0)
debian/extras/jslibs/yui/button-group/button-group.js (+182/-0)
debian/extras/jslibs/yui/button-plugin/button-plugin-debug.js (+138/-0)
debian/extras/jslibs/yui/button-plugin/button-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/button-plugin/button-plugin.js (+138/-0)
debian/extras/jslibs/yui/button/button-debug.js (+325/-0)
debian/extras/jslibs/yui/button/button-min.js (+7/-0)
debian/extras/jslibs/yui/button/button.js (+325/-0)
debian/extras/jslibs/yui/cache-base/cache-base-debug.js (+448/-0)
debian/extras/jslibs/yui/cache-base/cache-base-min.js (+7/-0)
debian/extras/jslibs/yui/cache-base/cache-base.js (+438/-0)
debian/extras/jslibs/yui/cache-offline/cache-offline-debug.js (+347/-0)
debian/extras/jslibs/yui/cache-offline/cache-offline-min.js (+7/-0)
debian/extras/jslibs/yui/cache-offline/cache-offline.js (+339/-0)
debian/extras/jslibs/yui/cache-plugin/cache-plugin-debug.js (+59/-0)
debian/extras/jslibs/yui/cache-plugin/cache-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/cache-plugin/cache-plugin.js (+59/-0)
debian/extras/jslibs/yui/calendar-base/assets/calendar-base-core.css (+27/-0)
debian/extras/jslibs/yui/calendar-base/assets/calendar-core.css (+37/-0)
debian/extras/jslibs/yui/calendar-base/assets/calendarnavigator-core.css (+22/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/night/calendar-base-skin.css (+88/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/night/calendar-base.css (+7/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/night/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/night/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/sam/calendar-base-skin.css (+94/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/sam/calendar-base.css (+7/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/sam/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendar-base/assets/skins/sam/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendar-base/calendar-base-debug.js (+1702/-0)
debian/extras/jslibs/yui/calendar-base/calendar-base-min.js (+9/-0)
debian/extras/jslibs/yui/calendar-base/calendar-base.js (+1702/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_de.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_en.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_fr.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_ja.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_nb-NO.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_pt-BR.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_ru.js (+7/-0)
debian/extras/jslibs/yui/calendar-base/lang/calendar-base_zh-HANT-TW.js (+7/-0)
debian/extras/jslibs/yui/calendar/assets/calendar-base-core.css (+27/-0)
debian/extras/jslibs/yui/calendar/assets/calendar-core.css (+37/-0)
debian/extras/jslibs/yui/calendar/assets/calendarnavigator-core.css (+22/-0)
debian/extras/jslibs/yui/calendar/assets/skins/night/calendar-base-skin.css (+88/-0)
debian/extras/jslibs/yui/calendar/assets/skins/night/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendar/assets/skins/night/calendar.css (+7/-0)
debian/extras/jslibs/yui/calendar/assets/skins/night/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendar/assets/skins/sam/calendar-base-skin.css (+94/-0)
debian/extras/jslibs/yui/calendar/assets/skins/sam/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendar/assets/skins/sam/calendar.css (+7/-0)
debian/extras/jslibs/yui/calendar/assets/skins/sam/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendar/calendar-base-debug.js (+183/-0)
debian/extras/jslibs/yui/calendar/calendar-base-min.js (+7/-0)
debian/extras/jslibs/yui/calendar/calendar-base.js (+182/-0)
debian/extras/jslibs/yui/calendar/calendar-debug.js (+544/-0)
debian/extras/jslibs/yui/calendar/calendar-min.js (+7/-0)
debian/extras/jslibs/yui/calendar/calendar.js (+544/-0)
debian/extras/jslibs/yui/calendar/lang/calendar.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_de.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_en.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_fr.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_ja.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_nb-NO.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_pt-BR.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_ru.js (+7/-0)
debian/extras/jslibs/yui/calendar/lang/calendar_zh-HANT-TW.js (+7/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/calendar-base-core.css (+27/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/calendar-core.css (+37/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/calendarnavigator-core.css (+22/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/night/calendar-base-skin.css (+88/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/night/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/night/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/night/calendarnavigator.css (+7/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/sam/calendar-base-skin.css (+94/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/sam/calendar-skin.css (+13/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/sam/calendarnavigator-skin.css (+39/-0)
debian/extras/jslibs/yui/calendarnavigator/assets/skins/sam/calendarnavigator.css (+7/-0)
debian/extras/jslibs/yui/calendarnavigator/calendarnavigator-debug.js (+284/-0)
debian/extras/jslibs/yui/calendarnavigator/calendarnavigator-min.js (+7/-0)
debian/extras/jslibs/yui/calendarnavigator/calendarnavigator.js (+284/-0)
debian/extras/jslibs/yui/charts-base/charts-base-debug.js (+15451/-0)
debian/extras/jslibs/yui/charts-base/charts-base-min.js (+27/-0)
debian/extras/jslibs/yui/charts-base/charts-base.js (+15451/-0)
debian/extras/jslibs/yui/charts-legend/charts-legend-debug.js (+1668/-0)
debian/extras/jslibs/yui/charts-legend/charts-legend-min.js (+9/-0)
debian/extras/jslibs/yui/charts-legend/charts-legend.js (+1668/-0)
debian/extras/jslibs/yui/charts/charts-debug.js (+30/-0)
debian/extras/jslibs/yui/charts/charts-min.js (+7/-0)
debian/extras/jslibs/yui/charts/charts.js (+30/-0)
debian/extras/jslibs/yui/classnamemanager/classnamemanager-debug.js (+90/-0)
debian/extras/jslibs/yui/classnamemanager/classnamemanager-min.js (+7/-0)
debian/extras/jslibs/yui/classnamemanager/classnamemanager.js (+90/-0)
debian/extras/jslibs/yui/clickable-rail/assets/slider-base-core.css (+37/-0)
debian/extras/jslibs/yui/clickable-rail/assets/slider-core.css (+37/-0)
debian/extras/jslibs/yui/clickable-rail/clickable-rail-debug.js (+219/-0)
debian/extras/jslibs/yui/clickable-rail/clickable-rail-min.js (+7/-0)
debian/extras/jslibs/yui/clickable-rail/clickable-rail.js (+219/-0)
debian/extras/jslibs/yui/console-filters/assets/console-filters-core.css (+6/-0)
debian/extras/jslibs/yui/console-filters/assets/skins/sam/console-filters-skin.css (+33/-0)
debian/extras/jslibs/yui/console-filters/assets/skins/sam/console-filters.css (+7/-0)
debian/extras/jslibs/yui/console-filters/console-filters-debug.js (+729/-0)
debian/extras/jslibs/yui/console-filters/console-filters-min.js (+7/-0)
debian/extras/jslibs/yui/console-filters/console-filters.js (+729/-0)
debian/extras/jslibs/yui/console/assets/console-core.css (+6/-0)
debian/extras/jslibs/yui/console/assets/console-filters-core.css (+6/-0)
debian/extras/jslibs/yui/console/assets/skins/sam/console-filters-skin.css (+33/-0)
debian/extras/jslibs/yui/console/assets/skins/sam/console-filters.css (+7/-0)
debian/extras/jslibs/yui/console/assets/skins/sam/console-skin.css (+191/-0)
debian/extras/jslibs/yui/console/assets/skins/sam/console.css (+7/-0)
debian/extras/jslibs/yui/console/console-debug.js (+1523/-0)
debian/extras/jslibs/yui/console/console-min.js (+8/-0)
debian/extras/jslibs/yui/console/console.js (+1523/-0)
debian/extras/jslibs/yui/console/lang/console.js (+7/-0)
debian/extras/jslibs/yui/console/lang/console_en.js (+7/-0)
debian/extras/jslibs/yui/console/lang/console_es.js (+7/-0)
debian/extras/jslibs/yui/console/lang/console_ja.js (+7/-0)
debian/extras/jslibs/yui/cookie/cookie-debug.js (+505/-0)
debian/extras/jslibs/yui/cookie/cookie-min.js (+7/-0)
debian/extras/jslibs/yui/cookie/cookie.js (+505/-0)
debian/extras/jslibs/yui/createlink-base/createlink-base-debug.js (+91/-0)
debian/extras/jslibs/yui/createlink-base/createlink-base-min.js (+7/-0)
debian/extras/jslibs/yui/createlink-base/createlink-base.js (+90/-0)
debian/extras/jslibs/yui/cssbase-context/base-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssbase-context/base-context.css (+81/-0)
debian/extras/jslibs/yui/cssbase-context/cssbase-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssbase-context/cssbase-context.css (+81/-0)
debian/extras/jslibs/yui/cssbase/base-min.css (+7/-0)
debian/extras/jslibs/yui/cssbase/base.css (+81/-0)
debian/extras/jslibs/yui/cssbase/cssbase-min.css (+7/-0)
debian/extras/jslibs/yui/cssbase/cssbase.css (+81/-0)
debian/extras/jslibs/yui/cssbutton/cssbutton-min.css (+7/-0)
debian/extras/jslibs/yui/cssbutton/cssbutton.css (+148/-0)
debian/extras/jslibs/yui/cssfonts-context/cssfonts-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssfonts-context/cssfonts-context.css (+48/-0)
debian/extras/jslibs/yui/cssfonts-context/fonts-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssfonts-context/fonts-context.css (+48/-0)
debian/extras/jslibs/yui/cssfonts/cssfonts-min.css (+7/-0)
debian/extras/jslibs/yui/cssfonts/cssfonts.css (+48/-0)
debian/extras/jslibs/yui/cssfonts/fonts-min.css (+7/-0)
debian/extras/jslibs/yui/cssfonts/fonts.css (+48/-0)
debian/extras/jslibs/yui/cssgrids-base/cssgrids-base-min.css (+7/-0)
debian/extras/jslibs/yui/cssgrids-base/cssgrids-base.css (+21/-0)
debian/extras/jslibs/yui/cssgrids-context-deprecated/grids-context-min.css (+8/-0)
debian/extras/jslibs/yui/cssgrids-context-deprecated/grids-context.css (+490/-0)
debian/extras/jslibs/yui/cssgrids-units/cssgrids-units-min.css (+7/-0)
debian/extras/jslibs/yui/cssgrids-units/cssgrids-units.css (+154/-0)
debian/extras/jslibs/yui/cssgrids/cssgrids-min.css (+7/-0)
debian/extras/jslibs/yui/cssgrids/cssgrids.css (+167/-0)
debian/extras/jslibs/yui/cssgrids/grids-min.css (+7/-0)
debian/extras/jslibs/yui/cssgrids/grids.css (+167/-0)
debian/extras/jslibs/yui/cssreset-context/cssreset-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssreset-context/cssreset-context.css (+126/-0)
debian/extras/jslibs/yui/cssreset-context/reset-context-min.css (+7/-0)
debian/extras/jslibs/yui/cssreset-context/reset-context.css (+126/-0)
debian/extras/jslibs/yui/cssreset/cssreset-min.css (+7/-0)
debian/extras/jslibs/yui/cssreset/cssreset.css (+126/-0)
debian/extras/jslibs/yui/cssreset/reset-min.css (+7/-0)
debian/extras/jslibs/yui/cssreset/reset.css (+126/-0)
debian/extras/jslibs/yui/dataschema-array/dataschema-array-debug.js (+195/-0)
debian/extras/jslibs/yui/dataschema-array/dataschema-array-min.js (+7/-0)
debian/extras/jslibs/yui/dataschema-array/dataschema-array.js (+192/-0)
debian/extras/jslibs/yui/dataschema-base/dataschema-base-debug.js (+73/-0)
debian/extras/jslibs/yui/dataschema-base/dataschema-base-min.js (+7/-0)
debian/extras/jslibs/yui/dataschema-base/dataschema-base.js (+72/-0)
debian/extras/jslibs/yui/dataschema-json/dataschema-json-debug.js (+449/-0)
debian/extras/jslibs/yui/dataschema-json/dataschema-json-min.js (+7/-0)
debian/extras/jslibs/yui/dataschema-json/dataschema-json.js (+445/-0)
debian/extras/jslibs/yui/dataschema-text/dataschema-text-debug.js (+189/-0)
debian/extras/jslibs/yui/dataschema-text/dataschema-text-min.js (+7/-0)
debian/extras/jslibs/yui/dataschema-text/dataschema-text.js (+188/-0)
debian/extras/jslibs/yui/dataschema-xml/dataschema-xml-debug.js (+387/-0)
debian/extras/jslibs/yui/dataschema-xml/dataschema-xml-min.js (+7/-0)
debian/extras/jslibs/yui/dataschema-xml/dataschema-xml.js (+385/-0)
debian/extras/jslibs/yui/datasource-arrayschema/datasource-arrayschema-debug.js (+112/-0)
debian/extras/jslibs/yui/datasource-arrayschema/datasource-arrayschema-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-arrayschema/datasource-arrayschema.js (+112/-0)
debian/extras/jslibs/yui/datasource-cache/datasource-cache-debug.js (+172/-0)
debian/extras/jslibs/yui/datasource-cache/datasource-cache-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-cache/datasource-cache.js (+172/-0)
debian/extras/jslibs/yui/datasource-function/datasource-function-debug.js (+111/-0)
debian/extras/jslibs/yui/datasource-function/datasource-function-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-function/datasource-function.js (+109/-0)
debian/extras/jslibs/yui/datasource-get/datasource-get-debug.js (+219/-0)
debian/extras/jslibs/yui/datasource-get/datasource-get-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-get/datasource-get.js (+215/-0)
debian/extras/jslibs/yui/datasource-io/datasource-io-debug.js (+210/-0)
debian/extras/jslibs/yui/datasource-io/datasource-io-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-io/datasource-io.js (+207/-0)
debian/extras/jslibs/yui/datasource-jsonschema/datasource-jsonschema-debug.js (+109/-0)
debian/extras/jslibs/yui/datasource-jsonschema/datasource-jsonschema-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-jsonschema/datasource-jsonschema.js (+109/-0)
debian/extras/jslibs/yui/datasource-local/datasource-local-debug.js (+408/-0)
debian/extras/jslibs/yui/datasource-local/datasource-local-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-local/datasource-local.js (+404/-0)
debian/extras/jslibs/yui/datasource-polling/datasource-polling-debug.js (+99/-0)
debian/extras/jslibs/yui/datasource-polling/datasource-polling-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-polling/datasource-polling.js (+99/-0)
debian/extras/jslibs/yui/datasource-textschema/datasource-textschema-debug.js (+108/-0)
debian/extras/jslibs/yui/datasource-textschema/datasource-textschema-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-textschema/datasource-textschema.js (+108/-0)
debian/extras/jslibs/yui/datasource-xmlschema/datasource-xmlschema-debug.js (+108/-0)
debian/extras/jslibs/yui/datasource-xmlschema/datasource-xmlschema-min.js (+7/-0)
debian/extras/jslibs/yui/datasource-xmlschema/datasource-xmlschema.js (+108/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/assets/datatable-base-deprecated-core.css (+93/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/assets/skins/night/datatable-base-deprecated-skin.css (+295/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/assets/skins/night/datatable-base-deprecated.css (+8/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/assets/skins/sam/datatable-base-deprecated-skin.css (+243/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/assets/skins/sam/datatable-base-deprecated.css (+8/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/datatable-base-deprecated-debug.js (+1709/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/datatable-base-deprecated-min.js (+8/-0)
debian/extras/jslibs/yui/datatable-base-deprecated/datatable-base-deprecated.js (+1709/-0)
debian/extras/jslibs/yui/datatable-base/assets/datatable-base-core.css (+10/-0)
debian/extras/jslibs/yui/datatable-base/assets/skins/night/datatable-base-skin.css (+80/-0)
debian/extras/jslibs/yui/datatable-base/assets/skins/night/datatable-base.css (+7/-0)
debian/extras/jslibs/yui/datatable-base/assets/skins/sam/datatable-base-skin.css (+75/-0)
debian/extras/jslibs/yui/datatable-base/assets/skins/sam/datatable-base.css (+7/-0)
debian/extras/jslibs/yui/datatable-base/datatable-base-debug.js (+241/-0)
debian/extras/jslibs/yui/datatable-base/datatable-base-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-base/datatable-base.js (+241/-0)
debian/extras/jslibs/yui/datatable-body/datatable-body-debug.js (+898/-0)
debian/extras/jslibs/yui/datatable-body/datatable-body-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-body/datatable-body.js (+898/-0)
debian/extras/jslibs/yui/datatable-column-widths/datatable-column-widths-debug.js (+307/-0)
debian/extras/jslibs/yui/datatable-column-widths/datatable-column-widths-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-column-widths/datatable-column-widths.js (+307/-0)
debian/extras/jslibs/yui/datatable-core/datatable-core-debug.js (+1628/-0)
debian/extras/jslibs/yui/datatable-core/datatable-core-min.js (+8/-0)
debian/extras/jslibs/yui/datatable-core/datatable-core.js (+1626/-0)
debian/extras/jslibs/yui/datatable-datasource-deprecated/datatable-datasource-deprecated-debug.js (+189/-0)
debian/extras/jslibs/yui/datatable-datasource-deprecated/datatable-datasource-deprecated-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-datasource-deprecated/datatable-datasource-deprecated.js (+189/-0)
debian/extras/jslibs/yui/datatable-datasource/datatable-datasource-debug.js (+186/-0)
debian/extras/jslibs/yui/datatable-datasource/datatable-datasource-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-datasource/datatable-datasource.js (+186/-0)
debian/extras/jslibs/yui/datatable-head/datatable-head-debug.js (+507/-0)
debian/extras/jslibs/yui/datatable-head/datatable-head-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-head/datatable-head.js (+507/-0)
debian/extras/jslibs/yui/datatable-message/assets/datatable-message-core.css (+14/-0)
debian/extras/jslibs/yui/datatable-message/assets/skins/night/datatable-message-skin.css (+12/-0)
debian/extras/jslibs/yui/datatable-message/assets/skins/night/datatable-message.css (+7/-0)
debian/extras/jslibs/yui/datatable-message/assets/skins/sam/datatable-message-skin.css (+11/-0)
debian/extras/jslibs/yui/datatable-message/assets/skins/sam/datatable-message.css (+7/-0)
debian/extras/jslibs/yui/datatable-message/datatable-message-debug.js (+294/-0)
debian/extras/jslibs/yui/datatable-message/datatable-message-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-message/datatable-message.js (+294/-0)
debian/extras/jslibs/yui/datatable-message/lang/datatable-message.js (+7/-0)
debian/extras/jslibs/yui/datatable-message/lang/datatable-message_en.js (+7/-0)
debian/extras/jslibs/yui/datatable-mutable/datatable-mutable-debug.js (+641/-0)
debian/extras/jslibs/yui/datatable-mutable/datatable-mutable-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-mutable/datatable-mutable.js (+636/-0)
debian/extras/jslibs/yui/datatable-scroll-deprecated/datatable-scroll-deprecated-debug.js (+738/-0)
debian/extras/jslibs/yui/datatable-scroll-deprecated/datatable-scroll-deprecated-min.js (+8/-0)
debian/extras/jslibs/yui/datatable-scroll-deprecated/datatable-scroll-deprecated.js (+738/-0)
debian/extras/jslibs/yui/datatable-scroll/assets/datatable-scroll-core.css (+77/-0)
debian/extras/jslibs/yui/datatable-scroll/assets/skins/night/datatable-scroll-skin.css (+31/-0)
debian/extras/jslibs/yui/datatable-scroll/assets/skins/night/datatable-scroll.css (+7/-0)
debian/extras/jslibs/yui/datatable-scroll/assets/skins/sam/datatable-scroll-skin.css (+30/-0)
debian/extras/jslibs/yui/datatable-scroll/assets/skins/sam/datatable-scroll.css (+7/-0)
debian/extras/jslibs/yui/datatable-scroll/datatable-scroll-debug.js (+1391/-0)
debian/extras/jslibs/yui/datatable-scroll/datatable-scroll-min.js (+9/-0)
debian/extras/jslibs/yui/datatable-scroll/datatable-scroll.js (+1391/-0)
debian/extras/jslibs/yui/datatable-sort-deprecated/datatable-sort-deprecated-debug.js (+371/-0)
debian/extras/jslibs/yui/datatable-sort-deprecated/datatable-sort-deprecated-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-sort-deprecated/datatable-sort-deprecated.js (+371/-0)
debian/extras/jslibs/yui/datatable-sort-deprecated/lang/datatable-sort-deprecated.js (+7/-0)
debian/extras/jslibs/yui/datatable-sort-deprecated/lang/datatable-sort-deprecated_en.js (+7/-0)
debian/extras/jslibs/yui/datatable-sort/assets/datatable-sort-core.css (+15/-0)
debian/extras/jslibs/yui/datatable-sort/assets/skins/night/datatable-sort-skin.css (+91/-0)
debian/extras/jslibs/yui/datatable-sort/assets/skins/night/datatable-sort.css (+7/-0)
debian/extras/jslibs/yui/datatable-sort/assets/skins/sam/datatable-sort-skin.css (+49/-0)
debian/extras/jslibs/yui/datatable-sort/assets/skins/sam/datatable-sort.css (+7/-0)
debian/extras/jslibs/yui/datatable-sort/datatable-sort-debug.js (+904/-0)
debian/extras/jslibs/yui/datatable-sort/datatable-sort-min.js (+7/-0)
debian/extras/jslibs/yui/datatable-sort/datatable-sort.js (+904/-0)
debian/extras/jslibs/yui/datatable-sort/lang/datatable-sort.js (+7/-0)
debian/extras/jslibs/yui/datatable-sort/lang/datatable-sort_en.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/datatype-date-format-debug.js (+441/-0)
debian/extras/jslibs/yui/datatype-date-format/datatype-date-format-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/datatype-date-format.js (+437/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ar-JO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ar.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ca-ES.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ca.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_da-DK.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_da.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_de-AT.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_de-DE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_de.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_el-GR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_el.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-AU.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-CA.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-GB.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-IE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-IN.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-JO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-MY.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-NZ.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-PH.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-SG.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en-US.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_en.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-AR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-BO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-CL.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-CO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-EC.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-ES.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-MX.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-PE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-PY.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-US.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-UY.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es-VE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_es.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fi-FI.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fi.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fr-BE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fr-CA.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fr-FR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_fr.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_hi-IN.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_hi.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_id-ID.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_id.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_it-IT.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_it.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ja-JP.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ja.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ko-KR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ko.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ms-MY.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ms.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_nb-NO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_nb.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_nl-BE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_nl-NL.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_nl.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_pl-PL.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_pl.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_pt-BR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_pt.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ro-RO.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ro.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ru-RU.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_ru.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_sv-SE.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_sv.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_th-TH.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_th.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_tr-TR.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_tr.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_vi-VN.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_vi.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_zh-Hans-CN.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_zh-Hans.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_zh-Hant-HK.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_zh-Hant-TW.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-format/lang/datatype-date-format_zh-Hant.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-math/datatype-date-math-debug.js (+211/-0)
debian/extras/jslibs/yui/datatype-date-math/datatype-date-math-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-math/datatype-date-math.js (+210/-0)
debian/extras/jslibs/yui/datatype-date-parse/datatype-date-parse-debug.js (+52/-0)
debian/extras/jslibs/yui/datatype-date-parse/datatype-date-parse-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-date-parse/datatype-date-parse.js (+51/-0)
debian/extras/jslibs/yui/datatype-number-format/datatype-number-format-debug.js (+111/-0)
debian/extras/jslibs/yui/datatype-number-format/datatype-number-format-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-number-format/datatype-number-format.js (+110/-0)
debian/extras/jslibs/yui/datatype-number-parse/datatype-number-parse-debug.js (+44/-0)
debian/extras/jslibs/yui/datatype-number-parse/datatype-number-parse-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-number-parse/datatype-number-parse.js (+43/-0)
debian/extras/jslibs/yui/datatype-xml-format/datatype-xml-format-debug.js (+59/-0)
debian/extras/jslibs/yui/datatype-xml-format/datatype-xml-format-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-xml-format/datatype-xml-format.js (+58/-0)
debian/extras/jslibs/yui/datatype-xml-parse/datatype-xml-parse-debug.js (+62/-0)
debian/extras/jslibs/yui/datatype-xml-parse/datatype-xml-parse-min.js (+7/-0)
debian/extras/jslibs/yui/datatype-xml-parse/datatype-xml-parse.js (+60/-0)
debian/extras/jslibs/yui/dd-constrain/dd-constrain-debug.js (+563/-0)
debian/extras/jslibs/yui/dd-constrain/dd-constrain-min.js (+7/-0)
debian/extras/jslibs/yui/dd-constrain/dd-constrain.js (+563/-0)
debian/extras/jslibs/yui/dd-ddm-base/dd-ddm-base-debug.js (+360/-0)
debian/extras/jslibs/yui/dd-ddm-base/dd-ddm-base-min.js (+7/-0)
debian/extras/jslibs/yui/dd-ddm-base/dd-ddm-base.js (+360/-0)
debian/extras/jslibs/yui/dd-ddm-drop/dd-ddm-drop-debug.js (+414/-0)
debian/extras/jslibs/yui/dd-ddm-drop/dd-ddm-drop-min.js (+7/-0)
debian/extras/jslibs/yui/dd-ddm-drop/dd-ddm-drop.js (+414/-0)
debian/extras/jslibs/yui/dd-ddm/dd-ddm-debug.js (+130/-0)
debian/extras/jslibs/yui/dd-ddm/dd-ddm-min.js (+7/-0)
debian/extras/jslibs/yui/dd-ddm/dd-ddm.js (+130/-0)
debian/extras/jslibs/yui/dd-delegate/dd-delegate-debug.js (+341/-0)
debian/extras/jslibs/yui/dd-delegate/dd-delegate-min.js (+7/-0)
debian/extras/jslibs/yui/dd-delegate/dd-delegate.js (+341/-0)
debian/extras/jslibs/yui/dd-drag/dd-drag-debug.js (+1269/-0)
debian/extras/jslibs/yui/dd-drag/dd-drag-min.js (+8/-0)
debian/extras/jslibs/yui/dd-drag/dd-drag.js (+1266/-0)
debian/extras/jslibs/yui/dd-drop-plugin/dd-drop-plugin-debug.js (+50/-0)
debian/extras/jslibs/yui/dd-drop-plugin/dd-drop-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/dd-drop-plugin/dd-drop-plugin.js (+50/-0)
debian/extras/jslibs/yui/dd-drop/dd-drop-debug.js (+564/-0)
debian/extras/jslibs/yui/dd-drop/dd-drop-min.js (+7/-0)
debian/extras/jslibs/yui/dd-drop/dd-drop.js (+563/-0)
debian/extras/jslibs/yui/dd-gestures/dd-gestures-debug.js (+47/-0)
debian/extras/jslibs/yui/dd-gestures/dd-gestures-min.js (+7/-0)
debian/extras/jslibs/yui/dd-gestures/dd-gestures.js (+45/-0)
debian/extras/jslibs/yui/dd-plugin/dd-plugin-debug.js (+211/-0)
debian/extras/jslibs/yui/dd-plugin/dd-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/dd-plugin/dd-plugin.js (+206/-0)
debian/extras/jslibs/yui/dd-proxy/dd-proxy-debug.js (+255/-0)
debian/extras/jslibs/yui/dd-proxy/dd-proxy-min.js (+7/-0)
debian/extras/jslibs/yui/dd-proxy/dd-proxy.js (+255/-0)
debian/extras/jslibs/yui/dd-scroll/dd-scroll-debug.js (+425/-0)
debian/extras/jslibs/yui/dd-scroll/dd-scroll-min.js (+7/-0)
debian/extras/jslibs/yui/dd-scroll/dd-scroll.js (+425/-0)
debian/extras/jslibs/yui/dial/assets/dial-core.css (+48/-0)
debian/extras/jslibs/yui/dial/assets/skins/night/dial-skin.css (+95/-0)
debian/extras/jslibs/yui/dial/assets/skins/night/dial.css (+7/-0)
debian/extras/jslibs/yui/dial/assets/skins/sam/dial-skin.css (+81/-0)
debian/extras/jslibs/yui/dial/assets/skins/sam/dial.css (+7/-0)
debian/extras/jslibs/yui/dial/dial-debug.js (+1298/-0)
debian/extras/jslibs/yui/dial/dial-min.js (+9/-0)
debian/extras/jslibs/yui/dial/dial.js (+1298/-0)
debian/extras/jslibs/yui/dial/lang/dial.js (+7/-0)
debian/extras/jslibs/yui/dial/lang/dial_en.js (+7/-0)
debian/extras/jslibs/yui/dial/lang/dial_es.js (+7/-0)
debian/extras/jslibs/yui/dom-attrs/dom-attrs-debug.js (+214/-0)
debian/extras/jslibs/yui/dom-attrs/dom-attrs-min.js (+7/-0)
debian/extras/jslibs/yui/dom-attrs/dom-attrs.js (+211/-0)
debian/extras/jslibs/yui/dom-base/dom-base-debug.js (+694/-0)
debian/extras/jslibs/yui/dom-base/dom-base-min.js (+8/-0)
debian/extras/jslibs/yui/dom-base/dom-base.js (+690/-0)
debian/extras/jslibs/yui/dom-class/dom-class-debug.js (+98/-0)
debian/extras/jslibs/yui/dom-class/dom-class-min.js (+7/-0)
debian/extras/jslibs/yui/dom-class/dom-class.js (+97/-0)
debian/extras/jslibs/yui/dom-core/dom-core-debug.js (+379/-0)
debian/extras/jslibs/yui/dom-core/dom-core-min.js (+7/-0)
debian/extras/jslibs/yui/dom-core/dom-core.js (+379/-0)
debian/extras/jslibs/yui/dom-create/dom-create-debug.js (+285/-0)
debian/extras/jslibs/yui/dom-create/dom-create-min.js (+7/-0)
debian/extras/jslibs/yui/dom-create/dom-create.js (+284/-0)
debian/extras/jslibs/yui/dom-deprecated/dom-deprecated-debug.js (+67/-0)
debian/extras/jslibs/yui/dom-deprecated/dom-deprecated-min.js (+7/-0)
debian/extras/jslibs/yui/dom-deprecated/dom-deprecated.js (+67/-0)
debian/extras/jslibs/yui/dom-screen/dom-screen-debug.js (+617/-0)
debian/extras/jslibs/yui/dom-screen/dom-screen-min.js (+7/-0)
debian/extras/jslibs/yui/dom-screen/dom-screen.js (+611/-0)
debian/extras/jslibs/yui/dom-size/dom-size-debug.js (+54/-0)
debian/extras/jslibs/yui/dom-size/dom-size-min.js (+7/-0)
debian/extras/jslibs/yui/dom-size/dom-size.js (+54/-0)
debian/extras/jslibs/yui/dom-style-ie/dom-style-ie-debug.js (+312/-0)
debian/extras/jslibs/yui/dom-style-ie/dom-style-ie-min.js (+7/-0)
debian/extras/jslibs/yui/dom-style-ie/dom-style-ie.js (+309/-0)
debian/extras/jslibs/yui/dom-style/dom-style-debug.js (+333/-0)
debian/extras/jslibs/yui/dom-style/dom-style-min.js (+7/-0)
debian/extras/jslibs/yui/dom-style/dom-style.js (+333/-0)
debian/extras/jslibs/yui/dump/dump-debug.js (+111/-0)
debian/extras/jslibs/yui/dump/dump-min.js (+7/-0)
debian/extras/jslibs/yui/dump/dump.js (+111/-0)
debian/extras/jslibs/yui/editor-base/editor-base-debug.js (+914/-0)
debian/extras/jslibs/yui/editor-base/editor-base-min.js (+8/-0)
debian/extras/jslibs/yui/editor-base/editor-base.js (+910/-0)
debian/extras/jslibs/yui/editor-bidi/editor-bidi-debug.js (+342/-0)
debian/extras/jslibs/yui/editor-bidi/editor-bidi-min.js (+7/-0)
debian/extras/jslibs/yui/editor-bidi/editor-bidi.js (+342/-0)
debian/extras/jslibs/yui/editor-br/editor-br-debug.js (+137/-0)
debian/extras/jslibs/yui/editor-br/editor-br-min.js (+7/-0)
debian/extras/jslibs/yui/editor-br/editor-br.js (+137/-0)
debian/extras/jslibs/yui/editor-lists/editor-lists-debug.js (+131/-0)
debian/extras/jslibs/yui/editor-lists/editor-lists-min.js (+7/-0)
debian/extras/jslibs/yui/editor-lists/editor-lists.js (+126/-0)
debian/extras/jslibs/yui/editor-para-base/editor-para-base-debug.js (+130/-0)
debian/extras/jslibs/yui/editor-para-base/editor-para-base-min.js (+7/-0)
debian/extras/jslibs/yui/editor-para-base/editor-para-base.js (+129/-0)
debian/extras/jslibs/yui/editor-para-ie/editor-para-ie-debug.js (+131/-0)
debian/extras/jslibs/yui/editor-para-ie/editor-para-ie-min.js (+7/-0)
debian/extras/jslibs/yui/editor-para-ie/editor-para-ie.js (+131/-0)
debian/extras/jslibs/yui/editor-para/editor-para-debug.js (+306/-0)
debian/extras/jslibs/yui/editor-para/editor-para-min.js (+7/-0)
debian/extras/jslibs/yui/editor-para/editor-para.js (+305/-0)
debian/extras/jslibs/yui/editor-selection/editor-selection-debug.js (+1028/-0)
debian/extras/jslibs/yui/editor-selection/editor-selection-min.js (+8/-0)
debian/extras/jslibs/yui/editor-selection/editor-selection.js (+1007/-0)
debian/extras/jslibs/yui/editor-tab/editor-tab-debug.js (+75/-0)
debian/extras/jslibs/yui/editor-tab/editor-tab-min.js (+7/-0)
debian/extras/jslibs/yui/editor-tab/editor-tab.js (+74/-0)
debian/extras/jslibs/yui/escape/escape-debug.js (+98/-0)
debian/extras/jslibs/yui/escape/escape-min.js (+7/-0)
debian/extras/jslibs/yui/escape/escape.js (+98/-0)
debian/extras/jslibs/yui/event-base-ie/event-base-ie-debug.js (+309/-0)
debian/extras/jslibs/yui/event-base-ie/event-base-ie-min.js (+9/-0)
debian/extras/jslibs/yui/event-base-ie/event-base-ie.js (+309/-0)
debian/extras/jslibs/yui/event-base/event-base-debug.js (+1383/-0)
debian/extras/jslibs/yui/event-base/event-base-min.js (+8/-0)
debian/extras/jslibs/yui/event-base/event-base.js (+1372/-0)
debian/extras/jslibs/yui/event-contextmenu/event-contextmenu-debug.js (+191/-0)
debian/extras/jslibs/yui/event-contextmenu/event-contextmenu-min.js (+7/-0)
debian/extras/jslibs/yui/event-contextmenu/event-contextmenu.js (+191/-0)
debian/extras/jslibs/yui/event-custom-base/event-custom-base-debug.js (+2220/-0)
debian/extras/jslibs/yui/event-custom-base/event-custom-base-min.js (+9/-0)
debian/extras/jslibs/yui/event-custom-base/event-custom-base.js (+2206/-0)
debian/extras/jslibs/yui/event-custom-complex/event-custom-complex-debug.js (+505/-0)
debian/extras/jslibs/yui/event-custom-complex/event-custom-complex-min.js (+7/-0)
debian/extras/jslibs/yui/event-custom-complex/event-custom-complex.js (+504/-0)
debian/extras/jslibs/yui/event-delegate/event-delegate-debug.js (+329/-0)
debian/extras/jslibs/yui/event-delegate/event-delegate-min.js (+7/-0)
debian/extras/jslibs/yui/event-delegate/event-delegate.js (+328/-0)
debian/extras/jslibs/yui/event-flick/event-flick-debug.js (+270/-0)
debian/extras/jslibs/yui/event-flick/event-flick-min.js (+7/-0)
debian/extras/jslibs/yui/event-flick/event-flick.js (+270/-0)
debian/extras/jslibs/yui/event-focus/event-focus-debug.js (+246/-0)
debian/extras/jslibs/yui/event-focus/event-focus-min.js (+7/-0)
debian/extras/jslibs/yui/event-focus/event-focus.js (+246/-0)
debian/extras/jslibs/yui/event-hover/event-hover-debug.js (+76/-0)
debian/extras/jslibs/yui/event-hover/event-hover-min.js (+7/-0)
debian/extras/jslibs/yui/event-hover/event-hover.js (+76/-0)
debian/extras/jslibs/yui/event-key/event-key-debug.js (+177/-0)
debian/extras/jslibs/yui/event-key/event-key-min.js (+7/-0)
debian/extras/jslibs/yui/event-key/event-key.js (+177/-0)
debian/extras/jslibs/yui/event-mouseenter/event-mouseenter-debug.js (+135/-0)
debian/extras/jslibs/yui/event-mouseenter/event-mouseenter-min.js (+7/-0)
debian/extras/jslibs/yui/event-mouseenter/event-mouseenter.js (+135/-0)
debian/extras/jslibs/yui/event-mousewheel/event-mousewheel-debug.js (+56/-0)
debian/extras/jslibs/yui/event-mousewheel/event-mousewheel-min.js (+7/-0)
debian/extras/jslibs/yui/event-mousewheel/event-mousewheel.js (+56/-0)
debian/extras/jslibs/yui/event-move/event-move-debug.js (+523/-0)
debian/extras/jslibs/yui/event-move/event-move-min.js (+7/-0)
debian/extras/jslibs/yui/event-move/event-move.js (+513/-0)
debian/extras/jslibs/yui/event-outside/event-outside-debug.js (+106/-0)
debian/extras/jslibs/yui/event-outside/event-outside-min.js (+7/-0)
debian/extras/jslibs/yui/event-outside/event-outside.js (+106/-0)
debian/extras/jslibs/yui/event-resize/event-resize-debug.js (+59/-0)
debian/extras/jslibs/yui/event-resize/event-resize-min.js (+7/-0)
debian/extras/jslibs/yui/event-resize/event-resize.js (+59/-0)
debian/extras/jslibs/yui/event-simulate/event-simulate-debug.js (+615/-0)
debian/extras/jslibs/yui/event-simulate/event-simulate-min.js (+7/-0)
debian/extras/jslibs/yui/event-simulate/event-simulate.js (+615/-0)
debian/extras/jslibs/yui/event-synthetic/event-synthetic-debug.js (+834/-0)
debian/extras/jslibs/yui/event-synthetic/event-synthetic-min.js (+7/-0)
debian/extras/jslibs/yui/event-synthetic/event-synthetic.js (+834/-0)
debian/extras/jslibs/yui/event-touch/event-touch-debug.js (+133/-0)
debian/extras/jslibs/yui/event-touch/event-touch-min.js (+7/-0)
debian/extras/jslibs/yui/event-touch/event-touch.js (+127/-0)
debian/extras/jslibs/yui/event-valuechange/event-valuechange-debug.js (+481/-0)
debian/extras/jslibs/yui/event-valuechange/event-valuechange-min.js (+7/-0)
debian/extras/jslibs/yui/event-valuechange/event-valuechange.js (+467/-0)
debian/extras/jslibs/yui/exec-command/exec-command-debug.js (+718/-0)
debian/extras/jslibs/yui/exec-command/exec-command-min.js (+8/-0)
debian/extras/jslibs/yui/exec-command/exec-command.js (+714/-0)
debian/extras/jslibs/yui/features/features-debug.js (+341/-0)
debian/extras/jslibs/yui/features/features-min.js (+7/-0)
debian/extras/jslibs/yui/features/features.js (+340/-0)
debian/extras/jslibs/yui/file-flash/file-flash-debug.js (+342/-0)
debian/extras/jslibs/yui/file-flash/file-flash-min.js (+7/-0)
debian/extras/jslibs/yui/file-flash/file-flash.js (+342/-0)
debian/extras/jslibs/yui/file-html5/file-html5-debug.js (+450/-0)
debian/extras/jslibs/yui/file-html5/file-html5-min.js (+7/-0)
debian/extras/jslibs/yui/file-html5/file-html5.js (+450/-0)
debian/extras/jslibs/yui/file/file-debug.js (+37/-0)
debian/extras/jslibs/yui/file/file-min.js (+7/-0)
debian/extras/jslibs/yui/file/file.js (+37/-0)
debian/extras/jslibs/yui/frame/frame-debug.js (+1037/-0)
debian/extras/jslibs/yui/frame/frame-min.js (+8/-0)
debian/extras/jslibs/yui/frame/frame.js (+1008/-0)
debian/extras/jslibs/yui/get-nodejs/get-debug.js (+208/-0)
debian/extras/jslibs/yui/get-nodejs/get-min.js (+7/-0)
debian/extras/jslibs/yui/get-nodejs/get-nodejs-debug.js (+105/-0)
debian/extras/jslibs/yui/get-nodejs/get-nodejs-min.js (+7/-0)
debian/extras/jslibs/yui/get-nodejs/get-nodejs.js (+97/-0)
debian/extras/jslibs/yui/get-nodejs/get.js (+198/-0)
debian/extras/jslibs/yui/get/get-debug.js (+1274/-0)
debian/extras/jslibs/yui/get/get-min.js (+8/-0)
debian/extras/jslibs/yui/get/get.js (+1257/-0)
debian/extras/jslibs/yui/graphics-canvas-default/graphics-canvas-default-debug.js (+18/-0)
debian/extras/jslibs/yui/graphics-canvas-default/graphics-canvas-default-min.js (+7/-0)
debian/extras/jslibs/yui/graphics-canvas-default/graphics-canvas-default.js (+18/-0)
debian/extras/jslibs/yui/graphics-canvas/graphics-canvas-debug.js (+2963/-0)
debian/extras/jslibs/yui/graphics-canvas/graphics-canvas-min.js (+10/-0)
debian/extras/jslibs/yui/graphics-canvas/graphics-canvas.js (+2963/-0)
debian/extras/jslibs/yui/graphics-svg-default/graphics-svg-default-debug.js (+18/-0)
debian/extras/jslibs/yui/graphics-svg-default/graphics-svg-default-min.js (+7/-0)
debian/extras/jslibs/yui/graphics-svg-default/graphics-svg-default.js (+18/-0)
debian/extras/jslibs/yui/graphics-svg/graphics-svg-debug.js (+2861/-0)
debian/extras/jslibs/yui/graphics-svg/graphics-svg-min.js (+10/-0)
debian/extras/jslibs/yui/graphics-svg/graphics-svg.js (+2861/-0)
debian/extras/jslibs/yui/graphics-vml-default/graphics-vml-default-debug.js (+18/-0)
debian/extras/jslibs/yui/graphics-vml-default/graphics-vml-default-min.js (+7/-0)
debian/extras/jslibs/yui/graphics-vml-default/graphics-vml-default.js (+18/-0)
debian/extras/jslibs/yui/graphics-vml/graphics-vml-debug.js (+2872/-0)
debian/extras/jslibs/yui/graphics-vml/graphics-vml-min.js (+10/-0)
debian/extras/jslibs/yui/graphics-vml/graphics-vml.js (+2871/-0)
debian/extras/jslibs/yui/graphics/graphics-debug.js (+1133/-0)
debian/extras/jslibs/yui/graphics/graphics-min.js (+7/-0)
debian/extras/jslibs/yui/graphics/graphics.js (+1133/-0)
debian/extras/jslibs/yui/handlebars-base/handlebars-base-debug.js (+359/-0)
debian/extras/jslibs/yui/handlebars-base/handlebars-base-min.js (+12/-0)
debian/extras/jslibs/yui/handlebars-base/handlebars-base.js (+359/-0)
debian/extras/jslibs/yui/handlebars-compiler/handlebars-compiler-debug.js (+1531/-0)
debian/extras/jslibs/yui/handlebars-compiler/handlebars-compiler-min.js (+16/-0)
debian/extras/jslibs/yui/handlebars-compiler/handlebars-compiler.js (+1531/-0)
debian/extras/jslibs/yui/highlight-accentfold/highlight-accentfold-debug.js (+150/-0)
debian/extras/jslibs/yui/highlight-accentfold/highlight-accentfold-min.js (+7/-0)
debian/extras/jslibs/yui/highlight-accentfold/highlight-accentfold.js (+150/-0)
debian/extras/jslibs/yui/highlight-base/highlight-base-debug.js (+318/-0)
debian/extras/jslibs/yui/highlight-base/highlight-base-min.js (+7/-0)
debian/extras/jslibs/yui/highlight-base/highlight-base.js (+318/-0)
debian/extras/jslibs/yui/history-base/history-base-debug.js (+646/-0)
debian/extras/jslibs/yui/history-base/history-base-min.js (+7/-0)
debian/extras/jslibs/yui/history-base/history-base.js (+646/-0)
debian/extras/jslibs/yui/history-hash-ie/history-hash-ie-debug.js (+144/-0)
debian/extras/jslibs/yui/history-hash-ie/history-hash-ie-min.js (+7/-0)
debian/extras/jslibs/yui/history-hash-ie/history-hash-ie.js (+140/-0)
debian/extras/jslibs/yui/history-hash/history-hash-debug.js (+470/-0)
debian/extras/jslibs/yui/history-hash/history-hash-min.js (+7/-0)
debian/extras/jslibs/yui/history-hash/history-hash.js (+470/-0)
debian/extras/jslibs/yui/history-html5/history-html5-debug.js (+184/-0)
debian/extras/jslibs/yui/history-html5/history-html5-min.js (+7/-0)
debian/extras/jslibs/yui/history-html5/history-html5.js (+184/-0)
debian/extras/jslibs/yui/imageloader/imageloader-debug.js (+671/-0)
debian/extras/jslibs/yui/imageloader/imageloader-min.js (+7/-0)
debian/extras/jslibs/yui/imageloader/imageloader.js (+659/-0)
debian/extras/jslibs/yui/intl-base/intl-base-debug.js (+94/-0)
debian/extras/jslibs/yui/intl-base/intl-base-min.js (+7/-0)
debian/extras/jslibs/yui/intl-base/intl-base.js (+94/-0)
debian/extras/jslibs/yui/intl/intl-debug.js (+156/-0)
debian/extras/jslibs/yui/intl/intl-min.js (+7/-0)
debian/extras/jslibs/yui/intl/intl.js (+156/-0)
debian/extras/jslibs/yui/io-base/io-base-debug.js (+1001/-0)
debian/extras/jslibs/yui/io-base/io-base-min.js (+7/-0)
debian/extras/jslibs/yui/io-base/io-base.js (+997/-0)
debian/extras/jslibs/yui/io-form/io-form-debug.js (+102/-0)
debian/extras/jslibs/yui/io-form/io-form-min.js (+7/-0)
debian/extras/jslibs/yui/io-form/io-form.js (+101/-0)
debian/extras/jslibs/yui/io-nodejs/io-nodejs-debug.js (+142/-0)
debian/extras/jslibs/yui/io-nodejs/io-nodejs-min.js (+7/-0)
debian/extras/jslibs/yui/io-nodejs/io-nodejs.js (+135/-0)
debian/extras/jslibs/yui/io-queue/io-queue-debug.js (+165/-0)
debian/extras/jslibs/yui/io-queue/io-queue-min.js (+7/-0)
debian/extras/jslibs/yui/io-queue/io-queue.js (+162/-0)
debian/extras/jslibs/yui/io-upload-iframe/io-upload-iframe-debug.js (+297/-0)
debian/extras/jslibs/yui/io-upload-iframe/io-upload-iframe-min.js (+7/-0)
debian/extras/jslibs/yui/io-upload-iframe/io-upload-iframe.js (+289/-0)
debian/extras/jslibs/yui/io-xdr/io-xdr-debug.js (+318/-0)
debian/extras/jslibs/yui/io-xdr/io-xdr-min.js (+7/-0)
debian/extras/jslibs/yui/io-xdr/io-xdr.js (+318/-0)
debian/extras/jslibs/yui/json-parse/json-parse-debug.js (+236/-0)
debian/extras/jslibs/yui/json-parse/json-parse-min.js (+7/-0)
debian/extras/jslibs/yui/json-parse/json-parse.js (+236/-0)
debian/extras/jslibs/yui/json-stringify/json-stringify-debug.js (+354/-0)
debian/extras/jslibs/yui/json-stringify/json-stringify-min.js (+7/-0)
debian/extras/jslibs/yui/json-stringify/json-stringify.js (+354/-0)
debian/extras/jslibs/yui/jsonp-url/jsonp-url-debug.js (+132/-0)
debian/extras/jslibs/yui/jsonp-url/jsonp-url-min.js (+7/-0)
debian/extras/jslibs/yui/jsonp-url/jsonp-url.js (+132/-0)
debian/extras/jslibs/yui/jsonp/jsonp-debug.js (+258/-0)
debian/extras/jslibs/yui/jsonp/jsonp-min.js (+7/-0)
debian/extras/jslibs/yui/jsonp/jsonp.js (+253/-0)
debian/extras/jslibs/yui/loader-base/loader-base-debug.js (+2567/-0)
debian/extras/jslibs/yui/loader-base/loader-base-min.js (+10/-0)
debian/extras/jslibs/yui/loader-base/loader-base.js (+2529/-0)
debian/extras/jslibs/yui/loader-rollup/loader-rollup-debug.js (+108/-0)
debian/extras/jslibs/yui/loader-rollup/loader-rollup-min.js (+7/-0)
debian/extras/jslibs/yui/loader-rollup/loader-rollup.js (+105/-0)
debian/extras/jslibs/yui/loader-yui3/loader-yui3-debug.js (+2442/-0)
debian/extras/jslibs/yui/loader-yui3/loader-yui3-min.js (+10/-0)
debian/extras/jslibs/yui/loader-yui3/loader-yui3.js (+2442/-0)
debian/extras/jslibs/yui/loader/loader-debug.js (+5109/-0)
debian/extras/jslibs/yui/loader/loader-min.js (+13/-0)
debian/extras/jslibs/yui/loader/loader.js (+5068/-0)
debian/extras/jslibs/yui/matrix/matrix-debug.js (+924/-0)
debian/extras/jslibs/yui/matrix/matrix-min.js (+8/-0)
debian/extras/jslibs/yui/matrix/matrix.js (+924/-0)
debian/extras/jslibs/yui/model-list/model-list-debug.js (+1090/-0)
debian/extras/jslibs/yui/model-list/model-list-min.js (+7/-0)
debian/extras/jslibs/yui/model-list/model-list.js (+1090/-0)
debian/extras/jslibs/yui/model/model-debug.js (+975/-0)
debian/extras/jslibs/yui/model/model-min.js (+7/-0)
debian/extras/jslibs/yui/model/model.js (+973/-0)
debian/extras/jslibs/yui/node-base/node-base-debug.js (+1143/-0)
debian/extras/jslibs/yui/node-base/node-base-min.js (+8/-0)
debian/extras/jslibs/yui/node-base/node-base.js (+1141/-0)
debian/extras/jslibs/yui/node-core/node-core-debug.js (+1596/-0)
debian/extras/jslibs/yui/node-core/node-core-min.js (+8/-0)
debian/extras/jslibs/yui/node-core/node-core.js (+1592/-0)
debian/extras/jslibs/yui/node-deprecated/node-deprecated-debug.js (+131/-0)
debian/extras/jslibs/yui/node-deprecated/node-deprecated-min.js (+7/-0)
debian/extras/jslibs/yui/node-deprecated/node-deprecated.js (+125/-0)
debian/extras/jslibs/yui/node-event-delegate/node-event-delegate-debug.js (+60/-0)
debian/extras/jslibs/yui/node-event-delegate/node-event-delegate-min.js (+7/-0)
debian/extras/jslibs/yui/node-event-delegate/node-event-delegate.js (+60/-0)
debian/extras/jslibs/yui/node-event-html5/node-event-html5-debug.js (+58/-0)
debian/extras/jslibs/yui/node-event-html5/node-event-html5-min.js (+7/-0)
debian/extras/jslibs/yui/node-event-html5/node-event-html5.js (+58/-0)
debian/extras/jslibs/yui/node-event-simulate/node-event-simulate-debug.js (+29/-0)
debian/extras/jslibs/yui/node-event-simulate/node-event-simulate-min.js (+7/-0)
debian/extras/jslibs/yui/node-event-simulate/node-event-simulate.js (+29/-0)
debian/extras/jslibs/yui/node-flick/assets/node-flick-core.css (+14/-0)
debian/extras/jslibs/yui/node-flick/assets/skins/sam/node-flick-skin.css (+7/-0)
debian/extras/jslibs/yui/node-flick/assets/skins/sam/node-flick.css (+7/-0)
debian/extras/jslibs/yui/node-flick/node-flick-debug.js (+530/-0)
debian/extras/jslibs/yui/node-flick/node-flick-min.js (+7/-0)
debian/extras/jslibs/yui/node-flick/node-flick.js (+529/-0)
debian/extras/jslibs/yui/node-focusmanager/node-focusmanager-debug.js (+1075/-0)
debian/extras/jslibs/yui/node-focusmanager/node-focusmanager-min.js (+7/-0)
debian/extras/jslibs/yui/node-focusmanager/node-focusmanager.js (+1072/-0)
debian/extras/jslibs/yui/node-load/node-load-debug.js (+71/-0)
debian/extras/jslibs/yui/node-load/node-load-min.js (+7/-0)
debian/extras/jslibs/yui/node-load/node-load.js (+71/-0)
debian/extras/jslibs/yui/node-menunav/assets/node-menunav-core.css (+175/-0)
debian/extras/jslibs/yui/node-menunav/assets/skins/night/node-menunav-skin.css (+318/-0)
debian/extras/jslibs/yui/node-menunav/assets/skins/night/node-menunav.css (+7/-0)
debian/extras/jslibs/yui/node-menunav/assets/skins/sam/node-menunav-skin.css (+272/-0)
debian/extras/jslibs/yui/node-menunav/assets/skins/sam/node-menunav.css (+7/-0)
debian/extras/jslibs/yui/node-menunav/node-menunav-debug.js (+2190/-0)
debian/extras/jslibs/yui/node-menunav/node-menunav-min.js (+9/-0)
debian/extras/jslibs/yui/node-menunav/node-menunav.js (+2190/-0)
debian/extras/jslibs/yui/node-pluginhost/node-pluginhost-debug.js (+65/-0)
debian/extras/jslibs/yui/node-pluginhost/node-pluginhost-min.js (+7/-0)
debian/extras/jslibs/yui/node-pluginhost/node-pluginhost.js (+65/-0)
debian/extras/jslibs/yui/node-screen/node-screen-debug.js (+246/-0)
debian/extras/jslibs/yui/node-screen/node-screen-min.js (+7/-0)
debian/extras/jslibs/yui/node-screen/node-screen.js (+244/-0)
debian/extras/jslibs/yui/node-style/node-style-debug.js (+112/-0)
debian/extras/jslibs/yui/node-style/node-style-min.js (+7/-0)
debian/extras/jslibs/yui/node-style/node-style.js (+112/-0)
debian/extras/jslibs/yui/oop/oop-debug.js (+396/-0)
debian/extras/jslibs/yui/oop/oop-min.js (+7/-0)
debian/extras/jslibs/yui/oop/oop.js (+396/-0)
debian/extras/jslibs/yui/overlay/assets/overlay-core.css (+17/-0)
debian/extras/jslibs/yui/overlay/assets/skins/night/overlay-skin.css (+179/-0)
debian/extras/jslibs/yui/overlay/assets/skins/night/overlay.css (+7/-0)
debian/extras/jslibs/yui/overlay/assets/skins/sam/overlay-skin.css (+6/-0)
debian/extras/jslibs/yui/overlay/assets/skins/sam/overlay.css (+7/-0)
debian/extras/jslibs/yui/overlay/overlay-debug.js (+35/-0)
debian/extras/jslibs/yui/overlay/overlay-min.js (+7/-0)
debian/extras/jslibs/yui/overlay/overlay.js (+35/-0)
debian/extras/jslibs/yui/panel/assets/panel-core.css (+28/-0)
debian/extras/jslibs/yui/panel/assets/skins/night/panel-skin.css (+129/-0)
debian/extras/jslibs/yui/panel/assets/skins/night/panel.css (+7/-0)
debian/extras/jslibs/yui/panel/assets/skins/sam/panel-skin.css (+101/-0)
debian/extras/jslibs/yui/panel/assets/skins/sam/panel.css (+7/-0)
debian/extras/jslibs/yui/panel/panel-debug.js (+105/-0)
debian/extras/jslibs/yui/panel/panel-min.js (+7/-0)
debian/extras/jslibs/yui/panel/panel.js (+105/-0)
debian/extras/jslibs/yui/parallel/parallel-debug.js (+110/-0)
debian/extras/jslibs/yui/parallel/parallel-min.js (+7/-0)
debian/extras/jslibs/yui/parallel/parallel.js (+108/-0)
debian/extras/jslibs/yui/pjax-base/pjax-base-debug.js (+517/-0)
debian/extras/jslibs/yui/pjax-base/pjax-base-min.js (+7/-0)
debian/extras/jslibs/yui/pjax-base/pjax-base.js (+517/-0)
debian/extras/jslibs/yui/pjax-plugin/pjax-plugin-debug.js (+35/-0)
debian/extras/jslibs/yui/pjax-plugin/pjax-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/pjax-plugin/pjax-plugin.js (+35/-0)
debian/extras/jslibs/yui/pjax/pjax-debug.js (+340/-0)
debian/extras/jslibs/yui/pjax/pjax-min.js (+7/-0)
debian/extras/jslibs/yui/pjax/pjax.js (+340/-0)
debian/extras/jslibs/yui/plugin/plugin-debug.js (+235/-0)
debian/extras/jslibs/yui/plugin/plugin-min.js (+7/-0)
debian/extras/jslibs/yui/plugin/plugin.js (+233/-0)
debian/extras/jslibs/yui/pluginhost-base/pluginhost-base-debug.js (+184/-0)
debian/extras/jslibs/yui/pluginhost-base/pluginhost-base-min.js (+7/-0)
debian/extras/jslibs/yui/pluginhost-base/pluginhost-base.js (+183/-0)
debian/extras/jslibs/yui/pluginhost-config/pluginhost-config-debug.js (+136/-0)
debian/extras/jslibs/yui/pluginhost-config/pluginhost-config-min.js (+7/-0)
debian/extras/jslibs/yui/pluginhost-config/pluginhost-config.js (+136/-0)
debian/extras/jslibs/yui/profiler/profiler-debug.js (+553/-0)
debian/extras/jslibs/yui/profiler/profiler-min.js (+7/-0)
debian/extras/jslibs/yui/profiler/profiler.js (+553/-0)
debian/extras/jslibs/yui/querystring-parse-simple/querystring-parse-simple-debug.js (+85/-0)
debian/extras/jslibs/yui/querystring-parse-simple/querystring-parse-simple-min.js (+7/-0)
debian/extras/jslibs/yui/querystring-parse-simple/querystring-parse-simple.js (+85/-0)
debian/extras/jslibs/yui/querystring-parse/querystring-parse-debug.js (+165/-0)
debian/extras/jslibs/yui/querystring-parse/querystring-parse-min.js (+7/-0)
debian/extras/jslibs/yui/querystring-parse/querystring-parse.js (+165/-0)
debian/extras/jslibs/yui/querystring-stringify-simple/querystring-stringify-simple-debug.js (+67/-0)
debian/extras/jslibs/yui/querystring-stringify-simple/querystring-stringify-simple-min.js (+7/-0)
debian/extras/jslibs/yui/querystring-stringify-simple/querystring-stringify-simple.js (+67/-0)
debian/extras/jslibs/yui/querystring-stringify/querystring-stringify-debug.js (+118/-0)
debian/extras/jslibs/yui/querystring-stringify/querystring-stringify-min.js (+7/-0)
debian/extras/jslibs/yui/querystring-stringify/querystring-stringify.js (+113/-0)
debian/extras/jslibs/yui/queue-promote/queue-promote-debug.js (+59/-0)
debian/extras/jslibs/yui/queue-promote/queue-promote-min.js (+7/-0)
debian/extras/jslibs/yui/queue-promote/queue-promote.js (+59/-0)
debian/extras/jslibs/yui/range-slider/assets/slider-base-core.css (+37/-0)
debian/extras/jslibs/yui/range-slider/assets/slider-core.css (+37/-0)
debian/extras/jslibs/yui/range-slider/range-slider-debug.js (+35/-0)
debian/extras/jslibs/yui/range-slider/range-slider-min.js (+7/-0)
debian/extras/jslibs/yui/range-slider/range-slider.js (+35/-0)
debian/extras/jslibs/yui/recordset-base/recordset-base-debug.js (+657/-0)
debian/extras/jslibs/yui/recordset-base/recordset-base-min.js (+7/-0)
debian/extras/jslibs/yui/recordset-base/recordset-base.js (+656/-0)
debian/extras/jslibs/yui/recordset-filter/recordset-filter-debug.js (+111/-0)
debian/extras/jslibs/yui/recordset-filter/recordset-filter-min.js (+7/-0)
debian/extras/jslibs/yui/recordset-filter/recordset-filter.js (+111/-0)
debian/extras/jslibs/yui/recordset-indexer/recordset-indexer-debug.js (+233/-0)
debian/extras/jslibs/yui/recordset-indexer/recordset-indexer-min.js (+7/-0)
debian/extras/jslibs/yui/recordset-indexer/recordset-indexer.js (+233/-0)
debian/extras/jslibs/yui/recordset-sort/recordset-sort-debug.js (+212/-0)
debian/extras/jslibs/yui/recordset-sort/recordset-sort-min.js (+7/-0)
debian/extras/jslibs/yui/recordset-sort/recordset-sort.js (+211/-0)
debian/extras/jslibs/yui/resize-base/assets/resize-base-core.css (+129/-0)
debian/extras/jslibs/yui/resize-base/assets/skins/night/resize-base-skin.css (+52/-0)
debian/extras/jslibs/yui/resize-base/assets/skins/night/resize-base.css (+7/-0)
debian/extras/jslibs/yui/resize-base/assets/skins/sam/resize-base-skin.css (+52/-0)
debian/extras/jslibs/yui/resize-base/assets/skins/sam/resize-base.css (+7/-0)
debian/extras/jslibs/yui/resize-base/resize-base-debug.js (+1640/-0)
debian/extras/jslibs/yui/resize-base/resize-base-min.js (+8/-0)
debian/extras/jslibs/yui/resize-base/resize-base.js (+1639/-0)
debian/extras/jslibs/yui/resize-constrain/assets/resize-base-core.css (+129/-0)
debian/extras/jslibs/yui/resize-constrain/resize-constrain-debug.js (+461/-0)
debian/extras/jslibs/yui/resize-constrain/resize-constrain-min.js (+7/-0)
debian/extras/jslibs/yui/resize-constrain/resize-constrain.js (+461/-0)
debian/extras/jslibs/yui/resize-plugin/assets/resize-base-core.css (+129/-0)
debian/extras/jslibs/yui/resize-plugin/resize-plugin-debug.js (+214/-0)
debian/extras/jslibs/yui/resize-plugin/resize-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/resize-plugin/resize-plugin.js (+214/-0)
debian/extras/jslibs/yui/resize-proxy/assets/resize-base-core.css (+129/-0)
debian/extras/jslibs/yui/resize-proxy/resize-proxy-debug.js (+172/-0)
debian/extras/jslibs/yui/resize-proxy/resize-proxy-min.js (+7/-0)
debian/extras/jslibs/yui/resize-proxy/resize-proxy.js (+172/-0)
debian/extras/jslibs/yui/router/router-debug.js (+1079/-0)
debian/extras/jslibs/yui/router/router-min.js (+7/-0)
debian/extras/jslibs/yui/router/router.js (+1077/-0)
debian/extras/jslibs/yui/scrollview-base-ie/scrollview-base-ie-debug.js (+61/-0)
debian/extras/jslibs/yui/scrollview-base-ie/scrollview-base-ie-min.js (+7/-0)
debian/extras/jslibs/yui/scrollview-base-ie/scrollview-base-ie.js (+61/-0)
debian/extras/jslibs/yui/scrollview-base/assets/scrollview-base-core.css (+20/-0)
debian/extras/jslibs/yui/scrollview-base/assets/skins/night/scrollview-base-skin.css (+6/-0)
debian/extras/jslibs/yui/scrollview-base/assets/skins/night/scrollview-base.css (+7/-0)
debian/extras/jslibs/yui/scrollview-base/assets/skins/sam/scrollview-base-skin.css (+9/-0)
debian/extras/jslibs/yui/scrollview-base/assets/skins/sam/scrollview-base.css (+7/-0)
debian/extras/jslibs/yui/scrollview-base/scrollview-base-debug.js (+1224/-0)
debian/extras/jslibs/yui/scrollview-base/scrollview-base-min.js (+8/-0)
debian/extras/jslibs/yui/scrollview-base/scrollview-base.js (+1222/-0)
debian/extras/jslibs/yui/scrollview-list/assets/scrollview-list-core.css (+6/-0)
debian/extras/jslibs/yui/scrollview-list/assets/skins/night/scrollview-list-skin.css (+63/-0)
debian/extras/jslibs/yui/scrollview-list/assets/skins/night/scrollview-list.css (+7/-0)
debian/extras/jslibs/yui/scrollview-list/assets/skins/sam/scrollview-list-skin.css (+43/-0)
debian/extras/jslibs/yui/scrollview-list/assets/skins/sam/scrollview-list.css (+7/-0)
debian/extras/jslibs/yui/scrollview-list/scrollview-list-debug.js (+136/-0)
debian/extras/jslibs/yui/scrollview-list/scrollview-list-min.js (+7/-0)
debian/extras/jslibs/yui/scrollview-list/scrollview-list.js (+136/-0)
debian/extras/jslibs/yui/scrollview-paginator/scrollview-paginator-debug.js (+454/-0)
debian/extras/jslibs/yui/scrollview-paginator/scrollview-paginator-min.js (+7/-0)
debian/extras/jslibs/yui/scrollview-paginator/scrollview-paginator.js (+454/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/assets/scrollview-scrollbars-core.css (+101/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/assets/skins/night/scrollview-scrollbars-skin.css (+102/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/assets/skins/night/scrollview-scrollbars.css (+7/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/assets/skins/sam/scrollview-scrollbars-skin.css (+96/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/assets/skins/sam/scrollview-scrollbars.css (+7/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/scrollview-scrollbars-debug.js (+559/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/scrollview-scrollbars-min.js (+7/-0)
debian/extras/jslibs/yui/scrollview-scrollbars/scrollview-scrollbars.js (+559/-0)
debian/extras/jslibs/yui/scrollview/scrollview-debug.js (+27/-0)
debian/extras/jslibs/yui/scrollview/scrollview-min.js (+7/-0)
debian/extras/jslibs/yui/scrollview/scrollview.js (+27/-0)
debian/extras/jslibs/yui/selector-css2/selector-css2-debug.js (+451/-0)
debian/extras/jslibs/yui/selector-css2/selector-css2-min.js (+7/-0)
debian/extras/jslibs/yui/selector-css2/selector-css2.js (+450/-0)
debian/extras/jslibs/yui/selector-css3/selector-css3-debug.js (+158/-0)
debian/extras/jslibs/yui/selector-css3/selector-css3-min.js (+7/-0)
debian/extras/jslibs/yui/selector-css3/selector-css3.js (+158/-0)
debian/extras/jslibs/yui/selector-native/selector-native-debug.js (+381/-0)
debian/extras/jslibs/yui/selector-native/selector-native-min.js (+7/-0)
debian/extras/jslibs/yui/selector-native/selector-native.js (+376/-0)
debian/extras/jslibs/yui/selector/selector-debug.js (+12/-0)
debian/extras/jslibs/yui/selector/selector-min.js (+7/-0)
debian/extras/jslibs/yui/selector/selector.js (+12/-0)
debian/extras/jslibs/yui/shim-plugin/shim-plugin-debug.js (+112/-0)
debian/extras/jslibs/yui/shim-plugin/shim-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/shim-plugin/shim-plugin.js (+112/-0)
debian/extras/jslibs/yui/simpleyui/simpleyui-debug.js (+19938/-0)
debian/extras/jslibs/yui/simpleyui/simpleyui-min.js (+29/-0)
debian/extras/jslibs/yui/simpleyui/simpleyui.js (+19844/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio-light/slider-base-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio-light/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio-light/slider-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio/slider-base-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/audio/slider-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule-dark/slider-base-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule-dark/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule-dark/slider-skin.css (+97/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule/slider-base-skin.css (+99/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/capsule/slider-skin.css (+99/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/night/slider-base-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/night/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/night/slider-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round-dark/slider-base-skin.css (+95/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round-dark/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round-dark/slider-skin.css (+95/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round/slider-base-skin.css (+95/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/round/slider-skin.css (+95/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam-dark/slider-base-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam-dark/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam-dark/slider-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam/slider-base-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam/slider-base.css (+7/-0)
debian/extras/jslibs/yui/slider-base/assets/skins/sam/slider-skin.css (+93/-0)
debian/extras/jslibs/yui/slider-base/assets/slider-base-core.css (+37/-0)
debian/extras/jslibs/yui/slider-base/assets/slider-core.css (+37/-0)
debian/extras/jslibs/yui/slider-base/slider-base-debug.js (+767/-0)
debian/extras/jslibs/yui/slider-base/slider-base-min.js (+7/-0)
debian/extras/jslibs/yui/slider-base/slider-base.js (+765/-0)
debian/extras/jslibs/yui/slider-value-range/assets/slider-base-core.css (+37/-0)
debian/extras/jslibs/yui/slider-value-range/assets/slider-core.css (+37/-0)
debian/extras/jslibs/yui/slider-value-range/slider-value-range-debug.js (+425/-0)
debian/extras/jslibs/yui/slider-value-range/slider-value-range-min.js (+7/-0)
debian/extras/jslibs/yui/slider-value-range/slider-value-range.js (+421/-0)
debian/extras/jslibs/yui/sortable-scroll/sortable-scroll-debug.js (+73/-0)
debian/extras/jslibs/yui/sortable-scroll/sortable-scroll-min.js (+7/-0)
debian/extras/jslibs/yui/sortable-scroll/sortable-scroll.js (+73/-0)
debian/extras/jslibs/yui/sortable/sortable-debug.js (+506/-0)
debian/extras/jslibs/yui/sortable/sortable-min.js (+7/-0)
debian/extras/jslibs/yui/sortable/sortable.js (+505/-0)
debian/extras/jslibs/yui/stylesheet/stylesheet-debug.js (+648/-0)
debian/extras/jslibs/yui/stylesheet/stylesheet-min.js (+7/-0)
debian/extras/jslibs/yui/stylesheet/stylesheet.js (+644/-0)
debian/extras/jslibs/yui/substitute/substitute-debug.js (+166/-0)
debian/extras/jslibs/yui/substitute/substitute-min.js (+7/-0)
debian/extras/jslibs/yui/substitute/substitute.js (+166/-0)
debian/extras/jslibs/yui/swf/swf-debug.js (+208/-0)
debian/extras/jslibs/yui/swf/swf-min.js (+7/-0)
debian/extras/jslibs/yui/swf/swf.js (+207/-0)
debian/extras/jslibs/yui/swfdetect/swfdetect-debug.js (+122/-0)
debian/extras/jslibs/yui/swfdetect/swfdetect-min.js (+7/-0)
debian/extras/jslibs/yui/swfdetect/swfdetect.js (+121/-0)
debian/extras/jslibs/yui/tabview-base/assets/tabview-core.css (+48/-0)
debian/extras/jslibs/yui/tabview-base/assets/tabview.css (+28/-0)
debian/extras/jslibs/yui/tabview-base/tabview-base-debug.js (+150/-0)
debian/extras/jslibs/yui/tabview-base/tabview-base-min.js (+7/-0)
debian/extras/jslibs/yui/tabview-base/tabview-base.js (+150/-0)
debian/extras/jslibs/yui/tabview-plugin/assets/tabview-core.css (+48/-0)
debian/extras/jslibs/yui/tabview-plugin/assets/tabview.css (+28/-0)
debian/extras/jslibs/yui/tabview-plugin/tabview-plugin-debug.js (+22/-0)
debian/extras/jslibs/yui/tabview-plugin/tabview-plugin-min.js (+7/-0)
debian/extras/jslibs/yui/tabview-plugin/tabview-plugin.js (+22/-0)
debian/extras/jslibs/yui/tabview/assets/skins/night/tabview-skin.css (+95/-0)
debian/extras/jslibs/yui/tabview/assets/skins/night/tabview.css (+7/-0)
debian/extras/jslibs/yui/tabview/assets/skins/sam/tabview-skin.css (+64/-0)
debian/extras/jslibs/yui/tabview/assets/skins/sam/tabview.css (+7/-0)
debian/extras/jslibs/yui/tabview/assets/tabview-core.css (+48/-0)
debian/extras/jslibs/yui/tabview/assets/tabview.css (+28/-0)
debian/extras/jslibs/yui/tabview/tabview-debug.js (+407/-0)
debian/extras/jslibs/yui/tabview/tabview-min.js (+7/-0)
debian/extras/jslibs/yui/tabview/tabview.js (+407/-0)
debian/extras/jslibs/yui/test-console/assets/skins/sam/test-console-skin.css (+64/-0)
debian/extras/jslibs/yui/test-console/assets/skins/sam/test-console.css (+7/-0)
debian/extras/jslibs/yui/test-console/assets/test-console-core.css (+14/-0)
debian/extras/jslibs/yui/test-console/test-console-debug.js (+104/-0)
debian/extras/jslibs/yui/test-console/test-console-min.js (+7/-0)
debian/extras/jslibs/yui/test-console/test-console.js (+104/-0)
debian/extras/jslibs/yui/test/assets/skins/sam/test-skin.css (+19/-0)
debian/extras/jslibs/yui/test/assets/skins/sam/test.css (+7/-0)
debian/extras/jslibs/yui/test/assets/test-console.css (+17/-0)
debian/extras/jslibs/yui/test/test-debug.js (+3733/-0)
debian/extras/jslibs/yui/test/test-min.js (+12/-0)
debian/extras/jslibs/yui/test/test.js (+3733/-0)
debian/extras/jslibs/yui/text-accentfold/text-accentfold-debug.js (+168/-0)
debian/extras/jslibs/yui/text-accentfold/text-accentfold-min.js (+7/-0)
debian/extras/jslibs/yui/text-accentfold/text-accentfold.js (+168/-0)
debian/extras/jslibs/yui/text-data-accentfold/text-data-accentfold-debug.js (+52/-0)
debian/extras/jslibs/yui/text-data-accentfold/text-data-accentfold-min.js (+7/-0)
debian/extras/jslibs/yui/text-data-accentfold/text-data-accentfold.js (+52/-0)
debian/extras/jslibs/yui/text-data-wordbreak/text-data-wordbreak-debug.js (+35/-0)
debian/extras/jslibs/yui/text-data-wordbreak/text-data-wordbreak-min.js (+8/-0)
debian/extras/jslibs/yui/text-data-wordbreak/text-data-wordbreak.js (+35/-0)
debian/extras/jslibs/yui/text-wordbreak/text-wordbreak-debug.js (+369/-0)
debian/extras/jslibs/yui/text-wordbreak/text-wordbreak-min.js (+7/-0)
debian/extras/jslibs/yui/text-wordbreak/text-wordbreak.js (+368/-0)
debian/extras/jslibs/yui/transition-native/transition-native-debug.js (+718/-0)
debian/extras/jslibs/yui/transition-native/transition-native-min.js (+8/-0)
debian/extras/jslibs/yui/transition-native/transition-native.js (+716/-0)
debian/extras/jslibs/yui/transition-timer/transition-timer-debug.js (+345/-0)
debian/extras/jslibs/yui/transition-timer/transition-timer-min.js (+7/-0)
debian/extras/jslibs/yui/transition-timer/transition-timer.js (+345/-0)
debian/extras/jslibs/yui/transition/transition-debug.js (+707/-0)
debian/extras/jslibs/yui/transition/transition-min.js (+8/-0)
debian/extras/jslibs/yui/transition/transition.js (+705/-0)
debian/extras/jslibs/yui/uploader-deprecated/uploader-deprecated-debug.js (+602/-0)
debian/extras/jslibs/yui/uploader-deprecated/uploader-deprecated-min.js (+7/-0)
debian/extras/jslibs/yui/uploader-deprecated/uploader-deprecated.js (+600/-0)
debian/extras/jslibs/yui/uploader-flash/assets/uploader-flash-core.css (+10/-0)
debian/extras/jslibs/yui/uploader-flash/uploader-flash-debug.js (+966/-0)
debian/extras/jslibs/yui/uploader-flash/uploader-flash-min.js (+8/-0)
debian/extras/jslibs/yui/uploader-flash/uploader-flash.js (+966/-0)
debian/extras/jslibs/yui/uploader-html5/assets/uploader-flash-core.css (+10/-0)
debian/extras/jslibs/yui/uploader-html5/uploader-html5-debug.js (+814/-0)
debian/extras/jslibs/yui/uploader-html5/uploader-html5-min.js (+8/-0)
debian/extras/jslibs/yui/uploader-html5/uploader-html5.js (+814/-0)
debian/extras/jslibs/yui/uploader-queue/assets/uploader-flash-core.css (+10/-0)
debian/extras/jslibs/yui/uploader-queue/uploader-queue-debug.js (+572/-0)
debian/extras/jslibs/yui/uploader-queue/uploader-queue-min.js (+7/-0)
debian/extras/jslibs/yui/uploader-queue/uploader-queue.js (+572/-0)
debian/extras/jslibs/yui/uploader/assets/uploader-flash-core.css (+10/-0)
debian/extras/jslibs/yui/uploader/uploader-debug.js (+59/-0)
debian/extras/jslibs/yui/uploader/uploader-min.js (+7/-0)
debian/extras/jslibs/yui/uploader/uploader.js (+59/-0)
debian/extras/jslibs/yui/view-node-map/view-node-map-debug.js (+89/-0)
debian/extras/jslibs/yui/view-node-map/view-node-map-min.js (+7/-0)
debian/extras/jslibs/yui/view-node-map/view-node-map.js (+89/-0)
debian/extras/jslibs/yui/view/view-debug.js (+431/-0)
debian/extras/jslibs/yui/view/view-min.js (+7/-0)
debian/extras/jslibs/yui/view/view.js (+431/-0)
debian/extras/jslibs/yui/widget-anim/widget-anim-debug.js (+263/-0)
debian/extras/jslibs/yui/widget-anim/widget-anim-min.js (+7/-0)
debian/extras/jslibs/yui/widget-anim/widget-anim.js (+263/-0)
debian/extras/jslibs/yui/widget-autohide/widget-autohide-debug.js (+243/-0)
debian/extras/jslibs/yui/widget-autohide/widget-autohide-min.js (+7/-0)
debian/extras/jslibs/yui/widget-autohide/widget-autohide.js (+242/-0)
debian/extras/jslibs/yui/widget-base-ie/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-base-ie/widget-base-ie-debug.js (+55/-0)
debian/extras/jslibs/yui/widget-base-ie/widget-base-ie-min.js (+7/-0)
debian/extras/jslibs/yui/widget-base-ie/widget-base-ie.js (+55/-0)
debian/extras/jslibs/yui/widget-base/assets/skins/night/widget-base-skin.css (+6/-0)
debian/extras/jslibs/yui/widget-base/assets/skins/night/widget-base.css (+7/-0)
debian/extras/jslibs/yui/widget-base/assets/skins/sam/widget-base-skin.css (+6/-0)
debian/extras/jslibs/yui/widget-base/assets/skins/sam/widget-base.css (+7/-0)
debian/extras/jslibs/yui/widget-base/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-base/widget-base-debug.js (+1260/-0)
debian/extras/jslibs/yui/widget-base/widget-base-min.js (+8/-0)
debian/extras/jslibs/yui/widget-base/widget-base.js (+1256/-0)
debian/extras/jslibs/yui/widget-buttons/assets/skins/night/widget-buttons-skin.css (+9/-0)
debian/extras/jslibs/yui/widget-buttons/assets/skins/night/widget-buttons.css (+7/-0)
debian/extras/jslibs/yui/widget-buttons/assets/skins/sam/widget-buttons-skin.css (+9/-0)
debian/extras/jslibs/yui/widget-buttons/assets/skins/sam/widget-buttons.css (+7/-0)
debian/extras/jslibs/yui/widget-buttons/assets/widget-buttons-core.css (+21/-0)
debian/extras/jslibs/yui/widget-buttons/widget-buttons-debug.js (+1296/-0)
debian/extras/jslibs/yui/widget-buttons/widget-buttons-min.js (+8/-0)
debian/extras/jslibs/yui/widget-buttons/widget-buttons.js (+1296/-0)
debian/extras/jslibs/yui/widget-child/widget-child-debug.js (+383/-0)
debian/extras/jslibs/yui/widget-child/widget-child-min.js (+7/-0)
debian/extras/jslibs/yui/widget-child/widget-child.js (+383/-0)
debian/extras/jslibs/yui/widget-htmlparser/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-htmlparser/widget-htmlparser-debug.js (+169/-0)
debian/extras/jslibs/yui/widget-htmlparser/widget-htmlparser-min.js (+7/-0)
debian/extras/jslibs/yui/widget-htmlparser/widget-htmlparser.js (+169/-0)
debian/extras/jslibs/yui/widget-locale/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-locale/widget-locale-debug.js (+179/-0)
debian/extras/jslibs/yui/widget-locale/widget-locale-min.js (+7/-0)
debian/extras/jslibs/yui/widget-locale/widget-locale.js (+175/-0)
debian/extras/jslibs/yui/widget-modality/assets/skins/night/widget-modality-skin.css (+13/-0)
debian/extras/jslibs/yui/widget-modality/assets/skins/night/widget-modality.css (+7/-0)
debian/extras/jslibs/yui/widget-modality/assets/skins/sam/widget-modality-skin.css (+13/-0)
debian/extras/jslibs/yui/widget-modality/assets/skins/sam/widget-modality.css (+7/-0)
debian/extras/jslibs/yui/widget-modality/assets/widget-modality-core.css (+7/-0)
debian/extras/jslibs/yui/widget-modality/widget-modality-debug.js (+578/-0)
debian/extras/jslibs/yui/widget-modality/widget-modality-min.js (+9/-0)
debian/extras/jslibs/yui/widget-modality/widget-modality.js (+578/-0)
debian/extras/jslibs/yui/widget-parent/widget-parent-debug.js (+876/-0)
debian/extras/jslibs/yui/widget-parent/widget-parent-min.js (+7/-0)
debian/extras/jslibs/yui/widget-parent/widget-parent.js (+875/-0)
debian/extras/jslibs/yui/widget-position-align/widget-position-align-debug.js (+659/-0)
debian/extras/jslibs/yui/widget-position-align/widget-position-align-min.js (+7/-0)
debian/extras/jslibs/yui/widget-position-align/widget-position-align.js (+655/-0)
debian/extras/jslibs/yui/widget-position-constrain/widget-position-constrain-debug.js (+352/-0)
debian/extras/jslibs/yui/widget-position-constrain/widget-position-constrain-min.js (+7/-0)
debian/extras/jslibs/yui/widget-position-constrain/widget-position-constrain.js (+352/-0)
debian/extras/jslibs/yui/widget-position/widget-position-debug.js (+281/-0)
debian/extras/jslibs/yui/widget-position/widget-position-min.js (+7/-0)
debian/extras/jslibs/yui/widget-position/widget-position.js (+281/-0)
debian/extras/jslibs/yui/widget-skin/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-skin/widget-skin-debug.js (+49/-0)
debian/extras/jslibs/yui/widget-skin/widget-skin-min.js (+7/-0)
debian/extras/jslibs/yui/widget-skin/widget-skin.js (+49/-0)
debian/extras/jslibs/yui/widget-stack/assets/skins/night/widget-stack-skin.css (+6/-0)
debian/extras/jslibs/yui/widget-stack/assets/skins/night/widget-stack.css (+7/-0)
debian/extras/jslibs/yui/widget-stack/assets/skins/sam/widget-stack-skin.css (+6/-0)
debian/extras/jslibs/yui/widget-stack/assets/skins/sam/widget-stack.css (+7/-0)
debian/extras/jslibs/yui/widget-stack/assets/widget-stack-core.css (+25/-0)
debian/extras/jslibs/yui/widget-stack/widget-stack-debug.js (+444/-0)
debian/extras/jslibs/yui/widget-stack/widget-stack-min.js (+7/-0)
debian/extras/jslibs/yui/widget-stack/widget-stack.js (+444/-0)
debian/extras/jslibs/yui/widget-stdmod/widget-stdmod-debug.js (+785/-0)
debian/extras/jslibs/yui/widget-stdmod/widget-stdmod-min.js (+7/-0)
debian/extras/jslibs/yui/widget-stdmod/widget-stdmod.js (+785/-0)
debian/extras/jslibs/yui/widget-uievents/assets/widget-base-core.css (+26/-0)
debian/extras/jslibs/yui/widget-uievents/widget-uievents-debug.js (+233/-0)
debian/extras/jslibs/yui/widget-uievents/widget-uievents-min.js (+7/-0)
debian/extras/jslibs/yui/widget-uievents/widget-uievents.js (+232/-0)
debian/extras/jslibs/yui/yql/yql-debug.js (+145/-0)
debian/extras/jslibs/yui/yql/yql-min.js (+7/-0)
debian/extras/jslibs/yui/yql/yql.js (+144/-0)
debian/extras/jslibs/yui/yui-base/yui-base-debug.js (+5562/-0)
debian/extras/jslibs/yui/yui-base/yui-base-min.js (+12/-0)
debian/extras/jslibs/yui/yui-base/yui-base.js (+5530/-0)
debian/extras/jslibs/yui/yui-core/yui-core-debug.js (+3681/-0)
debian/extras/jslibs/yui/yui-core/yui-core-min.js (+10/-0)
debian/extras/jslibs/yui/yui-core/yui-core.js (+3667/-0)
debian/extras/jslibs/yui/yui-later/yui-later-debug.js (+83/-0)
debian/extras/jslibs/yui/yui-later/yui-later-min.js (+7/-0)
debian/extras/jslibs/yui/yui-later/yui-later.js (+83/-0)
debian/extras/jslibs/yui/yui-log-nodejs/yui-log-nodejs-debug.js (+86/-0)
debian/extras/jslibs/yui/yui-log-nodejs/yui-log-nodejs-min.js (+7/-0)
debian/extras/jslibs/yui/yui-log-nodejs/yui-log-nodejs.js (+86/-0)
debian/extras/jslibs/yui/yui-log/yui-log-debug.js (+115/-0)
debian/extras/jslibs/yui/yui-log/yui-log-min.js (+7/-0)
debian/extras/jslibs/yui/yui-log/yui-log.js (+115/-0)
debian/extras/jslibs/yui/yui-nodejs/yui-nodejs-debug.js (+9675/-0)
debian/extras/jslibs/yui/yui-nodejs/yui-nodejs-min.js (+18/-0)
debian/extras/jslibs/yui/yui-nodejs/yui-nodejs.js (+9609/-0)
debian/extras/jslibs/yui/yui-throttle/yui-throttle-debug.js (+60/-0)
debian/extras/jslibs/yui/yui-throttle/yui-throttle-min.js (+9/-0)
debian/extras/jslibs/yui/yui-throttle/yui-throttle.js (+60/-0)
debian/extras/jslibs/yui/yui/yui-debug.js (+10661/-0)
debian/extras/jslibs/yui/yui/yui-min.js (+19/-0)
debian/extras/jslibs/yui/yui/yui.js (+10588/-0)
debian/maas-region-controller.install (+3/-0)
debian/patches/04_precise_no_yui_root.patch (+17/-0)
debian/patches/series (+1/-0)
debian/source/include-binaries (+130/-0)
To merge this branch: bzr merge lp:~andreserl/maas/precise.sru.jslibs
Reviewer Review Type Date Requested Status
Raphaël Badin (community) Approve
Review via email: mp+146252@code.launchpad.net

Commit message

As discussed with slangasek, it seems to be convenient to continue to ship the jslibs with maas as it was recommended to not introduce new packages for both raphael and yui3. However, if we do so from the upstream tarball, it would mean that the tarball in precise would differ from the one in quantal (for the sru) as they would have the same upstream version, but the tarball would be different.

This would cause a problem the archive as two packages/uploads to different mpockets of the archive using the same upstream version, should have the same tarball. For this reason slangasek recommended to ship the jslibs with the packaging. These get installed with maas-region-controller.

To post a comment you must log in.
Revision history for this message
Adam Conrad (adconrad) wrote :

Operating under the assumption that this will get reviewed and landed in some form, I've rejected yui3 from precise-proposed/new. Please do make this solution work. :P

Revision history for this message
Raphaël Badin (rvb) wrote :

A bit ugly to ship JS libraries in the packaging like this but this is really a packaging issue so I'll trust you that we have to do this ;).

I've built a package from this branch and tested it in the lab. All tests passed and the UI (which is the only part affected by this change) is fine.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2013-02-02 00:25:55 +0000
+++ debian/changelog 2013-02-02 01:30:27 +0000
@@ -4,6 +4,10 @@
4 by user/group 'dhcpd' instead of root.4 by user/group 'dhcpd' instead of root.
5 * debian/control: Force dependency version for python-django to5 * debian/control: Force dependency version for python-django to
6 ((>> 1.3.1-4ubuntu1.4).6 ((>> 1.3.1-4ubuntu1.4).
7 * Continue to ship yui3 and raphael with MAAS.
8 - debian/patches/04_precise_no_yui_root.patch: Add.
9 - debian/control: Drop dependencies on yui3 and raphael.
10 - debian/source/include-binaries: Add to not FTBFS
711
8 -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 30 Jan 2013 14:07:52 -050012 -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 30 Jan 2013 14:07:52 -0500
913
1014
=== modified file 'debian/control'
--- debian/control 2013-02-02 00:25:55 +0000
+++ debian/control 2013-02-02 01:30:27 +0000
@@ -56,9 +56,6 @@
56 bind9utils,56 bind9utils,
57 dbconfig-common,57 dbconfig-common,
58 libapache2-mod-wsgi,58 libapache2-mod-wsgi,
59 libjs-raphael,
60 libjs-yui3-full,
61 libjs-yui3-min,
62 maas-common (= ${binary:Version}),59 maas-common (= ${binary:Version}),
63 postgresql-9.1,60 postgresql-9.1,
64 pwgen,61 pwgen,
6562
=== added directory 'debian/extras/jslibs'
=== added directory 'debian/extras/jslibs/raphael'
=== added file 'debian/extras/jslibs/raphael/raphael-min.js'
--- debian/extras/jslibs/raphael/raphael-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/raphael/raphael-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,10 @@
1// ┌────────────────────────────────────────────────────────────────────┐ \\
2// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\
3// ├────────────────────────────────────────────────────────────────────┤ \\
4// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\
5// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\
6// ├────────────────────────────────────────────────────────────────────┤ \\
7// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\
8// └────────────────────────────────────────────────────────────────────┘ \\
9
10(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;t<u;t++)"zIndex"in f[t]&&(o.push(f[t].zIndex),f[t].zIndex<0&&(p[f[t].zIndex]=f[t]));o.sort(g);while(o[l]<0){n=p[o[l++]],q.push(n.apply(b,e));if(i){i=d;return q}}for(t=0;t<u;t++){n=f[t];if("zIndex"in n)if(n.zIndex==o[l]){q.push(n.apply(b,e));if(i)break;do{l++,n=p[o[l]],n&&q.push(n.apply(b,e));if(i)break}while(n)}else p[n.zIndex]=n;else{q.push(n.apply(b,e));if(i)break}}i=d,h=r;return q.length?q:null};k.listeners=function(a){var b=a.split(d),c=j,f,g,h,i,k,l,m,n,o=[c],p=[];for(i=0,k=b.length;i<k;i++){n=[];for(l=0,m=o.length;l<m;l++){c=o[l].n,g=[c[b[i]],c[e]],h=2;while(h--)f=g[h],f&&(n.push(f),p=p.concat(f.f||[]))}o=n}return p},k.on=function(a,b){var c=a.split(d),e=j;for(var g=0,h=c.length;g<h;g++)e=e.n,!e[c[g]]&&(e[c[g]]={n:{}}),e=e[c[g]];e.f=e.f||[];for(g=0,h=e.f.length;g<h;g++)if(e.f[g]==b)return f;e.f.push(b);return function(a){+a==+a&&(b.zIndex=+a)}},k.stop=function(){i=1},k.nt=function(a){if(a)return(new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)")).test(h);return h},k.off=k.unbind=function(a,b){var f=a.split(d),g,h,i,k,l,m,n,o=[j];for(k=0,l=f.length;k<l;k++)for(m=0;m<o.length;m+=i.length-2){i=[m,1],g=o[m].n;if(f[k]!=e)g[f[k]]&&i.push(g[f[k]]);else for(h in g)g[c](h)&&i.push(g[h]);o.splice.apply(o,i)}for(k=0,l=o.length;k<l;k++){g=o[k];while(g.n){if(b){if(g.f){for(m=0,n=g.f.length;m<n;m++)if(g.f[m]==b){g.f.splice(m,1);break}!g.f.length&&delete g.f}for(h in g.n)if(g.n[c](h)&&g.n[h].f){var p=g.n[h].f;for(m=0,n=p.length;m<n;m++)if(p[m]==b){p.splice(m,1);break}!p.length&&delete g.n[h].f}}else{delete g.f;for(h in g.n)g.n[c](h)&&g.n[h].f&&delete g.n[h].f}g=g.n}}},k.once=function(a,b){var c=function(){var d=b.apply(this,arguments);k.unbind(a,c);return d};return k.on(a,c)},k.version=b,k.toString=function(){return"You are running Eve "+b},typeof module!="undefined"&&module.exports?module.exports=k:typeof define!="undefined"?define("eve",[],function(){return k}):a.eve=k})(this),function(){function cF(a){for(var b=0;b<cy.length;b++)cy[b].el.paper==a&&cy.splice(b--,1)}function cE(b,d,e,f,h,i){e=Q(e);var j,k,l,m=[],o,p,q,t=b.ms,u={},v={},w={};if(f)for(y=0,z=cy.length;y<z;y++){var x=cy[y];if(x.el.id==d.id&&x.anim==b){x.percent!=e?(cy.splice(y,1),l=1):k=x,d.attr(x.totalOrigin);break}}else f=+v;for(var y=0,z=b.percents.length;y<z;y++){if(b.percents[y]==e||b.percents[y]>f*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;y<z;y++){w[A][y]=[0];for(var F=1,G=u[A][y].length;F<G;F++)w[A][y][F]=(E[y][F]-u[A][y][F])/t}break;case"transform":var H=d._,I=ca(H[A],v[A]);if(I){u[A]=I.from,v[A]=I.to,w[A]=[],w[A].real=!0;for(y=0,z=u[A].length;y<z;y++){w[A][y]=[u[A][y][0]];for(F=1,G=u[A][y].length;F<G;F++)w[A][y][F]=(v[A][y][F]-u[A][y][F])/t}}else{var J=d.matrix||new cb,K={_:{transform:H.transform},getBBox:function(){return d.getBBox(1)}};u[A]=[J.a,J.b,J.c,J.d,J.e,J.f],b$(K,v[A]),v[A]=K._.transform,w[A]=[(K.matrix.a-J.a)/t,(K.matrix.b-J.b)/t,(K.matrix.c-J.c)/t,(K.matrix.d-J.d)/t,(K.matrix.e-J.e)/t,(K.matrix.f-J.f)/t]}break;case"csv":var L=r(j[A])[s](c),M=r(u[A])[s](c);if(A=="clip-rect"){u[A]=M,w[A]=[],y=M.length;while(y--)w[A][y]=(L[y]-u[A][y])/t}v[A]=L;break;default:L=[][n](j[A]),M=[][n](u[A]),w[A]=[],y=d.paper.customAttributes[A].length;while(y--)w[A][y]=((L[y]||0)-(M[y]||0))/t}}var O=j.easing,P=a.easing_formulas[O];if(!P){P=r(O).match(N);if(P&&P.length==5){var R=P;P=function(a){return cC(a,+R[1],+R[2],+R[3],+R[4],t)}}else P=bf}q=j.start||b.start||+(new Date),x={anim:b,percent:e,timestamp:q,start:q+(b.del||0),status:0,initstatus:f||0,stop:!1,ms:t,easing:P,from:u,diff:w,to:v,el:d,callback:j.callback,prev:p,next:o,repeat:i||b.times,origin:d.attr(),totalOrigin:h},cy.push(x);if(f&&!k&&!l){x.stop=!0,x.start=new Date-t*f;if(cy.length==1)return cA()}l&&(x.start=new Date-x.ms*f),cy.length==1&&cz(cA)}else k.initstatus=f,k.start=new Date-k.ms*f;eve("raphael.anim.start."+d.id,d,b)}}function cD(a,b){var c=[],d={};this.ms=b,this.times=1;if(a){for(var e in a)a[g](e)&&(d[Q(e)]=a[e],c.push(Q(e)));c.sort(bd)}this.anim=d,this.top=c[c.length-1],this.percents=c}function cC(a,b,c,d,e,f){function o(a,b){var c,d,e,f,j,k;for(e=a,k=0;k<8;k++){f=m(e)-a;if(z(f)<b)return e;j=(3*i*e+2*h)*e+g;if(z(j)<1e-6)break;e=e-f/j}c=0,d=1,e=a;if(e<c)return c;if(e>d)return d;while(c<d){f=m(e);if(z(f-a)<b)return e;a>f?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p<q;p++){var r=b[p];if(r[0]=="M")e=i=r[1],f=j=r[2];else{r[0]=="C"?(m=[e,f].concat(r.slice(1)),e=m[6],f=m[7]):(m=[e,f,e,f,i,j,i,j],e=i,f=j);for(var s=0,t=c.length;s<t;s++){var u=c[s];if(u[0]=="M")g=k=u[1],h=l=u[2];else{u[0]=="C"?(n=[g,h].concat(u.slice(1)),g=n[6],h=n[7]):(n=[g,h,g,h,k,l,k,l],g=k,h=l);var v=bG(m,n,d);if(d)o+=v;else{for(var w=0,x=v.length;w<x;w++)v[w].segment1=p,v[w].segment2=s,v[w].bez1=m,v[w].bez2=n;o=o.concat(v)}}}}}return o}function bG(b,c,d){var e=a.bezierBBox(b),f=a.bezierBBox(c);if(!a.isBBoxIntersect(e,f))return d?0:[];var g=bB.apply(0,b),h=bB.apply(0,c),i=~~(g/5),j=~~(h/5),k=[],l=[],m={},n=d?0:[];for(var o=0;o<i+1;o++){var p=a.findDotsAtSegment.apply(a,b.concat(o/i));k.push({x:p.x,y:p.y,t:o/i})}for(o=0;o<j+1;o++)p=a.findDotsAtSegment.apply(a,c.concat(o/j)),l.push({x:p.x,y:p.y,t:o/j});for(o=0;o<i;o++)for(var q=0;q<j;q++){var r=k[o],s=k[o+1],t=l[q],u=l[q+1],v=z(s.x-r.x)<.001?"y":"x",w=z(u.x-t.x)<.001?"y":"x",x=bD(r.x,r.y,s.x,s.y,t.x,t.y,u.x,u.y);if(x){if(m[x.x.toFixed(4)]==x.y.toFixed(4))continue;m[x.x.toFixed(4)]=x.y.toFixed(4);var y=r.t+z((x[v]-r[v])/(s[v]-r[v]))*(s.t-r.t),A=t.t+z((x[w]-t[w])/(u[w]-t[w]))*(u.t-t.t);y>=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)<y(e,g)||y(a,c)>x(e,g)||x(b,d)<y(f,h)||y(b,d)>x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)<i)){var j=1,k=j/2,l=j-k,m,n=.01;m=bB(a,b,c,d,e,f,g,h,l);while(z(m-i)>n)k/=2,l+=(m<i?1:-1)*k,m=bB(a,b,c,d,e,f,g,h,l);return l}}function bB(a,b,c,d,e,f,g,h,i){i==null&&(i=1),i=i>1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;o<k;o++){var p=j*l[o]+j,q=bA(p,a,c,e,g),r=bA(p,b,d,f,h),s=q*q+r*r;n+=m[o]*w.sqrt(s)}return j*n}function bA(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function by(a,b){var c=[];for(var d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function bm(a){if(Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[g](c)&&(b[c]=bm(a[c]));return b}function a(c){if(a.is(c,"function"))return b?c():eve.on("raphael.DOMload",c);if(a.is(c,E))return a._engine.create[m](a,c.splice(0,3+a.is(c[0],C))).add(c);var d=Array.prototype.slice.call(arguments,0);if(a.is(d[d.length-1],"function")){var e=d.pop();return b?e.call(a._engine.create[m](a,d)):eve.on("raphael.DOMload",function(){e.call(a._engine.create[m](a,d))})}return a._engine.create[m](a,arguments)}a.version="2.1.0",a.eve=eve;var b,c=/[, ]+/,d={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},e=/\{(\d+)\}/g,f="prototype",g="hasOwnProperty",h={doc:document,win:window},i={was:Object.prototype[g].call(h.win,"Raphael"),is:h.win.Raphael},j=function(){this.ca=this.customAttributes={}},k,l="appendChild",m="apply",n="concat",o="createTouch"in h.doc,p="",q=" ",r=String,s="split",t="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[s](q),u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},v=r.prototype.toLowerCase,w=Math,x=w.max,y=w.min,z=w.abs,A=w.pow,B=w.PI,C="number",D="string",E="array",F="toString",G="fill",H=Object.prototype.toString,I={},J="push",K=a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i,L=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,M={NaN:1,Infinity:1,"-Infinity":1},N=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,O=w.round,P="setAttribute",Q=parseFloat,R=parseInt,S=r.prototype.toUpperCase,T=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0},U=a._availableAnimAttrs={blur:C,"clip-rect":"csv",cx:C,cy:C,fill:"colour","fill-opacity":C,"font-size":C,height:C,opacity:C,path:"path",r:C,rx:C,ry:C,stroke:"colour","stroke-opacity":C,"stroke-width":C,transform:"transform",width:C,x:C,y:C},V=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]/g,W=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,X={hs:1,rg:1},Y=/,?([achlmqrstvxz]),?/gi,Z=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,$=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,_=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig,ba=a._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/,bb={},bc=function(a,b){return a.key-b.key},bd=function(a,b){return Q(a)-Q(b)},be=function(){},bf=function(a){return a},bg=a._rectPath=function(a,b,c,d,e){if(e)return[["M",a+e,b],["l",c-e*2,0],["a",e,e,0,0,1,e,e],["l",0,d-e*2],["a",e,e,0,0,1,-e,e],["l",e*2-c,0],["a",e,e,0,0,1,-e,-e],["l",0,e*2-d],["a",e,e,0,0,1,e,-e],["z"]];return[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]]},bh=function(a,b,c,d){d==null&&(d=c);return[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]]},bi=a._getPath={path:function(a){return a.attr("path")},circle:function(a){var b=a.attrs;return bh(b.cx,b.cy,b.r)},ellipse:function(a){var b=a.attrs;return bh(b.cx,b.cy,b.rx,b.ry)},rect:function(a){var b=a.attrs;return bg(b.x,b.y,b.width,b.height,b.r)},image:function(a){var b=a.attrs;return bg(b.x,b.y,b.width,b.height)},text:function(a){var b=a._getBBox();return bg(b.x,b.y,b.width,b.height)}},bj=a.mapPath=function(a,b){if(!b)return a;var c,d,e,f,g,h,i;a=bR(a);for(e=0,g=a.length;e<g;e++){i=a[e];for(f=1,h=i.length;f<h;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d}return a};a._g=h,a.type=h.win.SVGAngle||h.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if(a.type=="VML"){var bk=h.doc.createElement("div"),bl;bk.innerHTML='<v:shape adj="1"/>',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(f<d)return c-f;if(f>b-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write("<body>"),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r<t)&&(z+=180);return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:x,y:y},alpha:z}},a.bezierBBox=function(b,c,d,e,f,g,h,i){a.is(b,"array")||(b=[b,c,d,e,f,g,h,i]);var j=bQ.apply(null,b);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},a.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.x<c.x2&&b.x>c.x||c.x<b.x2&&c.x>b.x)&&(b.y<c.y2&&b.y>c.y||c.y<b.y2&&c.y>b.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h<i;h++){g=a[h];if(g[0]=="M")c=g[1],d=g[2],e.push(c),f.push(d);else{var j=bQ(c,d,g[1],g[2],g[3],g[4],g[5],g[6]);e=e[n](j.min.x,j.max.x),f=f[n](j.min.y,j.max.y),c=g[5],d=g[6]}}var k=y[m](0,e),l=y[m](0,f),o=x[m](0,e),p=x[m](0,f),q={x:k,y:l,x2:o,y2:p,width:o-k,height:p-l};b.bbox=bm(q);return q},bJ=function(b){var c=bm(b);c.toString=a._path2string;return c},bK=a._pathToRelative=function(b){var c=bz(b);if(c.rel)return bJ(c.rel);if(!a.is(b,E)||!a.is(b&&b[0],E))b=a.parsePathString(b);var d=[],e=0,f=0,g=0,h=0,i=0;b[0][0]=="M"&&(e=b[0][1],f=b[0][2],g=e,h=f,i++,d.push(["M",e,f]));for(var j=i,k=b.length;j<k;j++){var l=d[j]=[],m=b[j];if(m[0]!=v.call(m[0])){l[0]=v.call(m[0]);switch(l[0]){case"a":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case"v":l[1]=+(m[1]-f).toFixed(3);break;case"m":g=m[1],h=m[2];default:for(var n=1,o=m.length;n<o;n++)l[n]=+(m[n]-(n%2?e:f)).toFixed(3)}}else{l=d[j]=[],m[0]=="m"&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;p<q;p++)d[j][p]=m[p]}var r=d[j].length;switch(d[j][0]){case"z":e=g,f=h;break;case"h":e+=+d[j][r-1];break;case"v":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}}d.toString=a._path2string,c.rel=bJ(d);return d},bL=a._pathToAbsolute=function(b){var c=bz(b);if(c.abs)return bJ(c.abs);if(!a.is(b,E)||!a.is(b&&b[0],E))b=a.parsePathString(b);if(!b||!b.length)return[["M",0,0]];var d=[],e=0,f=0,g=0,h=0,i=0;b[0][0]=="M"&&(e=+b[0][1],f=+b[0][2],g=e,h=f,i++,d[0]=["M",e,f]);var j=b.length==3&&b[0][0]=="M"&&b[1][0].toUpperCase()=="R"&&b[2][0].toUpperCase()=="Z";for(var k,l,m=i,o=b.length;m<o;m++){d.push(k=[]),l=b[m];if(l[0]!=S.call(l[0])){k[0]=S.call(l[0]);switch(k[0]){case"A":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+f);break;case"V":k[1]=+l[1]+f;break;case"H":k[1]=+l[1]+e;break;case"R":var p=[e,f][n](l.slice(1));for(var q=2,r=p.length;q<r;q++)p[q]=+p[q]+e,p[++q]=+p[q]+f;d.pop(),d=d[n](by(p,j));break;case"M":g=+l[1]+e,h=+l[2]+f;default:for(q=1,r=l.length;q<r;q++)k[q]=+l[q]+(q%2?e:f)}}else if(l[0]=="R")p=[e,f][n](l.slice(1)),d.pop(),d=d[n](by(p,j)),k=["R"][n](l.slice(-2));else for(var s=0,t=l.length;s<t;s++)k[s]=l[s];switch(k[0]){case"Z":e=g,f=h;break;case"H":e=k[1];break;case"V":f=k[1];break;case"M":g=k[k.length-2],h=k[k.length-1];default:e=k[k.length-2],f=k[k.length-1]}}d.toString=a._path2string,c.abs=bJ(d);return d},bM=function(a,b,c,d){return[a,b,c,d,c,d]},bN=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},bO=function(a,b,c,d,e,f,g,h,i,j){var k=B*120/180,l=B/180*(+e||0),m=[],o,p=bv(function(a,b,c){var d=a*w.cos(c)-b*w.sin(c),e=a*w.sin(c)+b*w.cos(c);return{x:d,y:e}});if(!j){o=p(a,b,-l),a=o.x,b=o.y,o=p(h,i,-l),h=o.x,i=o.y;var q=w.cos(B/180*e),r=w.sin(B/180*e),t=(a-h)/2,u=(b-i)/2,v=t*t/(c*c)+u*u/(d*d);v>1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=a<C?B-E:E,F=h<C?B-F:F,E<0&&(E=B*2+E),F<0&&(F=B*2+F),g&&E>F&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W<X;W++)V[W]=W%2?p(m[W-1],m[W],l).y:p(m[W],m[W+1],l).x;return V},bP=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:A(j,3)*a+A(j,2)*3*i*c+j*3*i*i*e+A(i,3)*g,y:A(j,3)*b+A(j,2)*3*i*d+j*3*i*i*f+A(i,3)*h}},bQ=bv(function(a,b,c,d,e,f,g,h){var i=e-2*c+a-(g-2*e+c),j=2*(c-a)-2*(e-c),k=a-c,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,o=[b,h],p=[a,g],q;z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);k<l;k++){d[k]=h(d[k],f),i(d,k),e&&(e[k]=h(e[k],g)),e&&i(e,k),j(d,e,f,g,k),j(e,d,g,f,k);var o=d[k],p=e&&e[k],q=o.length,r=e&&p.length;f.x=o[q-2],f.y=o[q-1],f.bx=Q(o[q-4])||f.x,f.by=Q(o[q-3])||f.y,g.bx=e&&(Q(p[r-4])||g.x),g.by=e&&(Q(p[r-3])||g.y),g.x=e&&p[r-2],g.y=e&&p[r-1]}e||(c.curve=bJ(d));return e?[d,e]:d},null,bJ),bS=a._parseDots=bv(function(b){var c=[];for(var d=0,e=b.length;d<e;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);f.color=a.getRGB(g[1]);if(f.color.error)return null;f.color=f.color.hex,g[2]&&(f.offset=g[2]+"%"),c.push(f)}for(d=1,e=c.length-1;d<e;d++)if(!c[d].offset){var h=Q(c[d-1].offset||0),i=0;for(var j=d+1;j<e;j++)if(c[j].offset){i=c[j].offset;break}i||(i=100,j=e),i=Q(i);var k=(i-h)/(j-d+1);for(;d<j;d++)h+=k,c[d].offset=h+"%"}return c}),bT=a._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)},bU=a._tofront=function(a,b){b.top!==a&&(bT(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},bV=a._toback=function(a,b){b.bottom!==a&&(bT(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},bW=a._insertafter=function(a,b,c){bT(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},bX=a._insertbefore=function(a,b,c){bT(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},bY=a.toMatrix=function(a,b){var c=bI(a),d={_:{transform:p},getBBox:function(){return c}};b$(d,b);return d.matrix},bZ=a.transformPath=function(a,b){return bj(a,bY(a,b))},b$=a._extractTransform=function(b,c){if(c==null)return b._.transform;c=r(c).replace(/\.{3}|\u2026/g,b._.transform||p);var d=a.parseTransformString(c),e=0,f=0,g=0,h=1,i=1,j=b._,k=new cb;j.transform=d||[];if(d)for(var l=0,m=d.length;l<m;l++){var n=d[l],o=n.length,q=r(n[0]).toLowerCase(),s=n[0]!=q,t=s?k.invert():0,u,v,w,x,y;q=="t"&&o==3?s?(u=t.x(0,0),v=t.y(0,0),w=t.x(n[1],n[2]),x=t.y(n[1],n[2]),k.translate(w-u,x-v)):k.translate(n[1],n[2]):q=="r"?o==2?(y=y||b.getBBox(1),k.rotate(n[1],y.x+y.width/2,y.y+y.height/2),e+=n[1]):o==4&&(s?(w=t.x(n[2],n[3]),x=t.y(n[2],n[3]),k.rotate(n[1],w,x)):k.rotate(n[1],n[2],n[3]),e+=n[1]):q=="s"?o==2||o==3?(y=y||b.getBBox(1),k.scale(n[1],n[o-1],y.x+y.width/2,y.y+y.height/2),h*=n[1],i*=n[o-1]):o==5&&(s?(w=t.x(n[3],n[4]),x=t.y(n[3],n[4]),k.scale(n[1],n[2],w,x)):k.scale(n[1],n[2],n[3],n[4]),h*=n[1],i*=n[2]):q=="m"&&o==7&&k.add(n[1],n[2],n[3],n[4],n[5],n[6]),j.dirtyT=1,b.matrix=k}b.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,h==1&&i==1&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1},b_=function(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return a.length==4?[b,0,a[2],a[3]]:[b,0];case"s":return a.length==5?[b,1,1,a[3],a[4]]:a.length==3?[b,1,1]:[b,1]}},ca=a._equaliseTransform=function(b,c){c=r(c).replace(/\.{3}|\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];var d=x(b.length,c.length),e=[],f=[],g=0,h,i,j,k;for(;g<d;g++){j=b[g]||b_(c[g]),k=c[g]||b_(j);if(j[0]!=k[0]||j[0].toLowerCase()=="r"&&(j[2]!=k[2]||j[3]!=k[3])||j[0].toLowerCase()=="s"&&(j[3]!=k[3]||j[4]!=k[4]))return;e[g]=[],f[g]=[];for(h=0,i=x(j.length,k.length);h<i;h++)h in j&&(e[g][h]=j[h]),h in k&&(f[g][h]=k[h])}return{from:e,to:f}};a._getContainer=function(b,c,d,e){var f;f=e==null&&!a.is(b,"object")?h.doc.getElementById(b):b;if(f!=null){if(f.tagName)return c==null?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d};return{container:1,x:b,y:c,width:d,height:e}}},a.pathToRelative=bK,a._engine={},a.path2curve=bR,a.matrix=function(a,b,c,d,e,f){return new cb(a,b,c,d,e,f)},function(b){function d(a){var b=w.sqrt(c(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}function c(a){return a[0]*a[0]+a[1]*a[1]}b.add=function(a,b,c,d,e,f){var g=[[],[],[]],h=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],i=[[a,c,e],[b,d,f],[0,0,1]],j,k,l,m;a&&a instanceof cb&&(i=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]);for(j=0;j<3;j++)for(k=0;k<3;k++){m=0;for(l=0;l<3;l++)m+=h[j][l]*i[l][k];g[j][k]=m}this.a=g[0][0],this.b=g[1][0],this.c=g[0][1],this.d=g[1][1],this.e=g[0][2],this.f=g[1][2]},b.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new cb(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},b.clone=function(){return new cb(this.a,this.b,this.c,this.d,this.e,this.f)},b.translate=function(a,b){this.add(1,0,0,1,a,b)},b.scale=function(a,b,c,d){b==null&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},b.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var e=+w.cos(b).toFixed(9),f=+w.sin(b).toFixed(9);this.add(e,f,-f,e,c,d),this.add(1,0,0,1,-c,-d)},b.x=function(a,b){return a*this.a+b*this.c+this.e},b.y=function(a,b){return a*this.b+b*this.d+this.f},b.get=function(a){return+this[r.fromCharCode(97+a)].toFixed(4)},b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},b.split=function(){var b={};b.dx=this.e,b.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];b.scalex=w.sqrt(c(e[0])),d(e[0]),b.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*b.shear,e[1][1]-e[0][1]*b.shear],b.scaley=w.sqrt(c(e[1])),d(e[1]),b.shear/=b.scaley;var f=-e[0][1],g=e[1][1];g<0?(b.rotate=a.deg(w.acos(g)),f<0&&(b.rotate=360-b.rotate)):b.rotate=a.deg(w.asin(f)),b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b},b.toTransformString=function(a){var b=a||this[s]();if(b.isSimple){b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4);return(b.dx||b.dy?"t"+[b.dx,b.dy]:p)+(b.scalex!=1||b.scaley!=1?"s"+[b.scalex,b.scaley,0,0]:p)+(b.rotate?"r"+[b.rotate,0,0]:p)}return"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(cb.prototype);var cc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);navigator.vendor=="Apple Computer, Inc."&&(cc&&cc[1]<4||navigator.platform.slice(0,2)=="iP")||navigator.vendor=="Google Inc."&&cc&&cc[1]<8?k.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:k.safari=be;var cd=function(){this.returnValue=!1},ce=function(){return this.originalEvent.preventDefault()},cf=function(){this.cancelBubble=!0},cg=function(){return this.originalEvent.stopPropagation()},ch=function(){if(h.doc.addEventListener)return function(a,b,c,d){var e=o&&u[b]?u[b]:b,f=function(e){var f=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,i=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,j=e.clientX+i,k=e.clientY+f;if(o&&u[g](b))for(var l=0,m=e.targetTouches&&e.targetTouches.length;l<m;l++)if(e.targetTouches[l].target==a){var n=e;e=e.targetTouches[l],e.originalEvent=n,e.preventDefault=ce,e.stopPropagation=cg;break}return c.call(d,e,j,k)};a.addEventListener(e,f,!1);return function(){a.removeEventListener(e,f,!1);return!0}};if(h.doc.attachEvent)return function(a,b,c,d){var e=function(a){a=a||h.win.event;var b=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,e=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;a.preventDefault=a.preventDefault||cd,a.stopPropagation=a.stopPropagation||cf;return c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){a.detachEvent("on"+b,e);return!0};return f}}(),ci=[],cj=function(a){var b=a.clientX,c=a.clientY,d=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,e=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft,f,g=ci.length;while(g--){f=ci[g];if(o){var i=a.touches.length,j;while(i--){j=a.touches[i];if(j.identifier==f.el._drag.id){b=j.clientX,c=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}}else a.preventDefault();var k=f.el.node,l,m=k.nextSibling,n=k.parentNode,p=k.style.display;h.win.opera&&n.removeChild(k),k.style.display="none",l=f.el.paper.getElementByPoint(b,c),k.style.display=p,h.win.opera&&(m?n.insertBefore(k,m):n.appendChild(k)),l&&eve("raphael.drag.over."+f.el.id,f.el,l),b+=e,c+=d,eve("raphael.drag.move."+f.el.id,f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},ck=function(b){a.unmousemove(cj).unmouseup(ck);var c=ci.length,d;while(c--)d=ci[c],d.el._drag={},eve("raphael.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,b);ci=[]},cl=a.el={};for(var cm=t.length;cm--;)(function(b){a[b]=cl[b]=function(c,d){a.is(c,"function")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:ch(this.shape||this.node||h.doc,b,c,d||this)}));return this},a["un"+b]=cl["un"+b]=function(a){var c=this.events||[],d=c.length;while(d--)if(c[d].name==b&&c[d].f==a){c[d].unbind(),c.splice(d,1),!c.length&&delete this.events;return this}return this}})(t[cm]);cl.data=function(b,c){var d=bb[this.id]=bb[this.id]||{};if(arguments.length==1){if(a.is(b,"object")){for(var e in b)b[g](e)&&this.data(e,b[e]);return this}eve("raphael.data.get."+this.id,this,d[b],b);return d[b]}d[b]=c,eve("raphael.data.set."+this.id,this,c,b);return this},cl.removeData=function(a){a==null?bb[this.id]={}:bb[this.id]&&delete bb[this.id][a];return this},cl.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},cl.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var cn=[];cl.drag=function(b,c,d,e,f,g){function i(i){(i.originalEvent||i).preventDefault();var j=h.doc.documentElement.scrollTop||h.doc.body.scrollTop,k=h.doc.documentElement.scrollLeft||h.doc.body.scrollLeft;this._drag.x=i.clientX+k,this._drag.y=i.clientY+j,this._drag.id=i.identifier,!ci.length&&a.mousemove(cj).mouseup(ck),ci.push({el:this,move_scope:e,start_scope:f,end_scope:g}),c&&eve.on("raphael.drag.start."+this.id,c),b&&eve.on("raphael.drag.move."+this.id,b),d&&eve.on("raphael.drag.end."+this.id,d),eve("raphael.drag.start."+this.id,f||e||this,i.clientX+k,i.clientY+j,i)}this._drag={},cn.push({el:this,start:i}),this.mousedown(i);return this},cl.onDragOver=function(a){a?eve.on("raphael.drag.over."+this.id,a):eve.unbind("raphael.drag.over."+this.id)},cl.undrag=function(){var b=cn.length;while(b--)cn[b].el==this&&(this.unmousedown(cn[b].start),cn.splice(b,1),eve.unbind("raphael.drag.*."+this.id));!cn.length&&a.unmousemove(cj).unmouseup(ck)},k.circle=function(b,c,d){var e=a._engine.circle(this,b||0,c||0,d||0);this.__set__&&this.__set__.push(e);return e},k.rect=function(b,c,d,e,f){var g=a._engine.rect(this,b||0,c||0,d||0,e||0,f||0);this.__set__&&this.__set__.push(g);return g},k.ellipse=function(b,c,d,e){var f=a._engine.ellipse(this,b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(f);return f},k.path=function(b){b&&!a.is(b,D)&&!a.is(b[0],E)&&(b+=p);var c=a._engine.path(a.format[m](a,arguments),this);this.__set__&&this.__set__.push(c);return c},k.image=function(b,c,d,e,f){var g=a._engine.image(this,b||"about:blank",c||0,d||0,e||0,f||0);this.__set__&&this.__set__.push(g);return g},k.text=function(b,c,d){var e=a._engine.text(this,b||0,c||0,r(d));this.__set__&&this.__set__.push(e);return e},k.set=function(b){!a.is(b,"array")&&(b=Array.prototype.splice.call(arguments,0,arguments.length));var c=new cG(b);this.__set__&&this.__set__.push(c);return c},k.setStart=function(a){this.__set__=a||this.set()},k.setFinish=function(a){var b=this.__set__;delete this.__set__;return b},k.setSize=function(b,c){return a._engine.setSize.call(this,b,c)},k.setViewBox=function(b,c,d,e,f){return a._engine.setViewBox.call(this,b,c,d,e,f)},k.top=k.bottom=null,k.raphael=a;var co=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,i=b.top+(h.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(h.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:i,x:j}};k.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=h.doc.elementFromPoint(a,b);if(h.win.opera&&e.tagName=="svg"){var f=co(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var i=d.getIntersectionList(g,null);i.length&&(e=i[i.length-1])}if(!e)return null;while(e.parentNode&&e!=d.parentNode&&!e.raphael)e=e.parentNode;e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null;return e},k.getById=function(a){var b=this.bottom;while(b){if(b.id==a)return b;b=b.next}return null},k.forEach=function(a,b){var c=this.bottom;while(c){if(a.call(b,c)===!1)return this;c=c.next}return this},k.getElementsByPoint=function(a,b){var c=this.set();this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)});return c},cl.isPointInside=function(b,c){var d=this.realPath=this.realPath||bi[this.type](this);return a.isPointInsidePath(d,b,c)},cl.getBBox=function(a){if(this.removed)return{};var b=this._;if(a){if(b.dirty||!b.bboxwt)this.realPath=bi[this.type](this),b.bboxwt=bI(this.realPath),b.bboxwt.toString=cq,b.dirty=0;return b.bboxwt}if(b.dirty||b.dirtyT||!b.bbox){if(b.dirty||!this.realPath)b.bboxwt=0,this.realPath=bi[this.type](this);b.bbox=bI(bj(this.realPath,this.matrix)),b.bbox.toString=cq,b.dirty=b.dirtyT=0}return b.bbox},cl.clone=function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(a);return a},cl.glow=function(a){if(this.type=="text")return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:a.opacity||.5,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||bi[this.type](this);f=this.matrix?bj(f,this.matrix):f;for(var g=1;g<c+1;g++)e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var cr={},cs=function(b,c,d,e,f,g,h,i,j){return j==null?bB(b,c,d,e,f,g,h,i):a.findDotsAtSegment(b,c,d,e,f,g,h,i,bC(b,c,d,e,f,g,h,i,j))},ct=function(b,c){return function(d,e,f){d=bR(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;o<p;o++){i=d[o];if(i[0]=="M")g=+i[1],h=+i[2];else{j=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6]);if(n+j>e){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c<cy.length;c++){var d=cy[c];if(d.el.removed||d.paused)continue;var e=b-d.start,f=d.ms,h=d.easing,i=d.from,j=d.diff,k=d.to,l=d.t,m=d.el,o={},p,r={},s;d.initstatus?(e=(d.initstatus*d.anim.top-d.prev)/(d.percent-d.prev)*f,d.status=d.initstatus,delete d.initstatus,d.stop&&cy.splice(c--,1)):d.status=(d.prev+(d.percent-d.prev)*(e/f))/d.anim.top;if(e<0)continue;if(e<f){var t=h(e/f);for(var u in i)if(i[g](u)){switch(U[u]){case C:p=+i[u]+t*f*j[u];break;case"colour":p="rgb("+[cB(O(i[u].r+t*f*j[u].r)),cB(O(i[u].g+t*f*j[u].g)),cB(O(i[u].b+t*f*j[u].b))].join(",")+")";break;case"path":p=[];for(var v=0,w=i[u].length;v<w;v++){p[v]=[i[u][v][0]];for(var x=1,y=i[u][v].length;x<y;x++)p[v][x]=+i[u][v][x]+t*f*j[u][v][x];p[v]=p[v].join(q)}p=p.join(q);break;case"transform":if(j[u].real){p=[];for(v=0,w=i[u].length;v<w;v++){p[v]=[i[u][v][0]];for(x=1,y=i[u][v].length;x<y;x++)p[v][x]=i[u][v][x]+t*f*j[u][v][x]}}else{var z=function(a){return+i[u][a]+t*f*j[u][a]};p=[["m",z(0),z(1),z(2),z(3),z(4),z(5)]]}break;case"csv":if(u=="clip-rect"){p=[],v=4;while(v--)p[v]=+i[u][v]+t*f*j[u][v]}break;default:var A=[][n](i[u]);p=[],v=m.paper.customAttributes[u].length;while(v--)p[v]=+A[v]+t*f*j[u][v]}o[u]=p}m.attr(o),function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+a,b,c)})}(m.id,m,d.anim)}else{(function(b,c,d){setTimeout(function(){eve("raphael.anim.frame."+c.id,c,d),eve("raphael.anim.finish."+c.id,c,d),a.is(b,"function")&&b.call(c)})})(d.callback,m,d.anim),m.attr(k),cy.splice(c--,1);if(d.repeat>1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l<m;l++)if(cy[l].anim==c&&cy[l].el==b){cy[m-1].start=cy[l].start;break}return h},cl.onAnimation=function(a){a?eve.on("raphael.anim.frame."+this.id,a):eve.unbind("raphael.anim.frame."+this.id);return this},cD.prototype.delay=function(a){var b=new cD(this.anim,this.ms);b.times=this.times,b.del=+a||0;return b},cD.prototype.repeat=function(a){var b=new cD(this.anim,this.ms);b.del=this.del,b.times=w.floor(x(a,0))||1;return b},a.animation=function(b,c,d,e){if(b instanceof cD)return b;if(a.is(d,"function")||!d)e=e||d||null,d=null;b=Object(b),c=+c||0;var f={},h,i;for(i in b)b[g](i)&&Q(i)!=i&&Q(i)+"%"!=i&&(h=!0,f[i]=b[i]);if(!h)return new cD(b,c);d&&(f.easing=d),e&&(f.callback=e);return new cD({100:f},c)},cl.animate=function(b,c,d,e){var f=this;if(f.removed){e&&e.call(f);return f}var g=b instanceof cD?b:a.animation(b,c,d,e);cE(g,f,g.percents[0],null,f.attr());return f},cl.setTime=function(a,b){a&&b!=null&&this.status(a,y(b,a.ms)/a.ms);return this},cl.status=function(a,b){var c=[],d=0,e,f;if(b!=null){cE(a,this,-1,y(b,1));return this}e=cy.length;for(;d<e;d++){f=cy[d];if(f.el.id==this.id&&(!a||f.anim==a)){if(a)return f.status;c.push({anim:f.anim,status:f.status})}}if(a)return 0;return c},cl.pause=function(a){for(var b=0;b<cy.length;b++)cy[b].el.id==this.id&&(!a||cy[b].anim==a)&&eve("raphael.anim.pause."+this.id,this,cy[b].anim)!==!1&&(cy[b].paused=!0);return this},cl.resume=function(a){for(var b=0;b<cy.length;b++)if(cy[b].el.id==this.id&&(!a||cy[b].anim==a)){var c=cy[b];eve("raphael.anim.resume."+this.id,this,c.anim)!==!1&&(delete c.paused,this.status(c.anim,c.status))}return this},cl.stop=function(a){for(var b=0;b<cy.length;b++)cy[b].el.id==this.id&&(!a||cy[b].anim==a)&&eve("raphael.anim.stop."+this.id,this,cy[b].anim)!==!1&&cy.splice(b--,1);return this},eve.on("raphael.remove",cF),eve.on("raphael.clear",cF),cl.toString=function(){return"Raphaël’s object"};var cG=function(a){this.items=[],this.length=0,this.type="set";if(a)for(var b=0,c=a.length;b<c;b++)a[b]&&(a[b].constructor==cl.constructor||a[b].constructor==cG)&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},cH=cG.prototype;cH.push=function(){var a,b;for(var c=0,d=arguments.length;c<d;c++)a=arguments[c],a&&(a.constructor==cl.constructor||a.constructor==cG)&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},cH.pop=function(){this.length&&delete this[this.length--];return this.items.pop()},cH.forEach=function(a,b){for(var c=0,d=this.items.length;c<d;c++)if(a.call(b,this.items[c],c)===!1)return this;return this};for(var cI in cl)cl[g](cI)&&(cH[cI]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][m](c,b)})}}(cI));cH.attr=function(b,c){if(b&&a.is(b,E)&&a.is(b[0],"object"))for(var d=0,e=b.length;d<e;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items.length;f<g;f++)this.items[f].attr(b,c);return this},cH.clear=function(){while(this.length)this.pop()},cH.splice=function(a,b,c){a=a<0?x(this.length+a,0):a,b=x(0,y(this.length-a,b));var d=[],e=[],f=[],g;for(g=2;g<arguments.length;g++)f.push(arguments[g]);for(g=0;g<b;g++)e.push(this[a+g]);for(;g<this.length-a;g++)d.push(this[a+g]);var h=f.length;for(g=0;g<h+d.length;g++)this.items[a+g]=this[a+g]=g<h?f[g]:d[g-h];g=this.items.length=this.length-=b-h;while(this[g])delete this[g++];return new cG(e)},cH.exclude=function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]==a){this.splice(b,1);return!0}},cH.animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f=this.items.length,g=f,h,i=this,j;if(!f)return this;e&&(j=function(){!--f&&e.call(i)}),d=a.is(d,D)?d:j;var k=a.animation(b,c,d,j);h=this.items[--g].animate(k);while(g--)this.items[g]&&!this.items[g].removed&&this.items[g].animateWith(h,k,k);return this},cH.insertAfter=function(a){var b=this.items.length;while(b--)this.items[b].insertAfter(a);return this},cH.getBBox=function(){var a=[],b=[],c=[],d=[];for(var e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)}a=y[m](0,a),b=y[m](0,b),c=x[m](0,c),d=x[m](0,d);return{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},cH.clone=function(a){a=new cG;for(var b=0,c=this.items.length;b<c;b++)a.push(this.items[b].clone());return a},cH.toString=function(){return"Raphaël‘s set"},a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[g](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=R(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[g](e)){var f=a.glyphs[e];b.glyphs[e]={w:f.w,k:{},d:f.d&&"M"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[a]||"M"})+"z"};if(f.k)for(var h in f.k)f[g](h)&&(b.glyphs[e].k[h]=f.k[h])}}return a},k.getFont=function(b,c,d,e){e=e||"normal",d=d||"normal",c=+c||{normal:400,bold:700,lighter:300,bolder:800}[c]||400;if(!!a.fonts){var f=a.fonts[b];if(!f){var h=new RegExp("(^|\\s)"+b.replace(/[^\w\d\s+!~.:_-]/g,p)+"(\\s|$)","i");for(var i in a.fonts)if(a.fonts[g](i)&&h.test(i)){f=a.fonts[i];break}}var j;if(f)for(var k=0,l=f.length;k<l;k++){j=f[k];if(j.face["font-weight"]==c&&(j.face["font-style"]==d||!j.face["font-style"])&&j.face["font-stretch"]==e)break}return j}},k.print=function(b,d,e,f,g,h,i){h=h||"middle",i=x(y(i||0,1),-1);var j=r(e)[s](p),k=0,l=0,m=p,n;a.is(f,e)&&(f=this.getFont(f));if(f){n=(g||16)/f.face["units-per-em"];var o=f.face.bbox[s](c),q=+o[0],t=o[3]-o[1],u=0,v=+o[1]+(h=="baseline"?t+ +f.face.descent:t/2);for(var w=0,z=j.length;w<z;w++){if(j[w]=="\n")k=0,B=0,l=0,u+=t;else{var A=l&&f.glyphs[j[w-1]]||{},B=f.glyphs[j[w]];k+=l?(A.w||f.w)+(A.k&&A.k[j[w]]||0)+f.w*i:0,l=1}B&&B.d&&(m+=a.transformPath(B.d,["t",k*n,u*n,"s",n,n,q,v,"t",(b-q)/n,(d-v)/n]))}}return this.path(m).attr({fill:"#000",stroke:"none"})},k.add=function(b){if(a.is(b,"array")){var c=this.set(),e=0,f=b.length,h;for(;e<f;e++)h=b[e]||{},d[g](h.type)&&c.push(this[h.type]().attr(h))}return c},a.format=function(b,c){var d=a.is(c,E)?[0][n](c):arguments;b&&a.is(b,D)&&d.length-1&&(b=b.replace(e,function(a,b){return d[++b]==null?p:d[b]}));return b||p},a.fullfill=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),typeof e=="function"&&f&&(e=e()))}),e=(e==null||e==d?a:e)+"";return e};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}}(),a.ninja=function(){i.was?h.win.Raphael=i.is:delete Raphael;return a},a.st=cH,function(b,c,d){function e(){/in/.test(b.readyState)?setTimeout(e,9):a.eve("raphael.DOMload")}b.readyState==null&&b.addEventListener&&(b.addEventListener(c,d=function(){b.removeEventListener(c,d,!1),b.readyState="complete"},!1),b.readyState="loading"),e()}(document,"DOMContentLoaded"),i.was?h.win.Raphael=a:Raphael=a,eve.on("raphael.DOMload",function(){b=!0})}(),window.Raphael.svg&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=a.eve,l="",m=" ",n="http://www.w3.org/1999/xlink",o={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},p={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var q=function(d,e){if(e){typeof d=="string"&&(d=q(d));for(var f in e)e[b](f)&&(f.substring(0,6)=="xlink:"?d.setAttributeNS(n,f.substring(6),c(e[f])):d.setAttribute(f,c(e[f])))}else d=a._g.doc.createElementNS("http://www.w3.org/2000/svg",d),d.style&&(d.style.webkitTapHighlightColor="rgba(0,0,0,0)");return d},r=function(b,e){var j="linear",k=b.id+e,m=.5,n=.5,o=b.node,p=b.paper,r=o.style,s=a._g.doc.getElementById(k);if(!s){e=c(e).replace(a._radial_gradient,function(a,b,c){j="radial";if(b&&c){m=d(b),n=d(c);var e=(n>.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x<y;x++)s.appendChild(q("stop",{offset:w[x].offset?w[x].offset:x?"100%":"0%","stop-color":w[x].color||"#fff"}))}}q(o,{fill:"url(#"+k+")",opacity:1,"fill-opacity":1}),r.fill=l,r.opacity=1,r.fillOpacity=1;return 1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},t=function(d,e,f){if(d.type=="path"){var g=c(e).toLowerCase().split("-"),h=d.paper,i=f?"end":"start",j=d.node,k=d.attrs,m=k["stroke-width"],n=g.length,r="classic",s,t,u,v,w,x=3,y=3,z=5;while(n--)switch(g[n]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":r=g[n];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":x=5;break;case"short":x=2}r=="open"?(x+=2,y+=2,z+=2,u=1,v=f?4:1,w={fill:"none",stroke:k.stroke}):(v=u=x/2,w={fill:k.stroke,stroke:"none"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={};if(r!="none"){var A="raphael-marker-"+r,B="raphael-marker-"+i+r+x+y;a._g.doc.getElementById(A)?p[A]++:(h.defs.appendChild(q(q("path"),{"stroke-linecap":"round",d:o[r],id:A})),p[A]=1);var C=a._g.doc.getElementById(B),D;C?(p[B]++,D=C.getElementsByTagName("use")[0]):(C=q(q("marker"),{id:B,markerHeight:y,markerWidth:x,orient:"auto",refX:v,refY:y/2}),D=q(q("use"),{"xlink:href":"#"+A,transform:(f?"rotate(180 "+x/2+" "+y/2+") ":l)+"scale("+x/z+","+y/z+")","stroke-width":(1/((x/z+y/z)/2)).toFixed(4)}),C.appendChild(D),h.defs.appendChild(C),p[B]=1),q(D,w);var F=u*(r!="diamond"&&r!="oval");f?(s=d._.arrows.startdx*m||0,t=a.getTotalLength(k.path)-F*m):(s=F*m,t=a.getTotalLength(k.path)-(d._.arrows.enddx*m||0)),w={},w["marker-"+i]="url(#"+B+")";if(t||s)w.d=Raphael.getSubpath(k.path,s,t);q(j,w),d._.arrows[i+"Path"]=A,d._.arrows[i+"Marker"]=B,d._.arrows[i+"dx"]=F,d._.arrows[i+"Type"]=r,d._.arrows[i+"String"]=e}else f?(s=d._.arrows.startdx*m||0,t=a.getTotalLength(k.path)-s):(s=0,t=a.getTotalLength(k.path)-(d._.arrows.enddx*m||0)),d._.arrows[i+"Path"]&&q(j,{d:Raphael.getSubpath(k.path,s,t)}),delete d._.arrows[i+"Path"],delete d._.arrows[i+"Marker"],delete d._.arrows[i+"dx"],delete d._.arrows[i+"Type"],delete d._.arrows[i+"String"];for(w in p)if(p[b](w)&&!p[w]){var G=a._g.doc.getElementById(w);G&&G.parentNode.removeChild(G)}}},u={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},v=function(a,b,d){b=u[c(b).toLowerCase()];if(b){var e=a.attrs["stroke-width"]||"1",f={round:e,square:e,butt:0}[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],h=b.length;while(h--)g[h]=b[h]*e+(h%2?1:-1)*f;q(a.node,{"stroke-dasharray":g.join(",")})}},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility="hidden";for(var o in f)if(f[b](o)){if(!a._availableAttrs[b](o))continue;var p=f[o];k[o]=p;switch(o){case"blur":d.blur(p);break;case"href":case"title":case"target":var u=i.parentNode;if(u.tagName.toLowerCase()!="a"){var w=q("a");u.insertBefore(w,i),w.appendChild(i),u=w}o=="target"?u.setAttributeNS(n,"show",p=="blank"?"new":p):u.setAttributeNS(n,o,p);break;case"cursor":i.style.cursor=p;break;case"transform":d.transform(p);break;case"arrow-start":t(d,p);break;case"arrow-end":t(d,p,1);break;case"clip-rect":var x=c(p).split(j);if(x.length==4){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var z=q("clipPath"),A=q("rect");z.id=a.createUUID(),q(A,{x:x[0],y:x[1],width:x[2],height:x[3]}),z.appendChild(A),d.paper.defs.appendChild(z),q(i,{"clip-path":"url(#"+z.id+")"}),d.clip=A}if(!p){var B=i.getAttribute("clip-path");if(B){var C=a._g.doc.getElementById(B.replace(/(^url\(#|\)$)/g,l));C&&C.parentNode.removeChild(C),q(i,{"clip-path":l}),delete d.clip}}break;case"path":d.type=="path"&&(q(i,{d:p?k.path=a._pathToAbsolute(p):"M0,0"}),d._.dirty=1,d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case"width":i.setAttribute(o,p),d._.dirty=1;if(k.fx)o="x",p=k.x;else break;case"x":k.fx&&(p=-k.x-(k.width||0));case"rx":if(o=="rx"&&d.type=="rect")break;case"cx":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"height":i.setAttribute(o,p),d._.dirty=1;if(k.fy)o="y",p=k.y;else break;case"y":k.fy&&(p=-k.y-(k.height||0));case"ry":if(o=="ry"&&d.type=="rect")break;case"cy":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"r":d.type=="rect"?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case"src":d.type=="image"&&i.setAttributeNS(n,"href",p);break;case"stroke-width":if(d._.sx!=1||d._.sy!=1)p/=g(h(d._.sx),h(d._.sy))||1;d.paper._vbSize&&(p*=d.paper._vbSize),i.setAttribute(o,p),k["stroke-dasharray"]&&v(d,k["stroke-dasharray"],f),d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"stroke-dasharray":v(d,p,f);break;case"fill":var D=c(p).match(a._ISURL);if(D){z=q("pattern");var F=q("image");z.id=a.createUUID(),q(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),q(F,{x:0,y:0,"xlink:href":D[1]}),z.appendChild(F),function(b){a._preload(D[1],function(){var a=this.offsetWidth,c=this.offsetHeight;q(b,{width:a,height:c}),q(F,{width:a,height:c}),d.paper.safari()})}(z),d.paper.defs.appendChild(z),q(i,{fill:"url(#"+z.id+")"}),d.pattern=z,d.pattern&&s(d);break}var G=a.getRGB(p);if(!G.error)delete f.gradient,delete k.gradient,!a.is(k.opacity,"undefined")&&a.is(f.opacity,"undefined")&&q(i,{opacity:k.opacity}),!a.is(k["fill-opacity"],"undefined")&&a.is(f["fill-opacity"],"undefined")&&q(i,{"fill-opacity":k["fill-opacity"]});else if((d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p)){if("opacity"in k||"fill-opacity"in k){var H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l));if(H){var I=H.getElementsByTagName("stop");q(I[I.length-1],{"stop-opacity":("opacity"in k?k.opacity:1)*("fill-opacity"in k?k["fill-opacity"]:1)})}}k.gradient=p,k.fill="none";break}G[b]("opacity")&&q(i,{"fill-opacity":G.opacity>1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n<o;n++)m=q("tspan"),n&&q(m,{dy:i*x,x:g.x}),m.appendChild(a._g.doc.createTextNode(j[n])),h.appendChild(m),k[n]=m}else{k=h.getElementsByTagName("tspan");for(n=0,o=k.length;n<o;n++)n?q(k[n],{dy:i*x,x:g.x}):q(k[0],{dy:0})}q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&a.is(r,"finite")&&q(k[0],{dy:r})}},z=function(b,c){var d=0,e=0;this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.matrix=a.matrix(),this.realPath=null,this.paper=c,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},A=a.el;z.prototype=A,A.constructor=z,a._engine.path=function(a,b){var c=q("path");b.canvas&&b.canvas.appendChild(c);var d=new z(c,b);d.type="path",w(d,{fill:"none",stroke:"#000",path:a});return d},A.rotate=function(a,b,e){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),e==null&&(b=e);if(b==null||e==null){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}this.transform(this._.transform.concat([["r",a,b,e]]));return this},A.scale=function(a,b,e,f){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),b==null&&(b=a),f==null&&(e=f);if(e==null||f==null)var g=this.getBBox(1);e=e==null?g.x+g.width/2:e,f=f==null?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]]));return this},A.translate=function(a,b){if(this.removed)return this;a=c(a).split(j),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this.transform(this._.transform.concat([["t",a,b]]));return this},A.transform=function(c){var d=this._;if(c==null)return d.transform;a._extractTransform(this,c),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix});if(d.sx!=1||d.sy!=1){var e=this.attrs[b]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":e})}return this},A.hide=function(){!this.removed&&this.paper.safari(this.node.style.display="none");return this},A.show=function(){!this.removed&&this.paper.safari(this.node.style.display="");return this},A.remove=function(){if(!this.removed&&!!this.node.parentNode){var b=this.paper;b.__set__&&b.__set__.exclude(this),k.unbind("raphael.*.*."+this.id),this.gradient&&b.defs.removeChild(this.gradient),a._tear(this,b),this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var c in this)this[c]=typeof this[c]=="function"?a._removedFactory(c):null;this.removed=!0}},A._getBBox=function(){if(this.node.style.display=="none"){this.show();var a=!0}var b={};try{b=this.node.getBBox()}catch(c){}finally{b=b||{}}a&&this.hide();return b},A.attr=function(c,d){if(this.removed)return this;if(c==null){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);e.gradient&&e.fill=="none"&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform;return e}if(d==null&&a.is(c,"string")){if(c=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;if(c=="transform")return this._.transform;var g=c.split(j),h={};for(var i=0,l=g.length;i<l;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return l-1?h:h[g[0]]}if(d==null&&a.is(c,"array")){h={};for(i=0,l=c.length;i<l;i++)h[c[i]]=this.attr(c[i]);return h}if(d!=null){var m={};m[c]=d}else c!=null&&a.is(c,"object")&&(m=c);for(var n in m)k("raphael.attr."+n+"."+this.id,this,m[n]);for(n in this.paper.customAttributes)if(this.paper.customAttributes[b](n)&&m[b](n)&&a.is(this.paper.customAttributes[n],"function")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o)o[b](p)&&(m[p]=o[p])}w(this,m);return this},A.toFront=function(){if(this.removed)return this;this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var b=this.paper;b.top!=this&&a._tofront(this,b);return this},A.toBack=function(){if(this.removed)return this;var b=this.node.parentNode;b.tagName.toLowerCase()=="a"?b.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):b.firstChild!=this.node&&b.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper);var c=this.paper;return this},A.insertAfter=function(b){if(this.removed)return this;var c=b.node||b[b.length-1].node;c.nextSibling?c.parentNode.insertBefore(this.node,c.nextSibling):c.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper);return this},A.insertBefore=function(b){if(this.removed)return this;var c=b.node||b[0].node;c.parentNode.insertBefore(this.node,c),a._insertbefore(this,b,this.paper);return this},A.blur=function(b){var c=this;if(+b!==0){var d=q("filter"),e=q("feGaussianBlur");c.attrs.blur=b,d.id=a.createUUID(),q(e,{stdDeviation:+b||1.5}),d.appendChild(e),c.paper.defs.appendChild(d),c._blur=d,q(c.node,{filter:"url(#"+d.id+")"})}else c._blur&&(c._blur.parentNode.removeChild(c._blur),delete c._blur,delete c.attrs.blur),c.node.removeAttribute("filter")},a._engine.circle=function(a,b,c,d){var e=q("circle");a.canvas&&a.canvas.appendChild(e);var f=new z(e,a);f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"},f.type="circle",q(e,f.attrs);return f},a._engine.rect=function(a,b,c,d,e,f){var g=q("rect");a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"},h.type="rect",q(g,h.attrs);return h},a._engine.ellipse=function(a,b,c,d,e){var f=q("ellipse");a.canvas&&a.canvas.appendChild(f);var g=new z(f,a);g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"},g.type="ellipse",q(f,g.attrs);return g},a._engine.image=function(a,b,c,d,e,f){var g=q("image");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"}),g.setAttributeNS(n,"href",b),a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);h.attrs={x:c,y:d,width:e,height:f,src:b},h.type="image";return h},a._engine.text=function(b,c,d,e){var f=q("text");b.canvas&&b.canvas.appendChild(f);var g=new z(f,b);g.attrs={x:c,y:d,"text-anchor":"middle",text:e,font:a._availableAttrs.font,stroke:"none",fill:"#000"},g.type="text",w(g,g.attrs);return g},a._engine.setSize=function(a,b){this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this},a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,g=b.height;if(!c)throw new Error("SVG container not found.");var h=q("svg"),i="overflow:hidden;",j;d=d||0,e=e||0,f=f||512,g=g||342,q(h,{height:g,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg"}),c==1?(h.style.cssText=i+"position:absolute;left:"+d+"px;top:"+e+"px",a._g.doc.body.appendChild(h),j=1):(h.style.cssText=i+"position:relative",c.firstChild?c.insertBefore(h,c.firstChild):c.appendChild(h)),c=new a._Paper,c.width=f,c.height=g,c.canvas=h,c.clear(),c._left=c._top=0,j&&(c.renderfix=function(){}),c.renderfix();return c},a._engine.setViewBox=function(a,b,c,d,e){k("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f=g(c/this.width,d/this.height),h=this.top,i=e?"meet":"xMinYMin",j,l;a==null?(this._vbSize&&(f=1),delete this._vbSize,j="0 0 "+this.width+m+this.height):(this._vbSize=f,j=a+m+b+m+c+m+d),q(this.canvas,{viewBox:j,preserveAspectRatio:i});while(f&&h)l="stroke-width"in h.attrs?h.attrs["stroke-width"]:1,h.attr({"stroke-width":l}),h._.dirty=1,h._.dirtyT=1,h=h.prev;this._viewBox=[a,b,c,d,!!e];return this},a.prototype.renderfix=function(){var a=this.canvas,b=a.style,c;try{c=a.getScreenCTM()||a.createSVGMatrix()}catch(d){c=a.createSVGMatrix()}var e=-c.e%1,f=-c.f%1;if(e||f)e&&(this._left=(this._left+e)%1,b.left=this._left+"px"),f&&(this._top=(this._top+f)%1,b.top=this._top+"px")},a.prototype.clear=function(){a.eve("raphael.clear",this);var b=this.canvas;while(b.firstChild)b.removeChild(b.firstChild);this.bottom=this.top=null,(this.desc=q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël "+a.version)),b.appendChild(this.desc),b.appendChild(this.defs=q("defs"))},a.prototype.remove=function(){k("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null};var B=a.st;for(var C in A)A[b](C)&&!B[b](C)&&(B[C]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(C))}(window.Raphael),window.Raphael.vml&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j="fill",k=/[, ]+/,l=a.eve,m=" progid:DXImageTransform.Microsoft",n=" ",o="",p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\S+Blur\([^\)]+\)/g,s=/-?[^,\s-]+/g,t="position:absolute;left:0;top:0;width:1px;height:1px",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(b){var d=/[ahqstv]/ig,e=a._pathToAbsolute;c(b).match(d)&&(e=a._path2curve),d=/[clmz]/g;if(e==a._pathToAbsolute&&!c(b).match(d)){var g=c(b).replace(q,function(a,b,c){var d=[],e=b.toLowerCase()=="m",g=p[b];c.replace(s,function(a){e&&d.length==2&&(g+=d+p[b=="m"?"l":"L"],d=[]),d.push(f(a*u))});return g+d});return g}var h=e(b),i,j;g=[];for(var k=0,l=h.length;k<l;k++){i=h[k],j=h[k][0].toLowerCase(),j=="z"&&(j="x");for(var m=1,r=i.length;m<r;m++)j+=f(i[m]*u)+(m!=r-1?",":o);g.push(j)}return g.join(n)},y=function(b,c,d){var e=a.matrix();e.rotate(-b,.5,.5);return{dx:e.x(c,d),dy:e.y(c,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p="",q,r=u/b,s=u/c;m.visibility="hidden";if(!!b&&!!c){l.coordsize=i(r)+n+i(s),m.rotation=f*(b*c<0?-1:1);if(f){var t=y(f,d,e);d=t.dx,e=t.dy}b<0&&(p+="x"),c<0&&(p+=" y")&&(o=-1),m.flip=p,l.coordorigin=d*-r+n+e*-s;if(k||g.fillsize){var v=l.getElementsByTagName(j);v=v&&v[0],l.removeChild(v),k&&(t=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),v.position=t.dx*o+n+t.dy*o),g.fillsize&&(v.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(v)}m.visibility="visible"}};a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var A=function(a,b,d){var e=c(b).toLowerCase().split("-"),f=d?"end":"start",g=e.length,h="classic",i="medium",j="medium";while(g--)switch(e[g]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":h=e[g];break;case"wide":case"narrow":j=e[g];break;case"long":case"short":i=e[g]}var k=a.node.getElementsByTagName("stroke")[0];k[f+"arrow"]=h,k[f+"arrowlength"]=i,k[f+"arrowwidth"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q,r=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),s=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),t=e;for(var y in i)i[b](y)&&(m[y]=i[y]);r&&(m.path=a._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),"blur"in i&&e.blur(i.blur);if(i.path&&e.type=="path"||r)l.path=x(~c(m.path).toLowerCase().indexOf("r")?a._pathToAbsolute(m.path):m.path),e.type=="image"&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0));"transform"in i&&e.transform(i.transform);if(s){var B=+m.cx,D=+m.cy,E=+m.rx||+m.r||0,G=+m.ry||+m.r||0;l.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",f((B-E)*u),f((D-G)*u),f((B+E)*u),f((D+G)*u),f(B*u))}if("clip-rect"in i){var H=c(i["clip-rect"]).split(k);if(H.length==4){H[2]=+H[2]+ +H[0],H[3]=+H[3]+ +H[1];var I=l.clipRect||a._g.doc.createElement("div"),J=I.style;J.clip=a.format("rect({1}px {2}px {3}px {0}px)",H),l.clipRect||(J.position="absolute",J.top=0,J.left=0,J.width=e.paper.width+"px",J.height=e.paper.height+"px",l.parentNode.insertBefore(I,l),I.appendChild(l),l.clipRect=I)}i["clip-rect"]||l.clipRect&&(l.clipRect.style.clip="auto")}if(e.textpath){var K=e.textpath.style;i.font&&(K.font=i.font),i["font-family"]&&(K.fontFamily='"'+i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,o)+'"'),i["font-size"]&&(K.fontSize=i["font-size"]),i["font-weight"]&&(K.fontWeight=i["font-weight"]),i["font-style"]&&(K.fontStyle=i["font-style"])}"arrow-start"in i&&A(t,i["arrow-start"]),"arrow-end"in i&&A(t,i["arrow-end"],1);if(i.opacity!=null||i["stroke-width"]!=null||i.fill!=null||i.src!=null||i.stroke!=null||i["stroke-width"]!=null||i["stroke-opacity"]!=null||i["fill-opacity"]!=null||i["stroke-dasharray"]!=null||i["stroke-miterlimit"]!=null||i["stroke-linejoin"]!=null||i["stroke-linecap"]!=null){var L=l.getElementsByTagName(j),M=!1;L=L&&L[0],!L&&(M=L=F(j)),e.type=="image"&&i.src&&(L.src=i.src),i.fill&&(L.on=!0);if(L.on==null||i.fill=="none"||i.fill===null)L.on=!1;if(L.on&&i.fill){var N=c(i.fill).match(a._ISURL);if(N){L.parentNode==l&&l.removeChild(L),L.rotate=!0,L.src=N[1],L.type="tile";var O=e.getBBox(1);L.position=O.x+n+O.y,e._.fillpos=[O.x,O.y],a._preload(N[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else L.color=a.getRGB(i.fill).hex,L.src=o,L.type="solid",a.getRGB(i.fill).error&&(t.type in{circle:1,ellipse:1}||c(i.fill).charAt()!="r")&&C(t,i.fill,L)&&(m.fill="none",m.gradient=i.fill,L.rotate=!1)}if("fill-opacity"in i||"opacity"in i){var P=((+m["fill-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+a.getRGB(i.fill).o+1||2)-1);P=h(g(P,0),1),L.opacity=P,L.src&&(L.color="none")}l.appendChild(L);var Q=l.getElementsByTagName("stroke")&&l.getElementsByTagName("stroke")[0],T=!1;!Q&&(T=Q=F("stroke"));if(i.stroke&&i.stroke!="none"||i["stroke-width"]||i["stroke-opacity"]!=null||i["stroke-dasharray"]||i["stroke-miterlimit"]||i["stroke-linejoin"]||i["stroke-linecap"])Q.on=!0;(i.stroke=="none"||i.stroke===null||Q.on==null||i.stroke==0||i["stroke-width"]==0)&&(Q.on=!1);var U=a.getRGB(i.stroke);Q.on&&i.stroke&&(Q.color=U.hex),P=((+m["stroke-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+U.o+1||2)-1);var V=(d(i["stroke-width"])||1)*.75;P=h(g(P,0),1),i["stroke-width"]==null&&(V=m["stroke-width"]),i["stroke-width"]&&(Q.weight=V),V&&V<1&&(P*=V)&&(Q.weight=1),Q.opacity=P,i["stroke-linejoin"]&&(Q.joinstyle=i["stroke-linejoin"]||"miter"),Q.miterlimit=i["stroke-miterlimit"]||8,i["stroke-linecap"]&&(Q.endcap=i["stroke-linecap"]=="butt"?"flat":i["stroke-linecap"]=="square"?"square":"round");if(i["stroke-dasharray"]){var W={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};Q.dashstyle=W[b](i["stroke-dasharray"])?W[i["stroke-dasharray"]]:o}T&&l.appendChild(Q)}if(t.type=="text"){t.paper.canvas.style.display=o;var X=t.paper.span,Y=100,Z=m.font&&m.font.match(/\d+(?:\.\d*)?(?=px)/);p=X.style,m.font&&(p.font=m.font),m["font-family"]&&(p.fontFamily=m["font-family"]),m["font-weight"]&&(p.fontWeight=m["font-weight"]),m["font-style"]&&(p.fontStyle=m["font-style"]),Z=d(m["font-size"]||Z&&Z[0])||10,p.fontSize=Z*Y+"px",t.textpath.string&&(X.innerHTML=c(t.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba<bb;ba++)if(_[ba]in i){t._.dirty=1;break}switch(m["text-anchor"]){case"start":t.textpath.style["v-text-align"]="left",t.bbx=t.W/2;break;case"end":t.textpath.style["v-text-align"]="right",t.bbx=-t.W/2;break;default:t.textpath.style["v-text-align"]="center",t.bbx=0}t.textpath.style["v-text-kern"]=!0}},C=function(b,f,g){b.attrs=b.attrs||{};var h=b.attrs,i=Math.pow,j,k,l="linear",m=".5 .5";b.attrs.gradient=f,f=c(f).replace(a._radial_gradient,function(a,b,c){l="radial",b&&c&&(b=d(b),c=d(c),i(b-.5,2)+i(c-.5,2)>.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s<t;s++)q[s].offset&&r.push(q[s].offset+n+q[s].color);g.colors=r.length?r.join():"0% "+g.color,l=="radial"?(g.type="gradientTitle",g.focus="100%",g.focussize="0 0",g.focusposition=m,g.angle=0):(g.type="gradient",g.angle=(270-p)%360),b.appendChild(g)}return 1},D=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=c,this.matrix=a.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},E=a.el;D.prototype=E,E.constructor=D,E.transform=function(b){if(b==null)return this._.transform;var d=this.paper._viewBoxShift,e=d?"s"+[d.scale,d.scale]+"-1-1t"+[d.dx,d.dy]:o,f;d&&(f=b=c(b).replace(/\.{3}|\u2026/g,this._.transform||o)),a._extractTransform(this,e+b);var g=this.matrix.clone(),h=this.skew,i=this.node,j,k=~c(this.attrs.fill).indexOf("-"),l=!c(this.attrs.fill).indexOf("url(");g.translate(-0.5,-0.5);if(l||k||this.type=="image"){h.matrix="1 0 0 1",h.offset="0 0",j=g.split();if(k&&j.noRotation||!j.isSimple){i.style.filter=g.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;i.coordorigin=q*-u+n+r*-u,z(this,1,1,q,r,0)}else i.style.filter=o,z(this,j.scalex,j.scaley,j.dx,j.dy,j.rotate)}else i.style.filter=o,h.matrix=c(g),h.offset=g.offset();f&&(this._.transform=f);return this},E.rotate=function(a,b,e){if(this.removed)return this;if(a!=null){a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),e==null&&(b=e);if(b==null||e==null){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}this._.dirtyT=1,this.transform(this._.transform.concat([["r",a,b,e]]));return this}},E.translate=function(a,b){if(this.removed)return this;a=c(a).split(k),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b),this.transform(this._.transform.concat([["t",a,b]]));return this},E.scale=function(a,b,e,f){if(this.removed)return this;a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),b==null&&(b=a),f==null&&(e=f);if(e==null||f==null)var g=this.getBBox(1);e=e==null?g.x+g.width/2:e,f=f==null?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this._.dirtyT=1;return this},E.hide=function(){!this.removed&&(this.node.style.display="none");return this},E.show=function(){!this.removed&&(this.node.style.display=o);return this},E._getBBox=function(){if(this.removed)return{};return{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&!!this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),a.eve.unbind("raphael.*.*."+this.id),a._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;this.removed=!0}},E.attr=function(c,d){if(this.removed)return this;if(c==null){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);e.gradient&&e.fill=="none"&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform;return e}if(d==null&&a.is(c,"string")){if(c==j&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;var g=c.split(k),h={};for(var i=0,m=g.length;i<m;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return m-1?h:h[g[0]]}if(this.attrs&&d==null&&a.is(c,"array")){h={};for(i=0,m=c.length;i<m;i++)h[c[i]]=this.attr(c[i]);return h}var n;d!=null&&(n={},n[c]=d),d==null&&a.is(c,"object")&&(n=c);for(var o in n)l("raphael.attr."+o+"."+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes)if(this.paper.customAttributes[b](o)&&n[b](o)&&a.is(this.paper.customAttributes[o],"function")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p)p[b](q)&&(n[q]=p[q])}n.text&&this.type=="text"&&(this.textpath.string=n.text),B(this,n)}return this},E.toFront=function(){!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&a._tofront(this,this.paper);return this},E.toBack=function(){if(this.removed)return this;this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper));return this},E.insertAfter=function(b){if(this.removed)return this;b.constructor==a.st.constructor&&(b=b[b.length-1]),b.node.nextSibling?b.node.parentNode.insertBefore(this.node,b.node.nextSibling):b.node.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper);return this},E.insertBefore=function(b){if(this.removed)return this;b.constructor==a.st.constructor&&(b=b[0]),b.node.parentNode.insertBefore(this.node,b.node),a._insertbefore(this,b,this.paper);return this},E.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(r,o),+b!==0?(this.attrs.blur=b,c.filter=d+n+m+".Blur(pixelradius="+(+b||1.5)+")",c.margin=a.format("-{0}px 0 0 -{0}px",f(+b||1.5))):(c.filter=d,c.margin=0,delete this.attrs.blur)},a._engine.path=function(a,b){var c=F("shape");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a),d.type="path",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F("skew");f.on=!0,c.appendChild(f),d.skew=f,d.transform(o);return d},a._engine.rect=function(b,c,d,e,f,g){var h=a._rectPath(c,d,e,f,g),i=b.path(h),j=i.attrs;i.X=j.x=c,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type="rect";return i},a._engine.ellipse=function(a,b,c,d,e){var f=a.path(),g=f.attrs;f.X=b-d,f.Y=c-e,f.W=d*2,f.H=e*2,f.type="ellipse",B(f,{cx:b,cy:c,rx:d,ry:e});return f},a._engine.circle=function(a,b,c,d){var e=a.path(),f=e.attrs;e.X=b-d,e.Y=c-d,e.W=e.H=d*2,e.type="circle",B(e,{cx:b,cy:c,r:d});return e},a._engine.image=function(b,c,d,e,f,g){var h=a._rectPath(d,e,f,g),i=b.path(h).attr({stroke:"none"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];k.src=c,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type="image",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=c,m.type="tile",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0);return i},a._engine.text=function(b,d,e,g){var h=F("shape"),i=F("path"),j=F("textpath");d=d||0,e=e||0,g=g||"",i.v=a.format("m{0},{1}l{2},{1}",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=c(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin="0 0";var k=new D(h,b),l={fill:"#000",stroke:"none",font:a._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type="text",k.attrs.text=c(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),b.canvas.appendChild(h);var m=F("skew");m.on=!0,h.appendChild(m),k.skew=m,k.transform(o);return k},a._engine.setSize=function(b,c){var d=this.canvas.style;this.width=b,this.height=c,b==+b&&(b+="px"),c==+c&&(c+="px"),d.width=b,d.height=c,d.clip="rect(0 "+b+" "+c+" 0)",this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this},a._engine.setViewBox=function(b,c,d,e,f){a.eve("raphael.setViewBox",this,this._viewBox,[b,c,d,e,f]);var h=this.width,i=this.height,j=1/g(d/h,e/i),k,l;f&&(k=i/e,l=h/d,d*k<h&&(b-=(h-d*k)/2/k),e*l<i&&(c-=(i-e*l)/2/l)),this._viewBox=[b,c,d,e,!!f],this._viewBoxShift={dx:-b,dy:-c,scale:j},this.forEach(function(a){a.transform("...")});return this};var F;a._engine.initWin=function(a){var b=a.document;b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),F=function(a){return b.createElement("<rvml:"+a+' class="rvml">')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael)
0\ No newline at end of file11\ No newline at end of file
112
=== added directory 'debian/extras/jslibs/yui'
=== added directory 'debian/extras/jslibs/yui/align-plugin'
=== added file 'debian/extras/jslibs/yui/align-plugin/align-plugin-debug.js'
--- debian/extras/jslibs/yui/align-plugin/align-plugin-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/align-plugin/align-plugin-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,199 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('align-plugin', function(Y) {
8
9 /**
10 * Provides advanced positioning support for Node via a Plugin
11 * for centering and alignment.
12 * @module align-plugin
13 */
14
15 var OFFSET_WIDTH = 'offsetWidth',
16 OFFSET_HEIGHT = 'offsetHeight',
17 undefined = undefined;
18
19 /**
20 * Node plugin which can be used to align a node with another node,
21 * region, or the viewport.
22 *
23 * @class Plugin.Align
24 * @param {Object} User configuration object
25 */
26 function Align(config) {
27 if (config.host) {
28 this._host = config.host;
29 }
30 }
31
32 Align.prototype = {
33 /**
34 * Aligns node with a point on another node or region.
35 * Possible alignment points are:
36 * <dl>
37 * <dt>tl</dt>
38 * <dd>top left</dd>
39 * <dt>tr</dt>
40 * <dd>top right</dd>
41 * <dt>bl</dt>
42 * <dd>bottom left</dd>
43 * <dt>br</dt>
44 * <dd>bottom right</dd>
45 * <dt>tc</dt>
46 * <dd>top center</dd>
47 * <dt>bc</dt>
48 * <dd>bottom center</dd>
49 * <dt>rc</dt>
50 * <dd>right center</dd>
51 * <dt>lc</dt>
52 * <dd>left center</dd>
53 * <dt>cc</dt>
54 * <dd>center center</dd>
55 * </dl>
56 * @method to
57 * @param region {String || Node || HTMLElement || Object} The node or
58 * region to align with. Defaults to the viewport region.
59 * @param regionPoint {String} The point of the region to align with.
60 * @param point {String} The point of the node aligned to the region.
61 * @param resize {Boolean} Whether or not the node should re-align when
62 * the window is resized. Defaults to false.
63 */
64 to: function(region, regionPoint, point, syncOnResize) {
65 // cache original args for syncing
66 this._syncArgs = Y.Array(arguments);
67
68 if (region.top === undefined) {
69 region = Y.one(region).get('region');
70 }
71
72 if (region) {
73 var xy = [region.left, region.top],
74 offxy = [region.width, region.height],
75 points = Align.points,
76 node = this._host,
77 NULL = null,
78 size = node.getAttrs([OFFSET_HEIGHT, OFFSET_WIDTH]),
79 nodeoff = [0 - size[OFFSET_WIDTH], 0 - size[OFFSET_HEIGHT]], // reverse offsets
80 regionFn0 = regionPoint ? points[regionPoint.charAt(0)]: NULL,
81 regionFn1 = (regionPoint && regionPoint !== 'cc') ? points[regionPoint.charAt(1)] : NULL,
82 nodeFn0 = point ? points[point.charAt(0)] : NULL,
83 nodeFn1 = (point && point !== 'cc') ? points[point.charAt(1)] : NULL;
84
85 if (regionFn0) {
86 xy = regionFn0(xy, offxy, regionPoint);
87 }
88 if (regionFn1) {
89 xy = regionFn1(xy, offxy, regionPoint);
90 }
91
92 if (nodeFn0) {
93 xy = nodeFn0(xy, nodeoff, point);
94 }
95 if (nodeFn1) {
96 xy = nodeFn1(xy, nodeoff, point);
97 }
98
99 if (xy && node) {
100 node.setXY(xy);
101 }
102
103 this._resize(syncOnResize);
104
105 }
106 return this;
107 },
108
109 sync: function() {
110 this.to.apply(this, this._syncArgs);
111 return this;
112 },
113
114 _resize: function(add) {
115 var handle = this._handle;
116 if (add && !handle) {
117 this._handle = Y.on('resize', this._onresize, window, this);
118 } else if (!add && handle) {
119 handle.detach();
120 }
121
122 },
123
124 _onresize: function() {
125 var self = this;
126 setTimeout(function() { // for performance
127 self.sync();
128 });
129 },
130
131 /**
132 * Aligns the center of a node to the center of another node or region.
133 * @method center
134 * @param region {Node || HTMLElement || Object} optional The node or
135 * region to align with. Defaults to the viewport region.
136 * the window is resized. If centering to viewport, this defaults
137 * to true, otherwise default is false.
138 */
139 center: function(region, resize) {
140 this.to(region, 'cc', 'cc', resize);
141 return this;
142 },
143
144 /**
145 * Removes the resize handler, if any. This is called automatically
146 * when unplugged from the host node.
147 * @method destroy
148 */
149 destroy: function() {
150 var handle = this._handle;
151 if (handle) {
152 handle.detach();
153 }
154 }
155 };
156
157 Align.points = {
158 't': function(xy, off) {
159 return xy;
160 },
161
162 'r': function(xy, off) {
163 return [xy[0] + off[0], xy[1]];
164 },
165
166 'b': function(xy, off) {
167 return [xy[0], xy[1] + off[1]];
168 },
169
170 'l': function(xy, off) {
171 return xy;
172 },
173
174 'c': function(xy, off, point) {
175 var axis = (point[0] === 't' || point[0] === 'b') ? 0 : 1,
176 ret, val;
177
178 if (point === 'cc') {
179 ret = [xy[0] + off[0] / 2, xy[1] + off[1] / 2];
180 } else {
181 val = xy[axis] + off[axis] / 2;
182 ret = (axis) ? [xy[0], val] : [val, xy[1]];
183 }
184
185 return ret;
186 }
187 };
188
189 Align.NAME = 'Align';
190 Align.NS = 'align';
191
192 Align.prototype.constructor = Align;
193
194 Y.namespace('Plugin');
195 Y.Plugin.Align = Align;
196
197
198
199}, '3.5.1' ,{requires:['node-pluginhost', 'node-screen']});
0200
=== added file 'debian/extras/jslibs/yui/align-plugin/align-plugin-min.js'
--- debian/extras/jslibs/yui/align-plugin/align-plugin-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/align-plugin/align-plugin-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("align-plugin",function(c){var e="offsetWidth",d="offsetHeight",b=b;function a(f){if(f.host){this._host=f.host;}}a.prototype={to:function(j,t,l,o){this._syncArgs=c.Array(arguments);if(j.top===b){j=c.one(j).get("region");}if(j){var s=[j.left,j.top],q=[j.width,j.height],n=a.points,f=this._host,h=null,r=f.getAttrs([d,e]),k=[0-r[e],0-r[d]],p=t?n[t.charAt(0)]:h,m=(t&&t!=="cc")?n[t.charAt(1)]:h,i=l?n[l.charAt(0)]:h,g=(l&&l!=="cc")?n[l.charAt(1)]:h;if(p){s=p(s,q,t);}if(m){s=m(s,q,t);}if(i){s=i(s,k,l);}if(g){s=g(s,k,l);}if(s&&f){f.setXY(s);}this._resize(o);}return this;},sync:function(){this.to.apply(this,this._syncArgs);return this;},_resize:function(g){var f=this._handle;if(g&&!f){this._handle=c.on("resize",this._onresize,window,this);}else{if(!g&&f){f.detach();}}},_onresize:function(){var f=this;setTimeout(function(){f.sync();});},center:function(g,f){this.to(g,"cc","cc",f);return this;},destroy:function(){var f=this._handle;if(f){f.detach();}}};a.points={"t":function(f,g){return f;},"r":function(f,g){return[f[0]+g[0],f[1]];},"b":function(f,g){return[f[0],f[1]+g[1]];},"l":function(f,g){return f;},"c":function(i,k,f){var h=(f[0]==="t"||f[0]==="b")?0:1,g,j;if(f==="cc"){g=[i[0]+k[0]/2,i[1]+k[1]/2];}else{j=i[h]+k[h]/2;g=(h)?[i[0],j]:[j,i[1]];}return g;}};a.NAME="Align";a.NS="align";a.prototype.constructor=a;c.namespace("Plugin");c.Plugin.Align=a;},"3.5.1",{requires:["node-pluginhost","node-screen"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/align-plugin/align-plugin.js'
--- debian/extras/jslibs/yui/align-plugin/align-plugin.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/align-plugin/align-plugin.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,199 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('align-plugin', function(Y) {
8
9 /**
10 * Provides advanced positioning support for Node via a Plugin
11 * for centering and alignment.
12 * @module align-plugin
13 */
14
15 var OFFSET_WIDTH = 'offsetWidth',
16 OFFSET_HEIGHT = 'offsetHeight',
17 undefined = undefined;
18
19 /**
20 * Node plugin which can be used to align a node with another node,
21 * region, or the viewport.
22 *
23 * @class Plugin.Align
24 * @param {Object} User configuration object
25 */
26 function Align(config) {
27 if (config.host) {
28 this._host = config.host;
29 }
30 }
31
32 Align.prototype = {
33 /**
34 * Aligns node with a point on another node or region.
35 * Possible alignment points are:
36 * <dl>
37 * <dt>tl</dt>
38 * <dd>top left</dd>
39 * <dt>tr</dt>
40 * <dd>top right</dd>
41 * <dt>bl</dt>
42 * <dd>bottom left</dd>
43 * <dt>br</dt>
44 * <dd>bottom right</dd>
45 * <dt>tc</dt>
46 * <dd>top center</dd>
47 * <dt>bc</dt>
48 * <dd>bottom center</dd>
49 * <dt>rc</dt>
50 * <dd>right center</dd>
51 * <dt>lc</dt>
52 * <dd>left center</dd>
53 * <dt>cc</dt>
54 * <dd>center center</dd>
55 * </dl>
56 * @method to
57 * @param region {String || Node || HTMLElement || Object} The node or
58 * region to align with. Defaults to the viewport region.
59 * @param regionPoint {String} The point of the region to align with.
60 * @param point {String} The point of the node aligned to the region.
61 * @param resize {Boolean} Whether or not the node should re-align when
62 * the window is resized. Defaults to false.
63 */
64 to: function(region, regionPoint, point, syncOnResize) {
65 // cache original args for syncing
66 this._syncArgs = Y.Array(arguments);
67
68 if (region.top === undefined) {
69 region = Y.one(region).get('region');
70 }
71
72 if (region) {
73 var xy = [region.left, region.top],
74 offxy = [region.width, region.height],
75 points = Align.points,
76 node = this._host,
77 NULL = null,
78 size = node.getAttrs([OFFSET_HEIGHT, OFFSET_WIDTH]),
79 nodeoff = [0 - size[OFFSET_WIDTH], 0 - size[OFFSET_HEIGHT]], // reverse offsets
80 regionFn0 = regionPoint ? points[regionPoint.charAt(0)]: NULL,
81 regionFn1 = (regionPoint && regionPoint !== 'cc') ? points[regionPoint.charAt(1)] : NULL,
82 nodeFn0 = point ? points[point.charAt(0)] : NULL,
83 nodeFn1 = (point && point !== 'cc') ? points[point.charAt(1)] : NULL;
84
85 if (regionFn0) {
86 xy = regionFn0(xy, offxy, regionPoint);
87 }
88 if (regionFn1) {
89 xy = regionFn1(xy, offxy, regionPoint);
90 }
91
92 if (nodeFn0) {
93 xy = nodeFn0(xy, nodeoff, point);
94 }
95 if (nodeFn1) {
96 xy = nodeFn1(xy, nodeoff, point);
97 }
98
99 if (xy && node) {
100 node.setXY(xy);
101 }
102
103 this._resize(syncOnResize);
104
105 }
106 return this;
107 },
108
109 sync: function() {
110 this.to.apply(this, this._syncArgs);
111 return this;
112 },
113
114 _resize: function(add) {
115 var handle = this._handle;
116 if (add && !handle) {
117 this._handle = Y.on('resize', this._onresize, window, this);
118 } else if (!add && handle) {
119 handle.detach();
120 }
121
122 },
123
124 _onresize: function() {
125 var self = this;
126 setTimeout(function() { // for performance
127 self.sync();
128 });
129 },
130
131 /**
132 * Aligns the center of a node to the center of another node or region.
133 * @method center
134 * @param region {Node || HTMLElement || Object} optional The node or
135 * region to align with. Defaults to the viewport region.
136 * the window is resized. If centering to viewport, this defaults
137 * to true, otherwise default is false.
138 */
139 center: function(region, resize) {
140 this.to(region, 'cc', 'cc', resize);
141 return this;
142 },
143
144 /**
145 * Removes the resize handler, if any. This is called automatically
146 * when unplugged from the host node.
147 * @method destroy
148 */
149 destroy: function() {
150 var handle = this._handle;
151 if (handle) {
152 handle.detach();
153 }
154 }
155 };
156
157 Align.points = {
158 't': function(xy, off) {
159 return xy;
160 },
161
162 'r': function(xy, off) {
163 return [xy[0] + off[0], xy[1]];
164 },
165
166 'b': function(xy, off) {
167 return [xy[0], xy[1] + off[1]];
168 },
169
170 'l': function(xy, off) {
171 return xy;
172 },
173
174 'c': function(xy, off, point) {
175 var axis = (point[0] === 't' || point[0] === 'b') ? 0 : 1,
176 ret, val;
177
178 if (point === 'cc') {
179 ret = [xy[0] + off[0] / 2, xy[1] + off[1] / 2];
180 } else {
181 val = xy[axis] + off[axis] / 2;
182 ret = (axis) ? [xy[0], val] : [val, xy[1]];
183 }
184
185 return ret;
186 }
187 };
188
189 Align.NAME = 'Align';
190 Align.NS = 'align';
191
192 Align.prototype.constructor = Align;
193
194 Y.namespace('Plugin');
195 Y.Plugin.Align = Align;
196
197
198
199}, '3.5.1' ,{requires:['node-pluginhost', 'node-screen']});
0200
=== added directory 'debian/extras/jslibs/yui/anim-base'
=== added file 'debian/extras/jslibs/yui/anim-base/anim-base-debug.js'
--- debian/extras/jslibs/yui/anim-base/anim-base-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-base/anim-base-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,682 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-base', function(Y) {
8
9/**
10* The Animation Utility provides an API for creating advanced transitions.
11* @module anim
12*/
13
14/**
15* Provides the base Anim class, for animating numeric properties.
16*
17* @module anim
18* @submodule anim-base
19*/
20
21 /**
22 * A class for constructing animation instances.
23 * @class Anim
24 * @for Anim
25 * @constructor
26 * @extends Base
27 */
28
29 var RUNNING = 'running',
30 START_TIME = 'startTime',
31 ELAPSED_TIME = 'elapsedTime',
32 /**
33 * @for Anim
34 * @event start
35 * @description fires when an animation begins.
36 * @param {Event} ev The start event.
37 * @type Event.Custom
38 */
39 START = 'start',
40
41 /**
42 * @event tween
43 * @description fires every frame of the animation.
44 * @param {Event} ev The tween event.
45 * @type Event.Custom
46 */
47 TWEEN = 'tween',
48
49 /**
50 * @event end
51 * @description fires after the animation completes.
52 * @param {Event} ev The end event.
53 * @type Event.Custom
54 */
55 END = 'end',
56 NODE = 'node',
57 PAUSED = 'paused',
58 REVERSE = 'reverse', // TODO: cleanup
59 ITERATION_COUNT = 'iterationCount',
60
61 NUM = Number;
62
63 var _running = {},
64 _timer;
65
66 Y.Anim = function() {
67 Y.Anim.superclass.constructor.apply(this, arguments);
68 Y.Anim._instances[Y.stamp(this)] = this;
69 };
70
71 Y.Anim.NAME = 'anim';
72
73 Y.Anim._instances = {};
74
75 /**
76 * Regex of properties that should use the default unit.
77 *
78 * @property RE_DEFAULT_UNIT
79 * @static
80 */
81 Y.Anim.RE_DEFAULT_UNIT = /^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i;
82
83 /**
84 * The default unit to use with properties that pass the RE_DEFAULT_UNIT test.
85 *
86 * @property DEFAULT_UNIT
87 * @static
88 */
89 Y.Anim.DEFAULT_UNIT = 'px';
90
91 Y.Anim.DEFAULT_EASING = function (t, b, c, d) {
92 return c * t / d + b; // linear easing
93 };
94
95 /**
96 * Time in milliseconds passed to setInterval for frame processing
97 *
98 * @property intervalTime
99 * @default 20
100 * @static
101 */
102 Y.Anim._intervalTime = 20;
103
104 /**
105 * Bucket for custom getters and setters
106 *
107 * @property behaviors
108 * @static
109 */
110 Y.Anim.behaviors = {
111 left: {
112 get: function(anim, attr) {
113 return anim._getOffset(attr);
114 }
115 }
116 };
117
118 Y.Anim.behaviors.top = Y.Anim.behaviors.left;
119
120 /**
121 * The default setter to use when setting object properties.
122 *
123 * @property DEFAULT_SETTER
124 * @static
125 */
126 Y.Anim.DEFAULT_SETTER = function(anim, att, from, to, elapsed, duration, fn, unit) {
127 var node = anim._node,
128 domNode = node._node,
129 val = fn(elapsed, NUM(from), NUM(to) - NUM(from), duration);
130 //make sure node instance
131 if (domNode && (domNode.style || domNode.attributes)) {
132 if (att in domNode.style || att in Y.DOM.CUSTOM_STYLES) {
133 unit = unit || '';
134 node.setStyle(att, val + unit);
135 } else if (domNode.attributes[att]) {
136 node.setAttribute(att, val);
137 }
138 } else if (node.set) {
139 node.set(att, val);
140 }
141 };
142
143 /**
144 * The default getter to use when getting object properties.
145 *
146 * @property DEFAULT_GETTER
147 * @static
148 */
149 Y.Anim.DEFAULT_GETTER = function(anim, att) {
150 var node = anim._node,
151 domNode = node._node,
152 val = '';
153 //make sure node instance
154 if (domNode && (domNode.style || domNode.attributes)) {
155 if (att in domNode.style || att in Y.DOM.CUSTOM_STYLES) {
156 val = node.getComputedStyle(att);
157 } else if (domNode.attributes[att]) {
158 val = node.getAttribute(att);
159 }
160 } else if (node.get) {
161 val = node.get(att);
162 }
163
164 return val;
165 };
166
167 Y.Anim.ATTRS = {
168 /**
169 * The object to be animated.
170 * @attribute node
171 * @type Node
172 */
173 node: {
174 setter: function(node) {
175 if (node) {
176 if (typeof node == 'string' || node.nodeType) {
177 node = Y.one(node);
178 }
179 }
180
181 this._node = node;
182 if (!node) {
183 Y.log(node + ' is not a valid node', 'warn', 'Anim');
184 }
185 return node;
186 }
187 },
188
189 /**
190 * The length of the animation. Defaults to "1" (second).
191 * @attribute duration
192 * @type NUM
193 */
194 duration: {
195 value: 1
196 },
197
198 /**
199 * The method that will provide values to the attribute(s) during the animation.
200 * Defaults to "Easing.easeNone".
201 * @attribute easing
202 * @type Function
203 */
204 easing: {
205 value: Y.Anim.DEFAULT_EASING,
206
207 setter: function(val) {
208 if (typeof val === 'string' && Y.Easing) {
209 return Y.Easing[val];
210 }
211 }
212 },
213
214 /**
215 * The starting values for the animated properties.
216 *
217 * Fields may be strings, numbers, or functions.
218 * If a function is used, the return value becomes the from value.
219 * If no from value is specified, the DEFAULT_GETTER will be used.
220 * Supports any unit, provided it matches the "to" (or default)
221 * unit (e.g. `{width: '10em', color: 'rgb(0, 0 0)', borderColor: '#ccc'}`).
222 *
223 * If using the default ('px' for length-based units), the unit may be omitted
224 * (e.g. `{width: 100}, borderColor: 'ccc'}`, which defaults to pixels
225 * and hex, respectively).
226 *
227 * @attribute from
228 * @type Object
229 */
230 from: {},
231
232 /**
233 * The ending values for the animated properties.
234 *
235 * Fields may be strings, numbers, or functions.
236 * Supports any unit, provided it matches the "from" (or default)
237 * unit (e.g. `{width: '50%', color: 'red', borderColor: '#ccc'}`).
238 *
239 * If using the default ('px' for length-based units), the unit may be omitted
240 * (e.g. `{width: 100, borderColor: 'ccc'}`, which defaults to pixels
241 * and hex, respectively).
242 *
243 * @attribute to
244 * @type Object
245 */
246 to: {},
247
248 /**
249 * Date stamp for the first frame of the animation.
250 * @attribute startTime
251 * @type Int
252 * @default 0
253 * @readOnly
254 */
255 startTime: {
256 value: 0,
257 readOnly: true
258 },
259
260 /**
261 * Current time the animation has been running.
262 * @attribute elapsedTime
263 * @type Int
264 * @default 0
265 * @readOnly
266 */
267 elapsedTime: {
268 value: 0,
269 readOnly: true
270 },
271
272 /**
273 * Whether or not the animation is currently running.
274 * @attribute running
275 * @type Boolean
276 * @default false
277 * @readOnly
278 */
279 running: {
280 getter: function() {
281 return !!_running[Y.stamp(this)];
282 },
283 value: false,
284 readOnly: true
285 },
286
287 /**
288 * The number of times the animation should run
289 * @attribute iterations
290 * @type Int
291 * @default 1
292 */
293 iterations: {
294 value: 1
295 },
296
297 /**
298 * The number of iterations that have occurred.
299 * Resets when an animation ends (reaches iteration count or stop() called).
300 * @attribute iterationCount
301 * @type Int
302 * @default 0
303 * @readOnly
304 */
305 iterationCount: {
306 value: 0,
307 readOnly: true
308 },
309
310 /**
311 * How iterations of the animation should behave.
312 * Possible values are "normal" and "alternate".
313 * Normal will repeat the animation, alternate will reverse on every other pass.
314 *
315 * @attribute direction
316 * @type String
317 * @default "normal"
318 */
319 direction: {
320 value: 'normal' // | alternate (fwd on odd, rev on even per spec)
321 },
322
323 /**
324 * Whether or not the animation is currently paused.
325 * @attribute paused
326 * @type Boolean
327 * @default false
328 * @readOnly
329 */
330 paused: {
331 readOnly: true,
332 value: false
333 },
334
335 /**
336 * If true, animation begins from last frame
337 * @attribute reverse
338 * @type Boolean
339 * @default false
340 */
341 reverse: {
342 value: false
343 }
344
345
346 };
347
348 /**
349 * Runs all animation instances.
350 * @method run
351 * @static
352 */
353 Y.Anim.run = function() {
354 var instances = Y.Anim._instances;
355 for (var i in instances) {
356 if (instances[i].run) {
357 instances[i].run();
358 }
359 }
360 };
361
362 /**
363 * Pauses all animation instances.
364 * @method pause
365 * @static
366 */
367 Y.Anim.pause = function() {
368 for (var i in _running) { // stop timer if nothing running
369 if (_running[i].pause) {
370 _running[i].pause();
371 }
372 }
373
374 Y.Anim._stopTimer();
375 };
376
377 /**
378 * Stops all animation instances.
379 * @method stop
380 * @static
381 */
382 Y.Anim.stop = function() {
383 for (var i in _running) { // stop timer if nothing running
384 if (_running[i].stop) {
385 _running[i].stop();
386 }
387 }
388 Y.Anim._stopTimer();
389 };
390
391 Y.Anim._startTimer = function() {
392 if (!_timer) {
393 _timer = setInterval(Y.Anim._runFrame, Y.Anim._intervalTime);
394 }
395 };
396
397 Y.Anim._stopTimer = function() {
398 clearInterval(_timer);
399 _timer = 0;
400 };
401
402 /**
403 * Called per Interval to handle each animation frame.
404 * @method _runFrame
405 * @private
406 * @static
407 */
408 Y.Anim._runFrame = function() {
409 var done = true;
410 for (var anim in _running) {
411 if (_running[anim]._runFrame) {
412 done = false;
413 _running[anim]._runFrame();
414 }
415 }
416
417 if (done) {
418 Y.Anim._stopTimer();
419 }
420 };
421
422 Y.Anim.RE_UNITS = /^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;
423
424 var proto = {
425 /**
426 * Starts or resumes an animation.
427 * @method run
428 * @chainable
429 */
430 run: function() {
431 if (this.get(PAUSED)) {
432 this._resume();
433 } else if (!this.get(RUNNING)) {
434 this._start();
435 }
436 return this;
437 },
438
439 /**
440 * Pauses the animation and
441 * freezes it in its current state and time.
442 * Calling run() will continue where it left off.
443 * @method pause
444 * @chainable
445 */
446 pause: function() {
447 if (this.get(RUNNING)) {
448 this._pause();
449 }
450 return this;
451 },
452
453 /**
454 * Stops the animation and resets its time.
455 * @method stop
456 * @param {Boolean} finish If true, the animation will move to the last frame
457 * @chainable
458 */
459 stop: function(finish) {
460 if (this.get(RUNNING) || this.get(PAUSED)) {
461 this._end(finish);
462 }
463 return this;
464 },
465
466 _added: false,
467
468 _start: function() {
469 this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));
470 this._actualFrames = 0;
471 if (!this.get(PAUSED)) {
472 this._initAnimAttr();
473 }
474 _running[Y.stamp(this)] = this;
475 Y.Anim._startTimer();
476
477 this.fire(START);
478 },
479
480 _pause: function() {
481 this._set(START_TIME, null);
482 this._set(PAUSED, true);
483 delete _running[Y.stamp(this)];
484
485 /**
486 * @event pause
487 * @description fires when an animation is paused.
488 * @param {Event} ev The pause event.
489 * @type Event.Custom
490 */
491 this.fire('pause');
492 },
493
494 _resume: function() {
495 this._set(PAUSED, false);
496 _running[Y.stamp(this)] = this;
497 this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));
498 Y.Anim._startTimer();
499
500 /**
501 * @event resume
502 * @description fires when an animation is resumed (run from pause).
503 * @param {Event} ev The pause event.
504 * @type Event.Custom
505 */
506 this.fire('resume');
507 },
508
509 _end: function(finish) {
510 var duration = this.get('duration') * 1000;
511 if (finish) { // jump to last frame
512 this._runAttrs(duration, duration, this.get(REVERSE));
513 }
514
515 this._set(START_TIME, null);
516 this._set(ELAPSED_TIME, 0);
517 this._set(PAUSED, false);
518
519 delete _running[Y.stamp(this)];
520 this.fire(END, {elapsed: this.get(ELAPSED_TIME)});
521 },
522
523 _runFrame: function() {
524 var d = this._runtimeAttr.duration,
525 t = new Date() - this.get(START_TIME),
526 reverse = this.get(REVERSE),
527 done = (t >= d),
528 attribute,
529 setter;
530
531 this._runAttrs(t, d, reverse);
532 this._actualFrames += 1;
533 this._set(ELAPSED_TIME, t);
534
535 this.fire(TWEEN);
536 if (done) {
537 this._lastFrame();
538 }
539 },
540
541 _runAttrs: function(t, d, reverse) {
542 var attr = this._runtimeAttr,
543 customAttr = Y.Anim.behaviors,
544 easing = attr.easing,
545 lastFrame = d,
546 done = false,
547 attribute,
548 setter,
549 i;
550
551 if (t >= d) {
552 done = true;
553 }
554
555 if (reverse) {
556 t = d - t;
557 lastFrame = 0;
558 }
559
560 for (i in attr) {
561 if (attr[i].to) {
562 attribute = attr[i];
563 setter = (i in customAttr && 'set' in customAttr[i]) ?
564 customAttr[i].set : Y.Anim.DEFAULT_SETTER;
565
566 if (!done) {
567 setter(this, i, attribute.from, attribute.to, t, d, easing, attribute.unit);
568 } else {
569 setter(this, i, attribute.from, attribute.to, lastFrame, d, easing, attribute.unit);
570 }
571 }
572 }
573
574
575 },
576
577 _lastFrame: function() {
578 var iter = this.get('iterations'),
579 iterCount = this.get(ITERATION_COUNT);
580
581 iterCount += 1;
582 if (iter === 'infinite' || iterCount < iter) {
583 if (this.get('direction') === 'alternate') {
584 this.set(REVERSE, !this.get(REVERSE)); // flip it
585 }
586 /**
587 * @event iteration
588 * @description fires when an animation begins an iteration.
589 * @param {Event} ev The iteration event.
590 * @type Event.Custom
591 */
592 this.fire('iteration');
593 } else {
594 iterCount = 0;
595 this._end();
596 }
597
598 this._set(START_TIME, new Date());
599 this._set(ITERATION_COUNT, iterCount);
600 },
601
602 _initAnimAttr: function() {
603 var from = this.get('from') || {},
604 to = this.get('to') || {},
605 attr = {
606 duration: this.get('duration') * 1000,
607 easing: this.get('easing')
608 },
609 customAttr = Y.Anim.behaviors,
610 node = this.get(NODE), // implicit attr init
611 unit, begin, end;
612
613 Y.each(to, function(val, name) {
614 if (typeof val === 'function') {
615 val = val.call(this, node);
616 }
617
618 begin = from[name];
619 if (begin === undefined) {
620 begin = (name in customAttr && 'get' in customAttr[name]) ?
621 customAttr[name].get(this, name) : Y.Anim.DEFAULT_GETTER(this, name);
622 } else if (typeof begin === 'function') {
623 begin = begin.call(this, node);
624 }
625
626 var mFrom = Y.Anim.RE_UNITS.exec(begin);
627 var mTo = Y.Anim.RE_UNITS.exec(val);
628
629 begin = mFrom ? mFrom[1] : begin;
630 end = mTo ? mTo[1] : val;
631 unit = mTo ? mTo[2] : mFrom ? mFrom[2] : ''; // one might be zero TODO: mixed units
632
633 if (!unit && Y.Anim.RE_DEFAULT_UNIT.test(name)) {
634 unit = Y.Anim.DEFAULT_UNIT;
635 }
636
637 if (!begin || !end) {
638 Y.error('invalid "from" or "to" for "' + name + '"', 'Anim');
639 return;
640 }
641
642 attr[name] = {
643 from: begin,
644 to: end,
645 unit: unit
646 };
647
648 }, this);
649
650 this._runtimeAttr = attr;
651 },
652
653
654 // TODO: move to computedStyle? (browsers dont agree on default computed offsets)
655 _getOffset: function(attr) {
656 var node = this._node,
657 val = node.getComputedStyle(attr),
658 get = (attr === 'left') ? 'getX': 'getY',
659 set = (attr === 'left') ? 'setX': 'setY';
660
661 if (val === 'auto') {
662 var position = node.getStyle('position');
663 if (position === 'absolute' || position === 'fixed') {
664 val = node[get]();
665 node[set](val);
666 } else {
667 val = 0;
668 }
669 }
670
671 return val;
672 },
673
674 destructor: function() {
675 delete Y.Anim._instances[Y.stamp(this)];
676 }
677 };
678
679 Y.extend(Y.Anim, Y.Base, proto);
680
681
682}, '3.5.1' ,{requires:['base-base', 'node-style']});
0683
=== added file 'debian/extras/jslibs/yui/anim-base/anim-base-min.js'
--- debian/extras/jslibs/yui/anim-base/anim-base-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-base/anim-base-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-base",function(b){var c="running",n="startTime",l="elapsedTime",j="start",i="tween",m="end",d="node",k="paused",o="reverse",h="iterationCount",a=Number;var f={},e;b.Anim=function(){b.Anim.superclass.constructor.apply(this,arguments);b.Anim._instances[b.stamp(this)]=this;};b.Anim.NAME="anim";b.Anim._instances={};b.Anim.RE_DEFAULT_UNIT=/^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i;b.Anim.DEFAULT_UNIT="px";b.Anim.DEFAULT_EASING=function(q,p,s,r){return s*q/r+p;};b.Anim._intervalTime=20;b.Anim.behaviors={left:{get:function(q,p){return q._getOffset(p);}}};b.Anim.behaviors.top=b.Anim.behaviors.left;b.Anim.DEFAULT_SETTER=function(t,u,w,x,z,s,v,y){var q=t._node,r=q._node,p=v(z,a(w),a(x)-a(w),s);if(r&&(r.style||r.attributes)){if(u in r.style||u in b.DOM.CUSTOM_STYLES){y=y||"";q.setStyle(u,p+y);}else{if(r.attributes[u]){q.setAttribute(u,p);}}}else{if(q.set){q.set(u,p);}}};b.Anim.DEFAULT_GETTER=function(s,p){var r=s._node,q=r._node,t="";if(q&&(q.style||q.attributes)){if(p in q.style||p in b.DOM.CUSTOM_STYLES){t=r.getComputedStyle(p);}else{if(q.attributes[p]){t=r.getAttribute(p);}}}else{if(r.get){t=r.get(p);}}return t;};b.Anim.ATTRS={node:{setter:function(p){if(p){if(typeof p=="string"||p.nodeType){p=b.one(p);}}this._node=p;if(!p){}return p;}},duration:{value:1},easing:{value:b.Anim.DEFAULT_EASING,setter:function(p){if(typeof p==="string"&&b.Easing){return b.Easing[p];}}},from:{},to:{},startTime:{value:0,readOnly:true},elapsedTime:{value:0,readOnly:true},running:{getter:function(){return !!f[b.stamp(this)];},value:false,readOnly:true},iterations:{value:1},iterationCount:{value:0,readOnly:true},direction:{value:"normal"},paused:{readOnly:true,value:false},reverse:{value:false}};b.Anim.run=function(){var q=b.Anim._instances;for(var p in q){if(q[p].run){q[p].run();}}};b.Anim.pause=function(){for(var p in f){if(f[p].pause){f[p].pause();}}b.Anim._stopTimer();};b.Anim.stop=function(){for(var p in f){if(f[p].stop){f[p].stop();}}b.Anim._stopTimer();};b.Anim._startTimer=function(){if(!e){e=setInterval(b.Anim._runFrame,b.Anim._intervalTime);}};b.Anim._stopTimer=function(){clearInterval(e);e=0;};b.Anim._runFrame=function(){var p=true;for(var q in f){if(f[q]._runFrame){p=false;f[q]._runFrame();}}if(p){b.Anim._stopTimer();}};b.Anim.RE_UNITS=/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;var g={run:function(){if(this.get(k)){this._resume();}else{if(!this.get(c)){this._start();}}return this;},pause:function(){if(this.get(c)){this._pause();}return this;},stop:function(p){if(this.get(c)||this.get(k)){this._end(p);}return this;},_added:false,_start:function(){this._set(n,new Date()-this.get(l));this._actualFrames=0;if(!this.get(k)){this._initAnimAttr();}f[b.stamp(this)]=this;b.Anim._startTimer();this.fire(j);},_pause:function(){this._set(n,null);this._set(k,true);delete f[b.stamp(this)];this.fire("pause");},_resume:function(){this._set(k,false);f[b.stamp(this)]=this;this._set(n,new Date()-this.get(l));b.Anim._startTimer();this.fire("resume");},_end:function(p){var q=this.get("duration")*1000;if(p){this._runAttrs(q,q,this.get(o));}this._set(n,null);this._set(l,0);this._set(k,false);delete f[b.stamp(this)];this.fire(m,{elapsed:this.get(l)});},_runFrame:function(){var u=this._runtimeAttr.duration,r=new Date()-this.get(n),q=this.get(o),p=(r>=u),s,v;this._runAttrs(r,u,q);this._actualFrames+=1;this._set(l,r);this.fire(i);if(p){this._lastFrame();}},_runAttrs:function(A,z,w){var x=this._runtimeAttr,r=b.Anim.behaviors,y=x.easing,p=z,u=false,q,s,v;if(A>=z){u=true;}if(w){A=z-A;p=0;}for(v in x){if(x[v].to){q=x[v];s=(v in r&&"set" in r[v])?r[v].set:b.Anim.DEFAULT_SETTER;if(!u){s(this,v,q.from,q.to,A,z,y,q.unit);}else{s(this,v,q.from,q.to,p,z,y,q.unit);}}}},_lastFrame:function(){var p=this.get("iterations"),q=this.get(h);q+=1;if(p==="infinite"||q<p){if(this.get("direction")==="alternate"){this.set(o,!this.get(o));}this.fire("iteration");}else{q=0;this._end();}this._set(n,new Date());this._set(h,q);},_initAnimAttr:function(){var w=this.get("from")||{},v=this.get("to")||{},p={duration:this.get("duration")*1000,easing:this.get("easing")},r=b.Anim.behaviors,u=this.get(d),t,s,q;b.each(v,function(A,y){if(typeof A==="function"){A=A.call(this,u);}s=w[y];if(s===undefined){s=(y in r&&"get" in r[y])?r[y].get(this,y):b.Anim.DEFAULT_GETTER(this,y);}else{if(typeof s==="function"){s=s.call(this,u);}}var x=b.Anim.RE_UNITS.exec(s);var z=b.Anim.RE_UNITS.exec(A);s=x?x[1]:s;q=z?z[1]:A;t=z?z[2]:x?x[2]:"";if(!t&&b.Anim.RE_DEFAULT_UNIT.test(y)){t=b.Anim.DEFAULT_UNIT;}if(!s||!q){b.error('invalid "from" or "to" for "'+y+'"',"Anim");return;}p[y]={from:s,to:q,unit:t};},this);this._runtimeAttr=p;},_getOffset:function(q){var s=this._node,t=s.getComputedStyle(q),r=(q==="left")?"getX":"getY",u=(q==="left")?"setX":"setY";if(t==="auto"){var p=s.getStyle("position");if(p==="absolute"||p==="fixed"){t=s[r]();s[u](t);}else{t=0;}}return t;},destructor:function(){delete b.Anim._instances[b.stamp(this)];}};b.extend(b.Anim,b.Base,g);},"3.5.1",{requires:["base-base","node-style"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-base/anim-base.js'
--- debian/extras/jslibs/yui/anim-base/anim-base.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-base/anim-base.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,681 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-base', function(Y) {
8
9/**
10* The Animation Utility provides an API for creating advanced transitions.
11* @module anim
12*/
13
14/**
15* Provides the base Anim class, for animating numeric properties.
16*
17* @module anim
18* @submodule anim-base
19*/
20
21 /**
22 * A class for constructing animation instances.
23 * @class Anim
24 * @for Anim
25 * @constructor
26 * @extends Base
27 */
28
29 var RUNNING = 'running',
30 START_TIME = 'startTime',
31 ELAPSED_TIME = 'elapsedTime',
32 /**
33 * @for Anim
34 * @event start
35 * @description fires when an animation begins.
36 * @param {Event} ev The start event.
37 * @type Event.Custom
38 */
39 START = 'start',
40
41 /**
42 * @event tween
43 * @description fires every frame of the animation.
44 * @param {Event} ev The tween event.
45 * @type Event.Custom
46 */
47 TWEEN = 'tween',
48
49 /**
50 * @event end
51 * @description fires after the animation completes.
52 * @param {Event} ev The end event.
53 * @type Event.Custom
54 */
55 END = 'end',
56 NODE = 'node',
57 PAUSED = 'paused',
58 REVERSE = 'reverse', // TODO: cleanup
59 ITERATION_COUNT = 'iterationCount',
60
61 NUM = Number;
62
63 var _running = {},
64 _timer;
65
66 Y.Anim = function() {
67 Y.Anim.superclass.constructor.apply(this, arguments);
68 Y.Anim._instances[Y.stamp(this)] = this;
69 };
70
71 Y.Anim.NAME = 'anim';
72
73 Y.Anim._instances = {};
74
75 /**
76 * Regex of properties that should use the default unit.
77 *
78 * @property RE_DEFAULT_UNIT
79 * @static
80 */
81 Y.Anim.RE_DEFAULT_UNIT = /^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i;
82
83 /**
84 * The default unit to use with properties that pass the RE_DEFAULT_UNIT test.
85 *
86 * @property DEFAULT_UNIT
87 * @static
88 */
89 Y.Anim.DEFAULT_UNIT = 'px';
90
91 Y.Anim.DEFAULT_EASING = function (t, b, c, d) {
92 return c * t / d + b; // linear easing
93 };
94
95 /**
96 * Time in milliseconds passed to setInterval for frame processing
97 *
98 * @property intervalTime
99 * @default 20
100 * @static
101 */
102 Y.Anim._intervalTime = 20;
103
104 /**
105 * Bucket for custom getters and setters
106 *
107 * @property behaviors
108 * @static
109 */
110 Y.Anim.behaviors = {
111 left: {
112 get: function(anim, attr) {
113 return anim._getOffset(attr);
114 }
115 }
116 };
117
118 Y.Anim.behaviors.top = Y.Anim.behaviors.left;
119
120 /**
121 * The default setter to use when setting object properties.
122 *
123 * @property DEFAULT_SETTER
124 * @static
125 */
126 Y.Anim.DEFAULT_SETTER = function(anim, att, from, to, elapsed, duration, fn, unit) {
127 var node = anim._node,
128 domNode = node._node,
129 val = fn(elapsed, NUM(from), NUM(to) - NUM(from), duration);
130 //make sure node instance
131 if (domNode && (domNode.style || domNode.attributes)) {
132 if (att in domNode.style || att in Y.DOM.CUSTOM_STYLES) {
133 unit = unit || '';
134 node.setStyle(att, val + unit);
135 } else if (domNode.attributes[att]) {
136 node.setAttribute(att, val);
137 }
138 } else if (node.set) {
139 node.set(att, val);
140 }
141 };
142
143 /**
144 * The default getter to use when getting object properties.
145 *
146 * @property DEFAULT_GETTER
147 * @static
148 */
149 Y.Anim.DEFAULT_GETTER = function(anim, att) {
150 var node = anim._node,
151 domNode = node._node,
152 val = '';
153 //make sure node instance
154 if (domNode && (domNode.style || domNode.attributes)) {
155 if (att in domNode.style || att in Y.DOM.CUSTOM_STYLES) {
156 val = node.getComputedStyle(att);
157 } else if (domNode.attributes[att]) {
158 val = node.getAttribute(att);
159 }
160 } else if (node.get) {
161 val = node.get(att);
162 }
163
164 return val;
165 };
166
167 Y.Anim.ATTRS = {
168 /**
169 * The object to be animated.
170 * @attribute node
171 * @type Node
172 */
173 node: {
174 setter: function(node) {
175 if (node) {
176 if (typeof node == 'string' || node.nodeType) {
177 node = Y.one(node);
178 }
179 }
180
181 this._node = node;
182 if (!node) {
183 }
184 return node;
185 }
186 },
187
188 /**
189 * The length of the animation. Defaults to "1" (second).
190 * @attribute duration
191 * @type NUM
192 */
193 duration: {
194 value: 1
195 },
196
197 /**
198 * The method that will provide values to the attribute(s) during the animation.
199 * Defaults to "Easing.easeNone".
200 * @attribute easing
201 * @type Function
202 */
203 easing: {
204 value: Y.Anim.DEFAULT_EASING,
205
206 setter: function(val) {
207 if (typeof val === 'string' && Y.Easing) {
208 return Y.Easing[val];
209 }
210 }
211 },
212
213 /**
214 * The starting values for the animated properties.
215 *
216 * Fields may be strings, numbers, or functions.
217 * If a function is used, the return value becomes the from value.
218 * If no from value is specified, the DEFAULT_GETTER will be used.
219 * Supports any unit, provided it matches the "to" (or default)
220 * unit (e.g. `{width: '10em', color: 'rgb(0, 0 0)', borderColor: '#ccc'}`).
221 *
222 * If using the default ('px' for length-based units), the unit may be omitted
223 * (e.g. `{width: 100}, borderColor: 'ccc'}`, which defaults to pixels
224 * and hex, respectively).
225 *
226 * @attribute from
227 * @type Object
228 */
229 from: {},
230
231 /**
232 * The ending values for the animated properties.
233 *
234 * Fields may be strings, numbers, or functions.
235 * Supports any unit, provided it matches the "from" (or default)
236 * unit (e.g. `{width: '50%', color: 'red', borderColor: '#ccc'}`).
237 *
238 * If using the default ('px' for length-based units), the unit may be omitted
239 * (e.g. `{width: 100, borderColor: 'ccc'}`, which defaults to pixels
240 * and hex, respectively).
241 *
242 * @attribute to
243 * @type Object
244 */
245 to: {},
246
247 /**
248 * Date stamp for the first frame of the animation.
249 * @attribute startTime
250 * @type Int
251 * @default 0
252 * @readOnly
253 */
254 startTime: {
255 value: 0,
256 readOnly: true
257 },
258
259 /**
260 * Current time the animation has been running.
261 * @attribute elapsedTime
262 * @type Int
263 * @default 0
264 * @readOnly
265 */
266 elapsedTime: {
267 value: 0,
268 readOnly: true
269 },
270
271 /**
272 * Whether or not the animation is currently running.
273 * @attribute running
274 * @type Boolean
275 * @default false
276 * @readOnly
277 */
278 running: {
279 getter: function() {
280 return !!_running[Y.stamp(this)];
281 },
282 value: false,
283 readOnly: true
284 },
285
286 /**
287 * The number of times the animation should run
288 * @attribute iterations
289 * @type Int
290 * @default 1
291 */
292 iterations: {
293 value: 1
294 },
295
296 /**
297 * The number of iterations that have occurred.
298 * Resets when an animation ends (reaches iteration count or stop() called).
299 * @attribute iterationCount
300 * @type Int
301 * @default 0
302 * @readOnly
303 */
304 iterationCount: {
305 value: 0,
306 readOnly: true
307 },
308
309 /**
310 * How iterations of the animation should behave.
311 * Possible values are "normal" and "alternate".
312 * Normal will repeat the animation, alternate will reverse on every other pass.
313 *
314 * @attribute direction
315 * @type String
316 * @default "normal"
317 */
318 direction: {
319 value: 'normal' // | alternate (fwd on odd, rev on even per spec)
320 },
321
322 /**
323 * Whether or not the animation is currently paused.
324 * @attribute paused
325 * @type Boolean
326 * @default false
327 * @readOnly
328 */
329 paused: {
330 readOnly: true,
331 value: false
332 },
333
334 /**
335 * If true, animation begins from last frame
336 * @attribute reverse
337 * @type Boolean
338 * @default false
339 */
340 reverse: {
341 value: false
342 }
343
344
345 };
346
347 /**
348 * Runs all animation instances.
349 * @method run
350 * @static
351 */
352 Y.Anim.run = function() {
353 var instances = Y.Anim._instances;
354 for (var i in instances) {
355 if (instances[i].run) {
356 instances[i].run();
357 }
358 }
359 };
360
361 /**
362 * Pauses all animation instances.
363 * @method pause
364 * @static
365 */
366 Y.Anim.pause = function() {
367 for (var i in _running) { // stop timer if nothing running
368 if (_running[i].pause) {
369 _running[i].pause();
370 }
371 }
372
373 Y.Anim._stopTimer();
374 };
375
376 /**
377 * Stops all animation instances.
378 * @method stop
379 * @static
380 */
381 Y.Anim.stop = function() {
382 for (var i in _running) { // stop timer if nothing running
383 if (_running[i].stop) {
384 _running[i].stop();
385 }
386 }
387 Y.Anim._stopTimer();
388 };
389
390 Y.Anim._startTimer = function() {
391 if (!_timer) {
392 _timer = setInterval(Y.Anim._runFrame, Y.Anim._intervalTime);
393 }
394 };
395
396 Y.Anim._stopTimer = function() {
397 clearInterval(_timer);
398 _timer = 0;
399 };
400
401 /**
402 * Called per Interval to handle each animation frame.
403 * @method _runFrame
404 * @private
405 * @static
406 */
407 Y.Anim._runFrame = function() {
408 var done = true;
409 for (var anim in _running) {
410 if (_running[anim]._runFrame) {
411 done = false;
412 _running[anim]._runFrame();
413 }
414 }
415
416 if (done) {
417 Y.Anim._stopTimer();
418 }
419 };
420
421 Y.Anim.RE_UNITS = /^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/;
422
423 var proto = {
424 /**
425 * Starts or resumes an animation.
426 * @method run
427 * @chainable
428 */
429 run: function() {
430 if (this.get(PAUSED)) {
431 this._resume();
432 } else if (!this.get(RUNNING)) {
433 this._start();
434 }
435 return this;
436 },
437
438 /**
439 * Pauses the animation and
440 * freezes it in its current state and time.
441 * Calling run() will continue where it left off.
442 * @method pause
443 * @chainable
444 */
445 pause: function() {
446 if (this.get(RUNNING)) {
447 this._pause();
448 }
449 return this;
450 },
451
452 /**
453 * Stops the animation and resets its time.
454 * @method stop
455 * @param {Boolean} finish If true, the animation will move to the last frame
456 * @chainable
457 */
458 stop: function(finish) {
459 if (this.get(RUNNING) || this.get(PAUSED)) {
460 this._end(finish);
461 }
462 return this;
463 },
464
465 _added: false,
466
467 _start: function() {
468 this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));
469 this._actualFrames = 0;
470 if (!this.get(PAUSED)) {
471 this._initAnimAttr();
472 }
473 _running[Y.stamp(this)] = this;
474 Y.Anim._startTimer();
475
476 this.fire(START);
477 },
478
479 _pause: function() {
480 this._set(START_TIME, null);
481 this._set(PAUSED, true);
482 delete _running[Y.stamp(this)];
483
484 /**
485 * @event pause
486 * @description fires when an animation is paused.
487 * @param {Event} ev The pause event.
488 * @type Event.Custom
489 */
490 this.fire('pause');
491 },
492
493 _resume: function() {
494 this._set(PAUSED, false);
495 _running[Y.stamp(this)] = this;
496 this._set(START_TIME, new Date() - this.get(ELAPSED_TIME));
497 Y.Anim._startTimer();
498
499 /**
500 * @event resume
501 * @description fires when an animation is resumed (run from pause).
502 * @param {Event} ev The pause event.
503 * @type Event.Custom
504 */
505 this.fire('resume');
506 },
507
508 _end: function(finish) {
509 var duration = this.get('duration') * 1000;
510 if (finish) { // jump to last frame
511 this._runAttrs(duration, duration, this.get(REVERSE));
512 }
513
514 this._set(START_TIME, null);
515 this._set(ELAPSED_TIME, 0);
516 this._set(PAUSED, false);
517
518 delete _running[Y.stamp(this)];
519 this.fire(END, {elapsed: this.get(ELAPSED_TIME)});
520 },
521
522 _runFrame: function() {
523 var d = this._runtimeAttr.duration,
524 t = new Date() - this.get(START_TIME),
525 reverse = this.get(REVERSE),
526 done = (t >= d),
527 attribute,
528 setter;
529
530 this._runAttrs(t, d, reverse);
531 this._actualFrames += 1;
532 this._set(ELAPSED_TIME, t);
533
534 this.fire(TWEEN);
535 if (done) {
536 this._lastFrame();
537 }
538 },
539
540 _runAttrs: function(t, d, reverse) {
541 var attr = this._runtimeAttr,
542 customAttr = Y.Anim.behaviors,
543 easing = attr.easing,
544 lastFrame = d,
545 done = false,
546 attribute,
547 setter,
548 i;
549
550 if (t >= d) {
551 done = true;
552 }
553
554 if (reverse) {
555 t = d - t;
556 lastFrame = 0;
557 }
558
559 for (i in attr) {
560 if (attr[i].to) {
561 attribute = attr[i];
562 setter = (i in customAttr && 'set' in customAttr[i]) ?
563 customAttr[i].set : Y.Anim.DEFAULT_SETTER;
564
565 if (!done) {
566 setter(this, i, attribute.from, attribute.to, t, d, easing, attribute.unit);
567 } else {
568 setter(this, i, attribute.from, attribute.to, lastFrame, d, easing, attribute.unit);
569 }
570 }
571 }
572
573
574 },
575
576 _lastFrame: function() {
577 var iter = this.get('iterations'),
578 iterCount = this.get(ITERATION_COUNT);
579
580 iterCount += 1;
581 if (iter === 'infinite' || iterCount < iter) {
582 if (this.get('direction') === 'alternate') {
583 this.set(REVERSE, !this.get(REVERSE)); // flip it
584 }
585 /**
586 * @event iteration
587 * @description fires when an animation begins an iteration.
588 * @param {Event} ev The iteration event.
589 * @type Event.Custom
590 */
591 this.fire('iteration');
592 } else {
593 iterCount = 0;
594 this._end();
595 }
596
597 this._set(START_TIME, new Date());
598 this._set(ITERATION_COUNT, iterCount);
599 },
600
601 _initAnimAttr: function() {
602 var from = this.get('from') || {},
603 to = this.get('to') || {},
604 attr = {
605 duration: this.get('duration') * 1000,
606 easing: this.get('easing')
607 },
608 customAttr = Y.Anim.behaviors,
609 node = this.get(NODE), // implicit attr init
610 unit, begin, end;
611
612 Y.each(to, function(val, name) {
613 if (typeof val === 'function') {
614 val = val.call(this, node);
615 }
616
617 begin = from[name];
618 if (begin === undefined) {
619 begin = (name in customAttr && 'get' in customAttr[name]) ?
620 customAttr[name].get(this, name) : Y.Anim.DEFAULT_GETTER(this, name);
621 } else if (typeof begin === 'function') {
622 begin = begin.call(this, node);
623 }
624
625 var mFrom = Y.Anim.RE_UNITS.exec(begin);
626 var mTo = Y.Anim.RE_UNITS.exec(val);
627
628 begin = mFrom ? mFrom[1] : begin;
629 end = mTo ? mTo[1] : val;
630 unit = mTo ? mTo[2] : mFrom ? mFrom[2] : ''; // one might be zero TODO: mixed units
631
632 if (!unit && Y.Anim.RE_DEFAULT_UNIT.test(name)) {
633 unit = Y.Anim.DEFAULT_UNIT;
634 }
635
636 if (!begin || !end) {
637 Y.error('invalid "from" or "to" for "' + name + '"', 'Anim');
638 return;
639 }
640
641 attr[name] = {
642 from: begin,
643 to: end,
644 unit: unit
645 };
646
647 }, this);
648
649 this._runtimeAttr = attr;
650 },
651
652
653 // TODO: move to computedStyle? (browsers dont agree on default computed offsets)
654 _getOffset: function(attr) {
655 var node = this._node,
656 val = node.getComputedStyle(attr),
657 get = (attr === 'left') ? 'getX': 'getY',
658 set = (attr === 'left') ? 'setX': 'setY';
659
660 if (val === 'auto') {
661 var position = node.getStyle('position');
662 if (position === 'absolute' || position === 'fixed') {
663 val = node[get]();
664 node[set](val);
665 } else {
666 val = 0;
667 }
668 }
669
670 return val;
671 },
672
673 destructor: function() {
674 delete Y.Anim._instances[Y.stamp(this)];
675 }
676 };
677
678 Y.extend(Y.Anim, Y.Base, proto);
679
680
681}, '3.5.1' ,{requires:['base-base', 'node-style']});
0682
=== added directory 'debian/extras/jslibs/yui/anim-color'
=== added file 'debian/extras/jslibs/yui/anim-color/anim-color-debug.js'
--- debian/extras/jslibs/yui/anim-color/anim-color-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-color/anim-color-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,54 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-color', function(Y) {
8
9/**
10 * Adds support for color properties in <code>to</code>
11 * and <code>from</code> attributes.
12 * @module anim
13 * @submodule anim-color
14 */
15
16var NUM = Number;
17
18Y.Anim.behaviors.color = {
19 set: function(anim, att, from, to, elapsed, duration, fn) {
20 from = Y.Color.re_RGB.exec(Y.Color.toRGB(from));
21 to = Y.Color.re_RGB.exec(Y.Color.toRGB(to));
22
23 if (!from || from.length < 3 || !to || to.length < 3) {
24 Y.error('invalid from or to passed to color behavior');
25 }
26
27 anim._node.setStyle(att, 'rgb(' + [
28 Math.floor(fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)),
29 Math.floor(fn(elapsed, NUM(from[2]), NUM(to[2]) - NUM(from[2]), duration)),
30 Math.floor(fn(elapsed, NUM(from[3]), NUM(to[3]) - NUM(from[3]), duration))
31 ].join(', ') + ')');
32 },
33
34 // TODO: default bgcolor const
35 get: function(anim, att) {
36 var val = anim._node.getComputedStyle(att);
37 val = (val === 'transparent') ? 'rgb(255, 255, 255)' : val;
38 return val;
39 }
40};
41
42Y.each(['backgroundColor',
43 'borderColor',
44 'borderTopColor',
45 'borderRightColor',
46 'borderBottomColor',
47 'borderLeftColor'],
48 function(v, i) {
49 Y.Anim.behaviors[v] = Y.Anim.behaviors.color;
50 }
51);
52
53
54}, '3.5.1' ,{requires:['anim-base']});
055
=== added file 'debian/extras/jslibs/yui/anim-color/anim-color-min.js'
--- debian/extras/jslibs/yui/anim-color/anim-color-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-color/anim-color-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-color",function(b){var a=Number;b.Anim.behaviors.color={set:function(f,d,i,h,c,g,e){i=b.Color.re_RGB.exec(b.Color.toRGB(i));h=b.Color.re_RGB.exec(b.Color.toRGB(h));if(!i||i.length<3||!h||h.length<3){b.error("invalid from or to passed to color behavior");}f._node.setStyle(d,"rgb("+[Math.floor(e(c,a(i[1]),a(h[1])-a(i[1]),g)),Math.floor(e(c,a(i[2]),a(h[2])-a(i[2]),g)),Math.floor(e(c,a(i[3]),a(h[3])-a(i[3]),g))].join(", ")+")");},get:function(d,c){var e=d._node.getComputedStyle(c);e=(e==="transparent")?"rgb(255, 255, 255)":e;return e;}};b.each(["backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],function(c,d){b.Anim.behaviors[c]=b.Anim.behaviors.color;});},"3.5.1",{requires:["anim-base"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-color/anim-color.js'
--- debian/extras/jslibs/yui/anim-color/anim-color.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-color/anim-color.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,54 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-color', function(Y) {
8
9/**
10 * Adds support for color properties in <code>to</code>
11 * and <code>from</code> attributes.
12 * @module anim
13 * @submodule anim-color
14 */
15
16var NUM = Number;
17
18Y.Anim.behaviors.color = {
19 set: function(anim, att, from, to, elapsed, duration, fn) {
20 from = Y.Color.re_RGB.exec(Y.Color.toRGB(from));
21 to = Y.Color.re_RGB.exec(Y.Color.toRGB(to));
22
23 if (!from || from.length < 3 || !to || to.length < 3) {
24 Y.error('invalid from or to passed to color behavior');
25 }
26
27 anim._node.setStyle(att, 'rgb(' + [
28 Math.floor(fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)),
29 Math.floor(fn(elapsed, NUM(from[2]), NUM(to[2]) - NUM(from[2]), duration)),
30 Math.floor(fn(elapsed, NUM(from[3]), NUM(to[3]) - NUM(from[3]), duration))
31 ].join(', ') + ')');
32 },
33
34 // TODO: default bgcolor const
35 get: function(anim, att) {
36 var val = anim._node.getComputedStyle(att);
37 val = (val === 'transparent') ? 'rgb(255, 255, 255)' : val;
38 return val;
39 }
40};
41
42Y.each(['backgroundColor',
43 'borderColor',
44 'borderTopColor',
45 'borderRightColor',
46 'borderBottomColor',
47 'borderLeftColor'],
48 function(v, i) {
49 Y.Anim.behaviors[v] = Y.Anim.behaviors.color;
50 }
51);
52
53
54}, '3.5.1' ,{requires:['anim-base']});
055
=== added directory 'debian/extras/jslibs/yui/anim-curve'
=== added file 'debian/extras/jslibs/yui/anim-curve/anim-curve-debug.js'
--- debian/extras/jslibs/yui/anim-curve/anim-curve-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-curve/anim-curve-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,63 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-curve', function(Y) {
8
9/**
10 * Adds support for the <code>curve</code> property for the <code>to</code>
11 * attribute. A curve is zero or more control points and an end point.
12 * @module anim
13 * @submodule anim-curve
14 */
15
16Y.Anim.behaviors.curve = {
17 set: function(anim, att, from, to, elapsed, duration, fn) {
18 from = from.slice.call(from);
19 to = to.slice.call(to);
20 var t = fn(elapsed, 0, 100, duration) / 100;
21 to.unshift(from);
22 anim._node.setXY(Y.Anim.getBezier(to, t));
23 },
24
25 get: function(anim, att) {
26 return anim._node.getXY();
27 }
28};
29
30/**
31 * Get the current position of the animated element based on t.
32 * Each point is an array of "x" and "y" values (0 = x, 1 = y)
33 * At least 2 points are required (start and end).
34 * First point is start. Last point is end.
35 * Additional control points are optional.
36 * @for Anim
37 * @method getBezier
38 * @static
39 * @param {Array} points An array containing Bezier points
40 * @param {Number} t A number between 0 and 1 which is the basis for determining current position
41 * @return {Array} An array containing int x and y member data
42 */
43Y.Anim.getBezier = function(points, t) {
44 var n = points.length;
45 var tmp = [];
46
47 for (var i = 0; i < n; ++i){
48 tmp[i] = [points[i][0], points[i][1]]; // save input
49 }
50
51 for (var j = 1; j < n; ++j) {
52 for (i = 0; i < n - j; ++i) {
53 tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];
54 tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];
55 }
56 }
57
58 return [ tmp[0][0], tmp[0][1] ];
59
60};
61
62
63}, '3.5.1' ,{requires:['anim-xy']});
064
=== added file 'debian/extras/jslibs/yui/anim-curve/anim-curve-min.js'
--- debian/extras/jslibs/yui/anim-curve/anim-curve-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-curve/anim-curve-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-curve",function(a){a.Anim.behaviors.curve={set:function(f,c,i,h,b,g,e){i=i.slice.call(i);h=h.slice.call(h);var d=e(b,0,100,g)/100;h.unshift(i);f._node.setXY(a.Anim.getBezier(h,d));},get:function(c,b){return c._node.getXY();}};a.Anim.getBezier=function(f,e){var g=f.length;var d=[];for(var c=0;c<g;++c){d[c]=[f[c][0],f[c][1]];}for(var b=1;b<g;++b){for(c=0;c<g-b;++c){d[c][0]=(1-e)*d[c][0]+e*d[parseInt(c+1,10)][0];d[c][1]=(1-e)*d[c][1]+e*d[parseInt(c+1,10)][1];}}return[d[0][0],d[0][1]];};},"3.5.1",{requires:["anim-xy"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-curve/anim-curve.js'
--- debian/extras/jslibs/yui/anim-curve/anim-curve.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-curve/anim-curve.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,63 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-curve', function(Y) {
8
9/**
10 * Adds support for the <code>curve</code> property for the <code>to</code>
11 * attribute. A curve is zero or more control points and an end point.
12 * @module anim
13 * @submodule anim-curve
14 */
15
16Y.Anim.behaviors.curve = {
17 set: function(anim, att, from, to, elapsed, duration, fn) {
18 from = from.slice.call(from);
19 to = to.slice.call(to);
20 var t = fn(elapsed, 0, 100, duration) / 100;
21 to.unshift(from);
22 anim._node.setXY(Y.Anim.getBezier(to, t));
23 },
24
25 get: function(anim, att) {
26 return anim._node.getXY();
27 }
28};
29
30/**
31 * Get the current position of the animated element based on t.
32 * Each point is an array of "x" and "y" values (0 = x, 1 = y)
33 * At least 2 points are required (start and end).
34 * First point is start. Last point is end.
35 * Additional control points are optional.
36 * @for Anim
37 * @method getBezier
38 * @static
39 * @param {Array} points An array containing Bezier points
40 * @param {Number} t A number between 0 and 1 which is the basis for determining current position
41 * @return {Array} An array containing int x and y member data
42 */
43Y.Anim.getBezier = function(points, t) {
44 var n = points.length;
45 var tmp = [];
46
47 for (var i = 0; i < n; ++i){
48 tmp[i] = [points[i][0], points[i][1]]; // save input
49 }
50
51 for (var j = 1; j < n; ++j) {
52 for (i = 0; i < n - j; ++i) {
53 tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];
54 tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];
55 }
56 }
57
58 return [ tmp[0][0], tmp[0][1] ];
59
60};
61
62
63}, '3.5.1' ,{requires:['anim-xy']});
064
=== added directory 'debian/extras/jslibs/yui/anim-easing'
=== added file 'debian/extras/jslibs/yui/anim-easing/anim-easing-debug.js'
--- debian/extras/jslibs/yui/anim-easing/anim-easing-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-easing/anim-easing-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,356 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-easing', function(Y) {
8
9/*
10TERMS OF USE - EASING EQUATIONS
11Open source under the BSD License.
12Copyright 2001 Robert Penner All rights reserved.
13
14Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
15
16 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
17 * 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.
18 * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
19
20THIS 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.
21*/
22
23/**
24 * The easing module provides methods for customizing
25 * how an animation behaves during each run.
26 * @class Easing
27 * @module anim
28 * @submodule anim-easing
29 */
30
31var Easing = {
32
33 /**
34 * Uniform speed between points.
35 * @for Easing
36 * @method easeNone
37 * @param {Number} t Time value used to compute current value
38 * @param {Number} b Starting value
39 * @param {Number} c Delta between start and end values
40 * @param {Number} d Total length of animation
41 * @return {Number} The computed value for the current animation frame
42 */
43 easeNone: function (t, b, c, d) {
44 return c*t/d + b;
45 },
46
47 /**
48 * Begins slowly and accelerates towards end. (quadratic)
49 * @method easeIn
50 * @param {Number} t Time value used to compute current value
51 * @param {Number} b Starting value
52 * @param {Number} c Delta between start and end values
53 * @param {Number} d Total length of animation
54 * @return {Number} The computed value for the current animation frame
55 */
56 easeIn: function (t, b, c, d) {
57 return c*(t/=d)*t + b;
58 },
59
60 /**
61 * Begins quickly and decelerates towards end. (quadratic)
62 * @method easeOut
63 * @param {Number} t Time value used to compute current value
64 * @param {Number} b Starting value
65 * @param {Number} c Delta between start and end values
66 * @param {Number} d Total length of animation
67 * @return {Number} The computed value for the current animation frame
68 */
69 easeOut: function (t, b, c, d) {
70 return -c *(t/=d)*(t-2) + b;
71 },
72
73 /**
74 * Begins slowly and decelerates towards end. (quadratic)
75 * @method easeBoth
76 * @param {Number} t Time value used to compute current value
77 * @param {Number} b Starting value
78 * @param {Number} c Delta between start and end values
79 * @param {Number} d Total length of animation
80 * @return {Number} The computed value for the current animation frame
81 */
82 easeBoth: function (t, b, c, d) {
83 if ((t/=d/2) < 1) {
84 return c/2*t*t + b;
85 }
86
87 return -c/2 * ((--t)*(t-2) - 1) + b;
88 },
89
90 /**
91 * Begins slowly and accelerates towards end. (quartic)
92 * @method easeInStrong
93 * @param {Number} t Time value used to compute current value
94 * @param {Number} b Starting value
95 * @param {Number} c Delta between start and end values
96 * @param {Number} d Total length of animation
97 * @return {Number} The computed value for the current animation frame
98 */
99 easeInStrong: function (t, b, c, d) {
100 return c*(t/=d)*t*t*t + b;
101 },
102
103 /**
104 * Begins quickly and decelerates towards end. (quartic)
105 * @method easeOutStrong
106 * @param {Number} t Time value used to compute current value
107 * @param {Number} b Starting value
108 * @param {Number} c Delta between start and end values
109 * @param {Number} d Total length of animation
110 * @return {Number} The computed value for the current animation frame
111 */
112 easeOutStrong: function (t, b, c, d) {
113 return -c * ((t=t/d-1)*t*t*t - 1) + b;
114 },
115
116 /**
117 * Begins slowly and decelerates towards end. (quartic)
118 * @method easeBothStrong
119 * @param {Number} t Time value used to compute current value
120 * @param {Number} b Starting value
121 * @param {Number} c Delta between start and end values
122 * @param {Number} d Total length of animation
123 * @return {Number} The computed value for the current animation frame
124 */
125 easeBothStrong: function (t, b, c, d) {
126 if ((t/=d/2) < 1) {
127 return c/2*t*t*t*t + b;
128 }
129
130 return -c/2 * ((t-=2)*t*t*t - 2) + b;
131 },
132
133 /**
134 * Snap in elastic effect.
135 * @method elasticIn
136 * @param {Number} t Time value used to compute current value
137 * @param {Number} b Starting value
138 * @param {Number} c Delta between start and end values
139 * @param {Number} d Total length of animation
140 * @param {Number} a Amplitude (optional)
141 * @param {Number} p Period (optional)
142 * @return {Number} The computed value for the current animation frame
143 */
144
145 elasticIn: function (t, b, c, d, a, p) {
146 var s;
147 if (t === 0) {
148 return b;
149 }
150 if ( (t /= d) === 1 ) {
151 return b+c;
152 }
153 if (!p) {
154 p = d* 0.3;
155 }
156
157 if (!a || a < Math.abs(c)) {
158 a = c;
159 s = p/4;
160 }
161 else {
162 s = p/(2*Math.PI) * Math.asin (c/a);
163 }
164
165 return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
166 },
167
168 /**
169 * Snap out elastic effect.
170 * @method elasticOut
171 * @param {Number} t Time value used to compute current value
172 * @param {Number} b Starting value
173 * @param {Number} c Delta between start and end values
174 * @param {Number} d Total length of animation
175 * @param {Number} a Amplitude (optional)
176 * @param {Number} p Period (optional)
177 * @return {Number} The computed value for the current animation frame
178 */
179 elasticOut: function (t, b, c, d, a, p) {
180 var s;
181 if (t === 0) {
182 return b;
183 }
184 if ( (t /= d) === 1 ) {
185 return b+c;
186 }
187 if (!p) {
188 p=d * 0.3;
189 }
190
191 if (!a || a < Math.abs(c)) {
192 a = c;
193 s = p / 4;
194 }
195 else {
196 s = p/(2*Math.PI) * Math.asin (c/a);
197 }
198
199 return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
200 },
201
202 /**
203 * Snap both elastic effect.
204 * @method elasticBoth
205 * @param {Number} t Time value used to compute current value
206 * @param {Number} b Starting value
207 * @param {Number} c Delta between start and end values
208 * @param {Number} d Total length of animation
209 * @param {Number} a Amplitude (optional)
210 * @param {Number} p Period (optional)
211 * @return {Number} The computed value for the current animation frame
212 */
213 elasticBoth: function (t, b, c, d, a, p) {
214 var s;
215 if (t === 0) {
216 return b;
217 }
218
219 if ( (t /= d/2) === 2 ) {
220 return b+c;
221 }
222
223 if (!p) {
224 p = d*(0.3*1.5);
225 }
226
227 if ( !a || a < Math.abs(c) ) {
228 a = c;
229 s = p/4;
230 }
231 else {
232 s = p/(2*Math.PI) * Math.asin (c/a);
233 }
234
235 if (t < 1) {
236 return -0.5*(a*Math.pow(2,10*(t-=1)) *
237 Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
238 }
239 return a*Math.pow(2,-10*(t-=1)) *
240 Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b;
241 },
242
243
244 /**
245 * Backtracks slightly, then reverses direction and moves to end.
246 * @method backIn
247 * @param {Number} t Time value used to compute current value
248 * @param {Number} b Starting value
249 * @param {Number} c Delta between start and end values
250 * @param {Number} d Total length of animation
251 * @param {Number} s Overshoot (optional)
252 * @return {Number} The computed value for the current animation frame
253 */
254 backIn: function (t, b, c, d, s) {
255 if (s === undefined) {
256 s = 1.70158;
257 }
258 if (t === d) {
259 t -= 0.001;
260 }
261 return c*(t/=d)*t*((s+1)*t - s) + b;
262 },
263
264 /**
265 * Overshoots end, then reverses and comes back to end.
266 * @method backOut
267 * @param {Number} t Time value used to compute current value
268 * @param {Number} b Starting value
269 * @param {Number} c Delta between start and end values
270 * @param {Number} d Total length of animation
271 * @param {Number} s Overshoot (optional)
272 * @return {Number} The computed value for the current animation frame
273 */
274 backOut: function (t, b, c, d, s) {
275 if (typeof s === 'undefined') {
276 s = 1.70158;
277 }
278 return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
279 },
280
281 /**
282 * Backtracks slightly, then reverses direction, overshoots end,
283 * then reverses and comes back to end.
284 * @method backBoth
285 * @param {Number} t Time value used to compute current value
286 * @param {Number} b Starting value
287 * @param {Number} c Delta between start and end values
288 * @param {Number} d Total length of animation
289 * @param {Number} s Overshoot (optional)
290 * @return {Number} The computed value for the current animation frame
291 */
292 backBoth: function (t, b, c, d, s) {
293 if (typeof s === 'undefined') {
294 s = 1.70158;
295 }
296
297 if ((t /= d/2 ) < 1) {
298 return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
299 }
300 return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
301 },
302
303 /**
304 * Bounce off of start.
305 * @method bounceIn
306 * @param {Number} t Time value used to compute current value
307 * @param {Number} b Starting value
308 * @param {Number} c Delta between start and end values
309 * @param {Number} d Total length of animation
310 * @return {Number} The computed value for the current animation frame
311 */
312 bounceIn: function (t, b, c, d) {
313 return c - Y.Easing.bounceOut(d-t, 0, c, d) + b;
314 },
315
316 /**
317 * Bounces off end.
318 * @method bounceOut
319 * @param {Number} t Time value used to compute current value
320 * @param {Number} b Starting value
321 * @param {Number} c Delta between start and end values
322 * @param {Number} d Total length of animation
323 * @return {Number} The computed value for the current animation frame
324 */
325 bounceOut: function (t, b, c, d) {
326 if ((t/=d) < (1/2.75)) {
327 return c*(7.5625*t*t) + b;
328 } else if (t < (2/2.75)) {
329 return c*(7.5625*(t-=(1.5/2.75))*t + 0.75) + b;
330 } else if (t < (2.5/2.75)) {
331 return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b;
332 }
333 return c*(7.5625*(t-=(2.625/2.75))*t + 0.984375) + b;
334 },
335
336 /**
337 * Bounces off start and end.
338 * @method bounceBoth
339 * @param {Number} t Time value used to compute current value
340 * @param {Number} b Starting value
341 * @param {Number} c Delta between start and end values
342 * @param {Number} d Total length of animation
343 * @return {Number} The computed value for the current animation frame
344 */
345 bounceBoth: function (t, b, c, d) {
346 if (t < d/2) {
347 return Y.Easing.bounceIn(t * 2, 0, c, d) * 0.5 + b;
348 }
349 return Y.Easing.bounceOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;
350 }
351};
352
353Y.Easing = Easing;
354
355
356}, '3.5.1' ,{requires:['anim-base']});
0357
=== added file 'debian/extras/jslibs/yui/anim-easing/anim-easing-min.js'
--- debian/extras/jslibs/yui/anim-easing/anim-easing-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-easing/anim-easing-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-easing",function(b){var a={easeNone:function(f,e,h,g){return h*f/g+e;},easeIn:function(f,e,h,g){return h*(f/=g)*f+e;},easeOut:function(f,e,h,g){return -h*(f/=g)*(f-2)+e;},easeBoth:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f+e;}return -h/2*((--f)*(f-2)-1)+e;},easeInStrong:function(f,e,h,g){return h*(f/=g)*f*f*f+e;},easeOutStrong:function(f,e,h,g){return -h*((f=f/g-1)*f*f*f-1)+e;},easeBothStrong:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+e;}return -h/2*((f-=2)*f*f*f-2)+e;},elasticIn:function(g,e,k,j,f,i){var h;if(g===0){return e;}if((g/=j)===1){return e+k;}if(!i){i=j*0.3;}if(!f||f<Math.abs(k)){f=k;h=i/4;}else{h=i/(2*Math.PI)*Math.asin(k/f);}return -(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e;},elasticOut:function(g,e,k,j,f,i){var h;if(g===0){return e;}if((g/=j)===1){return e+k;}if(!i){i=j*0.3;}if(!f||f<Math.abs(k)){f=k;h=i/4;}else{h=i/(2*Math.PI)*Math.asin(k/f);}return f*Math.pow(2,-10*g)*Math.sin((g*j-h)*(2*Math.PI)/i)+k+e;},elasticBoth:function(g,e,k,j,f,i){var h;if(g===0){return e;}if((g/=j/2)===2){return e+k;}if(!i){i=j*(0.3*1.5);}if(!f||f<Math.abs(k)){f=k;h=i/4;}else{h=i/(2*Math.PI)*Math.asin(k/f);}if(g<1){return -0.5*(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e;}return f*Math.pow(2,-10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i)*0.5+k+e;},backIn:function(f,e,i,h,g){if(g===undefined){g=1.70158;}if(f===h){f-=0.001;}return i*(f/=h)*f*((g+1)*f-g)+e;},backOut:function(f,e,i,h,g){if(typeof g==="undefined"){g=1.70158;}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+e;},backBoth:function(f,e,i,h,g){if(typeof g==="undefined"){g=1.70158;}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+e;}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+e;},bounceIn:function(f,e,h,g){return h-b.Easing.bounceOut(g-f,0,h,g)+e;},bounceOut:function(f,e,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+e;}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+e;}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+e;}}}return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+e;},bounceBoth:function(f,e,h,g){if(f<g/2){return b.Easing.bounceIn(f*2,0,h,g)*0.5+e;}return b.Easing.bounceOut(f*2-g,0,h,g)*0.5+h*0.5+e;}};b.Easing=a;},"3.5.1",{requires:["anim-base"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-easing/anim-easing.js'
--- debian/extras/jslibs/yui/anim-easing/anim-easing.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-easing/anim-easing.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,356 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-easing', function(Y) {
8
9/*
10TERMS OF USE - EASING EQUATIONS
11Open source under the BSD License.
12Copyright 2001 Robert Penner All rights reserved.
13
14Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
15
16 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
17 * 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.
18 * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
19
20THIS 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.
21*/
22
23/**
24 * The easing module provides methods for customizing
25 * how an animation behaves during each run.
26 * @class Easing
27 * @module anim
28 * @submodule anim-easing
29 */
30
31var Easing = {
32
33 /**
34 * Uniform speed between points.
35 * @for Easing
36 * @method easeNone
37 * @param {Number} t Time value used to compute current value
38 * @param {Number} b Starting value
39 * @param {Number} c Delta between start and end values
40 * @param {Number} d Total length of animation
41 * @return {Number} The computed value for the current animation frame
42 */
43 easeNone: function (t, b, c, d) {
44 return c*t/d + b;
45 },
46
47 /**
48 * Begins slowly and accelerates towards end. (quadratic)
49 * @method easeIn
50 * @param {Number} t Time value used to compute current value
51 * @param {Number} b Starting value
52 * @param {Number} c Delta between start and end values
53 * @param {Number} d Total length of animation
54 * @return {Number} The computed value for the current animation frame
55 */
56 easeIn: function (t, b, c, d) {
57 return c*(t/=d)*t + b;
58 },
59
60 /**
61 * Begins quickly and decelerates towards end. (quadratic)
62 * @method easeOut
63 * @param {Number} t Time value used to compute current value
64 * @param {Number} b Starting value
65 * @param {Number} c Delta between start and end values
66 * @param {Number} d Total length of animation
67 * @return {Number} The computed value for the current animation frame
68 */
69 easeOut: function (t, b, c, d) {
70 return -c *(t/=d)*(t-2) + b;
71 },
72
73 /**
74 * Begins slowly and decelerates towards end. (quadratic)
75 * @method easeBoth
76 * @param {Number} t Time value used to compute current value
77 * @param {Number} b Starting value
78 * @param {Number} c Delta between start and end values
79 * @param {Number} d Total length of animation
80 * @return {Number} The computed value for the current animation frame
81 */
82 easeBoth: function (t, b, c, d) {
83 if ((t/=d/2) < 1) {
84 return c/2*t*t + b;
85 }
86
87 return -c/2 * ((--t)*(t-2) - 1) + b;
88 },
89
90 /**
91 * Begins slowly and accelerates towards end. (quartic)
92 * @method easeInStrong
93 * @param {Number} t Time value used to compute current value
94 * @param {Number} b Starting value
95 * @param {Number} c Delta between start and end values
96 * @param {Number} d Total length of animation
97 * @return {Number} The computed value for the current animation frame
98 */
99 easeInStrong: function (t, b, c, d) {
100 return c*(t/=d)*t*t*t + b;
101 },
102
103 /**
104 * Begins quickly and decelerates towards end. (quartic)
105 * @method easeOutStrong
106 * @param {Number} t Time value used to compute current value
107 * @param {Number} b Starting value
108 * @param {Number} c Delta between start and end values
109 * @param {Number} d Total length of animation
110 * @return {Number} The computed value for the current animation frame
111 */
112 easeOutStrong: function (t, b, c, d) {
113 return -c * ((t=t/d-1)*t*t*t - 1) + b;
114 },
115
116 /**
117 * Begins slowly and decelerates towards end. (quartic)
118 * @method easeBothStrong
119 * @param {Number} t Time value used to compute current value
120 * @param {Number} b Starting value
121 * @param {Number} c Delta between start and end values
122 * @param {Number} d Total length of animation
123 * @return {Number} The computed value for the current animation frame
124 */
125 easeBothStrong: function (t, b, c, d) {
126 if ((t/=d/2) < 1) {
127 return c/2*t*t*t*t + b;
128 }
129
130 return -c/2 * ((t-=2)*t*t*t - 2) + b;
131 },
132
133 /**
134 * Snap in elastic effect.
135 * @method elasticIn
136 * @param {Number} t Time value used to compute current value
137 * @param {Number} b Starting value
138 * @param {Number} c Delta between start and end values
139 * @param {Number} d Total length of animation
140 * @param {Number} a Amplitude (optional)
141 * @param {Number} p Period (optional)
142 * @return {Number} The computed value for the current animation frame
143 */
144
145 elasticIn: function (t, b, c, d, a, p) {
146 var s;
147 if (t === 0) {
148 return b;
149 }
150 if ( (t /= d) === 1 ) {
151 return b+c;
152 }
153 if (!p) {
154 p = d* 0.3;
155 }
156
157 if (!a || a < Math.abs(c)) {
158 a = c;
159 s = p/4;
160 }
161 else {
162 s = p/(2*Math.PI) * Math.asin (c/a);
163 }
164
165 return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
166 },
167
168 /**
169 * Snap out elastic effect.
170 * @method elasticOut
171 * @param {Number} t Time value used to compute current value
172 * @param {Number} b Starting value
173 * @param {Number} c Delta between start and end values
174 * @param {Number} d Total length of animation
175 * @param {Number} a Amplitude (optional)
176 * @param {Number} p Period (optional)
177 * @return {Number} The computed value for the current animation frame
178 */
179 elasticOut: function (t, b, c, d, a, p) {
180 var s;
181 if (t === 0) {
182 return b;
183 }
184 if ( (t /= d) === 1 ) {
185 return b+c;
186 }
187 if (!p) {
188 p=d * 0.3;
189 }
190
191 if (!a || a < Math.abs(c)) {
192 a = c;
193 s = p / 4;
194 }
195 else {
196 s = p/(2*Math.PI) * Math.asin (c/a);
197 }
198
199 return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
200 },
201
202 /**
203 * Snap both elastic effect.
204 * @method elasticBoth
205 * @param {Number} t Time value used to compute current value
206 * @param {Number} b Starting value
207 * @param {Number} c Delta between start and end values
208 * @param {Number} d Total length of animation
209 * @param {Number} a Amplitude (optional)
210 * @param {Number} p Period (optional)
211 * @return {Number} The computed value for the current animation frame
212 */
213 elasticBoth: function (t, b, c, d, a, p) {
214 var s;
215 if (t === 0) {
216 return b;
217 }
218
219 if ( (t /= d/2) === 2 ) {
220 return b+c;
221 }
222
223 if (!p) {
224 p = d*(0.3*1.5);
225 }
226
227 if ( !a || a < Math.abs(c) ) {
228 a = c;
229 s = p/4;
230 }
231 else {
232 s = p/(2*Math.PI) * Math.asin (c/a);
233 }
234
235 if (t < 1) {
236 return -0.5*(a*Math.pow(2,10*(t-=1)) *
237 Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
238 }
239 return a*Math.pow(2,-10*(t-=1)) *
240 Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b;
241 },
242
243
244 /**
245 * Backtracks slightly, then reverses direction and moves to end.
246 * @method backIn
247 * @param {Number} t Time value used to compute current value
248 * @param {Number} b Starting value
249 * @param {Number} c Delta between start and end values
250 * @param {Number} d Total length of animation
251 * @param {Number} s Overshoot (optional)
252 * @return {Number} The computed value for the current animation frame
253 */
254 backIn: function (t, b, c, d, s) {
255 if (s === undefined) {
256 s = 1.70158;
257 }
258 if (t === d) {
259 t -= 0.001;
260 }
261 return c*(t/=d)*t*((s+1)*t - s) + b;
262 },
263
264 /**
265 * Overshoots end, then reverses and comes back to end.
266 * @method backOut
267 * @param {Number} t Time value used to compute current value
268 * @param {Number} b Starting value
269 * @param {Number} c Delta between start and end values
270 * @param {Number} d Total length of animation
271 * @param {Number} s Overshoot (optional)
272 * @return {Number} The computed value for the current animation frame
273 */
274 backOut: function (t, b, c, d, s) {
275 if (typeof s === 'undefined') {
276 s = 1.70158;
277 }
278 return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
279 },
280
281 /**
282 * Backtracks slightly, then reverses direction, overshoots end,
283 * then reverses and comes back to end.
284 * @method backBoth
285 * @param {Number} t Time value used to compute current value
286 * @param {Number} b Starting value
287 * @param {Number} c Delta between start and end values
288 * @param {Number} d Total length of animation
289 * @param {Number} s Overshoot (optional)
290 * @return {Number} The computed value for the current animation frame
291 */
292 backBoth: function (t, b, c, d, s) {
293 if (typeof s === 'undefined') {
294 s = 1.70158;
295 }
296
297 if ((t /= d/2 ) < 1) {
298 return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
299 }
300 return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
301 },
302
303 /**
304 * Bounce off of start.
305 * @method bounceIn
306 * @param {Number} t Time value used to compute current value
307 * @param {Number} b Starting value
308 * @param {Number} c Delta between start and end values
309 * @param {Number} d Total length of animation
310 * @return {Number} The computed value for the current animation frame
311 */
312 bounceIn: function (t, b, c, d) {
313 return c - Y.Easing.bounceOut(d-t, 0, c, d) + b;
314 },
315
316 /**
317 * Bounces off end.
318 * @method bounceOut
319 * @param {Number} t Time value used to compute current value
320 * @param {Number} b Starting value
321 * @param {Number} c Delta between start and end values
322 * @param {Number} d Total length of animation
323 * @return {Number} The computed value for the current animation frame
324 */
325 bounceOut: function (t, b, c, d) {
326 if ((t/=d) < (1/2.75)) {
327 return c*(7.5625*t*t) + b;
328 } else if (t < (2/2.75)) {
329 return c*(7.5625*(t-=(1.5/2.75))*t + 0.75) + b;
330 } else if (t < (2.5/2.75)) {
331 return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b;
332 }
333 return c*(7.5625*(t-=(2.625/2.75))*t + 0.984375) + b;
334 },
335
336 /**
337 * Bounces off start and end.
338 * @method bounceBoth
339 * @param {Number} t Time value used to compute current value
340 * @param {Number} b Starting value
341 * @param {Number} c Delta between start and end values
342 * @param {Number} d Total length of animation
343 * @return {Number} The computed value for the current animation frame
344 */
345 bounceBoth: function (t, b, c, d) {
346 if (t < d/2) {
347 return Y.Easing.bounceIn(t * 2, 0, c, d) * 0.5 + b;
348 }
349 return Y.Easing.bounceOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;
350 }
351};
352
353Y.Easing = Easing;
354
355
356}, '3.5.1' ,{requires:['anim-base']});
0357
=== added directory 'debian/extras/jslibs/yui/anim-node-plugin'
=== added file 'debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-debug.js'
--- debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,32 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-node-plugin', function(Y) {
8
9/**
10 * Binds an Anim instance to a Node instance
11 * @module anim
12 * @class Plugin.NodeFX
13 * @extends Base
14 * @submodule anim-node-plugin
15 */
16
17var NodeFX = function(config) {
18 config = (config) ? Y.merge(config) : {};
19 config.node = config.host;
20 NodeFX.superclass.constructor.apply(this, arguments);
21};
22
23NodeFX.NAME = "nodefx";
24NodeFX.NS = "fx";
25
26Y.extend(NodeFX, Y.Anim);
27
28Y.namespace('Plugin');
29Y.Plugin.NodeFX = NodeFX;
30
31
32}, '3.5.1' ,{requires:['node-pluginhost', 'anim-base']});
033
=== added file 'debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-min.js'
--- debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-node-plugin",function(b){var a=function(c){c=(c)?b.merge(c):{};c.node=c.host;a.superclass.constructor.apply(this,arguments);};a.NAME="nodefx";a.NS="fx";b.extend(a,b.Anim);b.namespace("Plugin");b.Plugin.NodeFX=a;},"3.5.1",{requires:["node-pluginhost","anim-base"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin.js'
--- debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-node-plugin/anim-node-plugin.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,32 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-node-plugin', function(Y) {
8
9/**
10 * Binds an Anim instance to a Node instance
11 * @module anim
12 * @class Plugin.NodeFX
13 * @extends Base
14 * @submodule anim-node-plugin
15 */
16
17var NodeFX = function(config) {
18 config = (config) ? Y.merge(config) : {};
19 config.node = config.host;
20 NodeFX.superclass.constructor.apply(this, arguments);
21};
22
23NodeFX.NAME = "nodefx";
24NodeFX.NS = "fx";
25
26Y.extend(NodeFX, Y.Anim);
27
28Y.namespace('Plugin');
29Y.Plugin.NodeFX = NodeFX;
30
31
32}, '3.5.1' ,{requires:['node-pluginhost', 'anim-base']});
033
=== added directory 'debian/extras/jslibs/yui/anim-scroll'
=== added file 'debian/extras/jslibs/yui/anim-scroll/anim-scroll-debug.js'
--- debian/extras/jslibs/yui/anim-scroll/anim-scroll-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-scroll/anim-scroll-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,44 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-scroll', function(Y) {
8
9/**
10 * Adds support for the <code>scroll</code> property in <code>to</code>
11 * and <code>from</code> attributes.
12 * @module anim
13 * @submodule anim-scroll
14 */
15
16var NUM = Number;
17
18//TODO: deprecate for scrollTop/Left properties?
19Y.Anim.behaviors.scroll = {
20 set: function(anim, att, from, to, elapsed, duration, fn) {
21 var
22 node = anim._node,
23 val = ([
24 fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),
25 fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)
26 ]);
27
28 if (val[0]) {
29 node.set('scrollLeft', val[0]);
30 }
31
32 if (val[1]) {
33 node.set('scrollTop', val[1]);
34 }
35 },
36 get: function(anim) {
37 var node = anim._node;
38 return [node.get('scrollLeft'), node.get('scrollTop')];
39 }
40};
41
42
43
44}, '3.5.1' ,{requires:['anim-base']});
045
=== added file 'debian/extras/jslibs/yui/anim-scroll/anim-scroll-min.js'
--- debian/extras/jslibs/yui/anim-scroll/anim-scroll-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-scroll/anim-scroll-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-scroll",function(b){var a=Number;b.Anim.behaviors.scroll={set:function(f,g,i,j,k,e,h){var d=f._node,c=([h(k,a(i[0]),a(j[0])-a(i[0]),e),h(k,a(i[1]),a(j[1])-a(i[1]),e)]);if(c[0]){d.set("scrollLeft",c[0]);}if(c[1]){d.set("scrollTop",c[1]);}},get:function(d){var c=d._node;return[c.get("scrollLeft"),c.get("scrollTop")];}};},"3.5.1",{requires:["anim-base"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-scroll/anim-scroll.js'
--- debian/extras/jslibs/yui/anim-scroll/anim-scroll.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-scroll/anim-scroll.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,44 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-scroll', function(Y) {
8
9/**
10 * Adds support for the <code>scroll</code> property in <code>to</code>
11 * and <code>from</code> attributes.
12 * @module anim
13 * @submodule anim-scroll
14 */
15
16var NUM = Number;
17
18//TODO: deprecate for scrollTop/Left properties?
19Y.Anim.behaviors.scroll = {
20 set: function(anim, att, from, to, elapsed, duration, fn) {
21 var
22 node = anim._node,
23 val = ([
24 fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),
25 fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)
26 ]);
27
28 if (val[0]) {
29 node.set('scrollLeft', val[0]);
30 }
31
32 if (val[1]) {
33 node.set('scrollTop', val[1]);
34 }
35 },
36 get: function(anim) {
37 var node = anim._node;
38 return [node.get('scrollLeft'), node.get('scrollTop')];
39 }
40};
41
42
43
44}, '3.5.1' ,{requires:['anim-base']});
045
=== added directory 'debian/extras/jslibs/yui/anim-shape-transform'
=== added file 'debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-debug.js'
--- debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,112 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-shape-transform', function(Y) {
8
9/**
10 * Adds support for the <code>transform</code> attribute of <code>Graphic</code>
11 * <code>Shape</code> instances.
12 * @module anim
13 * @submodule anim-shape-transform
14 */
15 var NUM = Number,
16 TO,
17 TOSTRING;
18
19 Y.Anim.behaviors.transform = {
20 set: function(anim, att, from, to, elapsed, duration, fn) {
21 var node = anim._node,
22 transform = "",
23 transformTo,
24 transformFrom,
25 toArgs,
26 fromArgs,
27 i = 0,
28 j,
29 argLen,
30 len;
31 to = TO;
32 len = TO.length;
33 for(; i < len; ++i)
34 {
35 toArgs = to[i].concat();
36 fromArgs = from[i].concat();
37 transformTo = toArgs.shift();
38 transformFrom = fromArgs.shift();
39 argLen = toArgs.length;
40 transform += transformTo + "(";
41 for(j = 0; j < argLen; ++j)
42 {
43 transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);
44 if(j < argLen - 1)
45 {
46 transform += ", ";
47 }
48 }
49 transform += ");";
50 }
51 if(transform)
52 {
53 node.set('transform', transform);
54 }
55 node._transform = TOSTRING;
56 },
57
58 get: function(anim) {
59 var node = anim._node,
60 fromMatrix = node.matrix,
61 toAttr = anim.get("to") || {},
62 toString = anim.get("to").transform,
63 fromString = node.get("transform"),
64 toArray = Y.MatrixUtil.getTransformArray(toString),
65 fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,
66 toMatrix,
67 i,
68 len,
69 transformFunction,
70 from;
71 if(toArray)
72 {
73 if(!fromArray || fromArray.length < 1)
74 {
75 fromArray = [];
76 len = toArray.length;
77 for(i = 0; i < len; ++i)
78 {
79 transformFunction = toArray[i][0];
80 fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);
81 }
82 TO = toArray;
83 from = fromArray;
84 }
85 else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))
86 {
87 TO = toArray;
88 from = fromArray;
89 }
90 else
91 {
92 toMatrix = new Y.Matrix();
93 len = toArray.length;
94 for(i = 0; i < len; ++i)
95 {
96 transformFunction = toArray[i].shift();
97 transformFunction = transformFunction == "matrix" ? "multiply" : transformFunction;
98 toMatrix[transformFunction].apply(toMatrix, toArray[i]);
99 }
100
101 TO = toMatrix.decompose();
102 from = fromMatrix.decompose();
103 }
104 }
105 TOSTRING = toString;
106 return from;
107 }
108 };
109
110
111
112}, '3.5.1' ,{requires:['anim-base','matrix']});
0113
=== added file 'debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-min.js'
--- debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-shape-transform",function(d){var b=Number,a,c;d.Anim.behaviors.transform={set:function(k,q,t,u,v,h,s){var g=k._node,f="",r,n,w,e,m=0,l,p,o;u=a;o=a.length;for(;m<o;++m){w=u[m].concat();e=t[m].concat();r=w.shift();n=e.shift();p=w.length;f+=r+"(";for(l=0;l<p;++l){f+=s(v,b(e[l]),b(w[l])-b(e[l]),h);if(l<p-1){f+=", ";}}f+=");";}if(f){g.set("transform",f);}g._transform=c;},get:function(k){var j=k._node,h=j.matrix,r=k.get("to")||{},e=k.get("to").transform,g=j.get("transform"),l=d.MatrixUtil.getTransformArray(e),q=g?d.MatrixUtil.getTransformArray(g):null,n,m,o,f,p;if(l){if(!q||q.length<1){q=[];o=l.length;for(m=0;m<o;++m){f=l[m][0];q[m]=d.MatrixUtil.getTransformFunctionArray(f);}a=l;p=q;}else{if(d.MatrixUtil.compareTransformSequence(l,q)){a=l;p=q;}else{n=new d.Matrix();o=l.length;for(m=0;m<o;++m){f=l[m].shift();f=f=="matrix"?"multiply":f;n[f].apply(n,l[m]);}a=n.decompose();p=h.decompose();}}}c=e;return p;}};},"3.5.1",{requires:["anim-base","matrix"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform.js'
--- debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-shape-transform/anim-shape-transform.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,112 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-shape-transform', function(Y) {
8
9/**
10 * Adds support for the <code>transform</code> attribute of <code>Graphic</code>
11 * <code>Shape</code> instances.
12 * @module anim
13 * @submodule anim-shape-transform
14 */
15 var NUM = Number,
16 TO,
17 TOSTRING;
18
19 Y.Anim.behaviors.transform = {
20 set: function(anim, att, from, to, elapsed, duration, fn) {
21 var node = anim._node,
22 transform = "",
23 transformTo,
24 transformFrom,
25 toArgs,
26 fromArgs,
27 i = 0,
28 j,
29 argLen,
30 len;
31 to = TO;
32 len = TO.length;
33 for(; i < len; ++i)
34 {
35 toArgs = to[i].concat();
36 fromArgs = from[i].concat();
37 transformTo = toArgs.shift();
38 transformFrom = fromArgs.shift();
39 argLen = toArgs.length;
40 transform += transformTo + "(";
41 for(j = 0; j < argLen; ++j)
42 {
43 transform += fn(elapsed, NUM(fromArgs[j]), NUM(toArgs[j]) - NUM(fromArgs[j]), duration);
44 if(j < argLen - 1)
45 {
46 transform += ", ";
47 }
48 }
49 transform += ");";
50 }
51 if(transform)
52 {
53 node.set('transform', transform);
54 }
55 node._transform = TOSTRING;
56 },
57
58 get: function(anim) {
59 var node = anim._node,
60 fromMatrix = node.matrix,
61 toAttr = anim.get("to") || {},
62 toString = anim.get("to").transform,
63 fromString = node.get("transform"),
64 toArray = Y.MatrixUtil.getTransformArray(toString),
65 fromArray = fromString ? Y.MatrixUtil.getTransformArray(fromString) : null,
66 toMatrix,
67 i,
68 len,
69 transformFunction,
70 from;
71 if(toArray)
72 {
73 if(!fromArray || fromArray.length < 1)
74 {
75 fromArray = [];
76 len = toArray.length;
77 for(i = 0; i < len; ++i)
78 {
79 transformFunction = toArray[i][0];
80 fromArray[i] = Y.MatrixUtil.getTransformFunctionArray(transformFunction);
81 }
82 TO = toArray;
83 from = fromArray;
84 }
85 else if(Y.MatrixUtil.compareTransformSequence(toArray, fromArray))
86 {
87 TO = toArray;
88 from = fromArray;
89 }
90 else
91 {
92 toMatrix = new Y.Matrix();
93 len = toArray.length;
94 for(i = 0; i < len; ++i)
95 {
96 transformFunction = toArray[i].shift();
97 transformFunction = transformFunction == "matrix" ? "multiply" : transformFunction;
98 toMatrix[transformFunction].apply(toMatrix, toArray[i]);
99 }
100
101 TO = toMatrix.decompose();
102 from = fromMatrix.decompose();
103 }
104 }
105 TOSTRING = toString;
106 return from;
107 }
108 };
109
110
111
112}, '3.5.1' ,{requires:['anim-base','matrix']});
0113
=== added directory 'debian/extras/jslibs/yui/anim-xy'
=== added file 'debian/extras/jslibs/yui/anim-xy/anim-xy-debug.js'
--- debian/extras/jslibs/yui/anim-xy/anim-xy-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-xy/anim-xy-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,32 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-xy', function(Y) {
8
9/**
10 * Adds support for the <code>xy</code> property in <code>from</code> and
11 * <code>to</code> attributes.
12 * @module anim
13 * @submodule anim-xy
14 */
15
16var NUM = Number;
17
18Y.Anim.behaviors.xy = {
19 set: function(anim, att, from, to, elapsed, duration, fn) {
20 anim._node.setXY([
21 fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),
22 fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)
23 ]);
24 },
25 get: function(anim) {
26 return anim._node.getXY();
27 }
28};
29
30
31
32}, '3.5.1' ,{requires:['anim-base', 'node-screen']});
033
=== added file 'debian/extras/jslibs/yui/anim-xy/anim-xy-min.js'
--- debian/extras/jslibs/yui/anim-xy/anim-xy-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-xy/anim-xy-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("anim-xy",function(b){var a=Number;b.Anim.behaviors.xy={set:function(f,d,i,h,c,g,e){f._node.setXY([e(c,a(i[0]),a(h[0])-a(i[0]),g),e(c,a(i[1]),a(h[1])-a(i[1]),g)]);},get:function(c){return c._node.getXY();}};},"3.5.1",{requires:["anim-base","node-screen"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/anim-xy/anim-xy.js'
--- debian/extras/jslibs/yui/anim-xy/anim-xy.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/anim-xy/anim-xy.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,32 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('anim-xy', function(Y) {
8
9/**
10 * Adds support for the <code>xy</code> property in <code>from</code> and
11 * <code>to</code> attributes.
12 * @module anim
13 * @submodule anim-xy
14 */
15
16var NUM = Number;
17
18Y.Anim.behaviors.xy = {
19 set: function(anim, att, from, to, elapsed, duration, fn) {
20 anim._node.setXY([
21 fn(elapsed, NUM(from[0]), NUM(to[0]) - NUM(from[0]), duration),
22 fn(elapsed, NUM(from[1]), NUM(to[1]) - NUM(from[1]), duration)
23 ]);
24 },
25 get: function(anim) {
26 return anim._node.getXY();
27 }
28};
29
30
31
32}, '3.5.1' ,{requires:['anim-base', 'node-screen']});
033
=== added directory 'debian/extras/jslibs/yui/app-base'
=== added file 'debian/extras/jslibs/yui/app-base/app-base-debug.js'
--- debian/extras/jslibs/yui/app-base/app-base-debug.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/app-base/app-base-debug.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,1142 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('app-base', function(Y) {
8
9/**
10The App Framework provides simple MVC-like building blocks (models, model lists,
11views, and URL-based routing) for writing single-page JavaScript applications.
12
13@main app
14@module app
15@since 3.4.0
16**/
17
18/**
19Provides a top-level application component which manages navigation and views.
20
21@module app
22@submodule app-base
23@since 3.5.0
24**/
25
26// TODO: Better handling of lifecycle for registered views:
27//
28// * [!] Just redo basically everything with view management so there are no
29// pre-`activeViewChange` side effects and handle the rest of these things:
30//
31// * Seems like any view created via `createView` should listen for the view's
32// `destroy` event and use that to remove it from the `_viewsInfoMap`. I
33// should look at what ModelList does for Models as a reference.
34//
35// * Should we have a companion `destroyView()` method? Maybe this wouldn't be
36// needed if we have a `getView(name, create)` method, and already doing the
37// above? We could do `app.getView('foo').destroy()` and it would be removed
38// from the `_viewsInfoMap` as well.
39//
40// * Should we wait to call a view's `render()` method inside of the
41// `_attachView()` method?
42//
43// * Should named views support a collection of instances instead of just one?
44//
45
46var Lang = Y.Lang,
47 YObject = Y.Object,
48
49 PjaxBase = Y.PjaxBase,
50 Router = Y.Router,
51 View = Y.View,
52
53 getClassName = Y.ClassNameManager.getClassName,
54
55 win = Y.config.win,
56
57 App;
58
59/**
60Provides a top-level application component which manages navigation and views.
61
62This gives you a foundation and structure on which to build your application; it
63combines robust URL navigation with powerful routing and flexible view
64management.
65
66@class App.Base
67@param {Object} [config] The following are configuration properties that can be
68 specified _in addition_ to default attribute values and the non-attribute
69 properties provided by `Y.Base`:
70 @param {Object} [config.views] Hash of view-name to metadata used to
71 declaratively describe an application's views and their relationship with
72 the app and other views. The views specified here will override any defaults
73 provided by the `views` object on the `prototype`.
74@constructor
75@extends Base
76@uses View
77@uses Router
78@uses PjaxBase
79@since 3.5.0
80**/
81App = Y.Base.create('app', Y.Base, [View, Router, PjaxBase], {
82 // -- Public Properties ----------------------------------------------------
83
84 /**
85 Hash of view-name to metadata used to declaratively describe an
86 application's views and their relationship with the app and its other views.
87
88 The view metadata is composed of Objects keyed to a view-name that can have
89 any or all of the following properties:
90
91 * `type`: Function or a string representing the view constructor to use to
92 create view instances. If a string is used, the constructor function is
93 assumed to be on the `Y` object; e.g. `"SomeView"` -> `Y.SomeView`.
94
95 * `preserve`: Boolean for whether the view instance should be retained. By
96 default, the view instance will be destroyed when it is no longer the
97 `activeView`. If `true` the view instance will simply be `removed()`
98 from the DOM when it is no longer active. This is useful when the view
99 is frequently used and may be expensive to re-create.
100
101 * `parent`: String to another named view in this hash that represents the
102 parent view within the application's view hierarchy; e.g. a `"photo"`
103 view could have `"album"` has its `parent` view. This parent/child
104 relationship is a useful cue for things like transitions.
105
106 * `instance`: Used internally to manage the current instance of this named
107 view. This can be used if your view instance is created up-front, or if
108 you would rather manage the View lifecycle, but you probably should just
109 let this be handled for you.
110
111 If `views` are specified at instantiation time, the metadata in the `views`
112 Object here will be used as defaults when creating the instance's `views`.
113
114 Every `Y.App` instance gets its own copy of a `views` object so this Object
115 on the prototype will not be polluted.
116
117 @example
118 // Imagine that `Y.UsersView` and `Y.UserView` have been defined.
119 var app = new Y.App({
120 views: {
121 users: {
122 type : Y.UsersView,
123 preserve: true
124 },
125
126 user: {
127 type : Y.UserView,
128 parent: 'users'
129 }
130 }
131 });
132
133 @property views
134 @type Object
135 @default {}
136 @since 3.5.0
137 **/
138 views: {},
139
140 // -- Protected Properties -------------------------------------------------
141
142 /**
143 Map of view instance id (via `Y.stamp()`) to view-info object in `views`.
144
145 This mapping is used to tie a specific view instance back to its metadata by
146 adding a reference to the the related view info on the `views` object.
147
148 @property _viewInfoMap
149 @type Object
150 @default {}
151 @protected
152 @since 3.5.0
153 **/
154
155 // -- Lifecycle Methods ----------------------------------------------------
156 initializer: function (config) {
157 config || (config = {});
158
159 var views = {};
160
161 // Merges-in specified view metadata into local `views` object.
162 function mergeViewConfig(view, name) {
163 views[name] = Y.merge(views[name], view);
164 }
165
166 // First, each view in the `views` prototype object gets its metadata
167 // merged-in, providing the defaults.
168 YObject.each(this.views, mergeViewConfig);
169
170 // Then, each view in the specified `config.views` object gets its
171 // metadata merged-in.
172 YObject.each(config.views, mergeViewConfig);
173
174 // The resulting hodgepodge of metadata is then stored as the instance's
175 // `views` object, and no one's objects were harmed in the making.
176 this.views = views;
177 this._viewInfoMap = {};
178
179 // Using `bind()` to aid extensibility.
180 this.after('activeViewChange', Y.bind('_afterActiveViewChange', this));
181
182 // PjaxBase will bind click events when `html5` is `true`, so this just
183 // forces the binding when `serverRouting` and `html5` are both falsy.
184 if (!this.get('serverRouting')) {
185 this._pjaxBindUI();
186 }
187 },
188
189 // TODO: `destructor` to destroy the `activeView`?
190
191 // -- Public Methods -------------------------------------------------------
192
193 /**
194 Creates and returns a new view instance using the provided `name` to look up
195 the view info metadata defined in the `views` object. The passed-in `config`
196 object is passed to the view constructor function.
197
198 This function also maps a view instance back to its view info metadata.
199
200 @method createView
201 @param {String} name The name of a view defined on the `views` object.
202 @param {Object} [config] The configuration object passed to the view
203 constructor function when creating the new view instance.
204 @return {View} The new view instance.
205 @since 3.5.0
206 **/
207 createView: function (name, config) {
208 var viewInfo = this.getViewInfo(name),
209 type = (viewInfo && viewInfo.type) || View,
210 ViewConstructor, view;
211
212 // Looks for a namespaced constructor function on `Y`.
213 ViewConstructor = Lang.isString(type) ?
214 YObject.getValue(Y, type.split('.')) : type;
215
216 // Create the view instance and map it with its metadata.
217 view = new ViewConstructor(config);
218 this._viewInfoMap[Y.stamp(view, true)] = viewInfo;
219
220 return view;
221 },
222
223 /**
224 Returns the metadata associated with a view instance or view name defined on
225 the `views` object.
226
227 @method getViewInfo
228 @param {View|String} view View instance, or name of a view defined on the
229 `views` object.
230 @return {Object} The metadata for the view, or `undefined` if the view is
231 not registered.
232 @since 3.5.0
233 **/
234 getViewInfo: function (view) {
235 if (Lang.isString(view)) {
236 return this.views[view];
237 }
238
239 return view && this._viewInfoMap[Y.stamp(view, true)];
240 },
241
242 /**
243 Navigates to the specified URL if there is a route handler that matches. In
244 browsers capable of using HTML5 history or when `serverRouting` is falsy,
245 the navigation will be enhanced by firing the `navigate` event and having
246 the app handle the "request". When `serverRouting` is `true`, non-HTML5
247 browsers will navigate to the new URL via a full page reload.
248
249 When there is a route handler for the specified URL and it is being
250 navigated to, this method will return `true`, otherwise it will return
251 `false`.
252
253 **Note:** The specified URL _must_ be of the same origin as the current URL,
254 otherwise an error will be logged and navigation will not occur. This is
255 intended as both a security constraint and a purposely imposed limitation as
256 it does not make sense to tell the app to navigate to a URL on a
257 different scheme, host, or port.
258
259 @method navigate
260 @param {String} url The URL to navigate to. This must be of the same origin
261 as the current URL.
262 @param {Object} [options] Additional options to configure the navigation.
263 These are mixed into the `navigate` event facade.
264 @param {Boolean} [options.replace] Whether or not the current history
265 entry will be replaced, or a new entry will be created. Will default
266 to `true` if the specified `url` is the same as the current URL.
267 @param {Boolean} [options.force] Whether the enhanced navigation
268 should occur even in browsers without HTML5 history. Will default to
269 `true` when `serverRouting` is falsy.
270 @see PjaxBase.navigate()
271 **/
272 // Does not override `navigate()` but does use extra `options`.
273
274 /**
275 Renders this application by appending the `viewContainer` node to the
276 `container` node if it isn't already a child of the container, and the
277 `activeView` will be appended the view container, if it isn't already.
278
279 You should call this method at least once, usually after the initialization
280 of your app instance so the proper DOM structure is setup and optionally
281 append the container to the DOM if it's not there already.
282
283 You may override this method to customize the app's rendering, but you
284 should expect that the `viewContainer`'s contents will be modified by the
285 app for the purpose of rendering the `activeView` when it changes.
286
287 @method render
288 @chainable
289 @see View.render()
290 **/
291 render: function () {
292 var container = this.get('container'),
293 viewContainer = this.get('viewContainer'),
294 activeView = this.get('activeView'),
295 activeViewContainer = activeView && activeView.get('container'),
296 areSame = container.compareTo(viewContainer);
297
298 container.addClass(App.CSS_CLASS);
299 viewContainer.addClass(App.VIEWS_CSS_CLASS);
300
301 // Prevents needless shuffling around of nodes and maintains DOM order.
302 if (activeView && !viewContainer.contains(activeViewContainer)) {
303 viewContainer.appendChild(activeViewContainer);
304 }
305
306 // Prevents needless shuffling around of nodes and maintains DOM order.
307 if (!container.contains(viewContainer) && !areSame) {
308 container.appendChild(viewContainer);
309 }
310
311 return this;
312 },
313
314 /**
315 Sets which view is active/visible for the application. This will set the
316 app's `activeView` attribute to the specified `view`.
317
318 The `view` will be "attached" to this app, meaning it will be both rendered
319 into this app's `viewContainer` node and all of its events will bubble to
320 the app. The previous `activeView` will be "detached" from this app.
321
322 When a string-name is provided for a view which has been registered on this
323 app's `views` object, the referenced metadata will be used and the
324 `activeView` will be set to either a preserved view instance, or a new
325 instance of the registered view will be created using the specified `config`
326 object passed-into this method.
327
328 A callback function can be specified as either the third or fourth argument,
329 and this function will be called after the new `view` becomes the
330 `activeView`, is rendered to the `viewContainer`, and is ready to use.
331
332 @example
333 var app = new Y.App({
334 views: {
335 usersView: {
336 // Imagine that `Y.UsersView` has been defined.
337 type: Y.UsersView
338 }
339 },
340
341 users: new Y.ModelList()
342 });
343
344 app.route('/users/', function () {
345 this.showView('usersView', {users: this.get('users')});
346 });
347
348 app.render();
349 app.navigate('/uses/'); // => Creates a new `Y.UsersView` and shows it.
350
351 @method showView
352 @param {String|View} view The name of a view defined in the `views` object,
353 or a view instance which should become this app's `activeView`.
354 @param {Object} [config] Optional configuration to use when creating a new
355 view instance. This config object can also be used to update an existing
356 or preserved view's attributes when `options.update` is `true`.
357 @param {Object} [options] Optional object containing any of the following
358 properties:
359 @param {Function} [options.callback] Optional callback function to call
360 after new `activeView` is ready to use, the function will be passed:
361 @param {View} options.callback.view A reference to the new
362 `activeView`.
363 @param {Boolean} [options.prepend=false] Whether the `view` should be
364 prepended instead of appended to the `viewContainer`.
365 @param {Boolean} [options.render] Whether the `view` should be rendered.
366 **Note:** If no value is specified, a view instance will only be
367 rendered if it's newly created by this method.
368 @param {Boolean} [options.update=false] Whether an existing view should
369 have its attributes updated by passing the `config` object to its
370 `setAttrs()` method. **Note:** This option does not have an effect if
371 the `view` instance is created as a result of calling this method.
372 @param {Function} [callback] Optional callback Function to call after the
373 new `activeView` is ready to use. **Note:** this will override
374 `options.callback` and it can be specified as either the third or fourth
375 argument. The function will be passed the following:
376 @param {View} callback.view A reference to the new `activeView`.
377 @chainable
378 @since 3.5.0
379 **/
380 showView: function (view, config, options, callback) {
381 var viewInfo, created;
382
383 options || (options = {});
384
385 // Support the callback function being either the third or fourth arg.
386 if (callback) {
387 options.callback = callback;
388 } else if (Lang.isFunction(options)) {
389 options = {callback: options};
390 }
391
392 if (Lang.isString(view)) {
393 viewInfo = this.getViewInfo(view);
394
395 // Use the preserved view instance, or create a new view.
396 // TODO: Maybe we can remove the strict check for `preserve` and
397 // assume we'll use a View instance if it is there, and just check
398 // `preserve` when detaching?
399 if (viewInfo && viewInfo.preserve && viewInfo.instance) {
400 view = viewInfo.instance;
401
402 // Make sure there's a mapping back to the view metadata.
403 this._viewInfoMap[Y.stamp(view, true)] = viewInfo;
404 } else {
405 // TODO: Add the app as a bubble target during construction, but
406 // make sure to check that it isn't already in `bubbleTargets`!
407 // This will allow the app to be notified for about _all_ of the
408 // view's events. **Note:** This should _only_ happen if the
409 // view is created _after_ `activeViewChange`.
410
411 view = this.createView(view, config);
412 created = true;
413 }
414 }
415
416 // Update the specified or preserved `view` when signaled to do so.
417 // There's no need to updated a view if it was _just_ created.
418 if (options.update && !created) {
419 view.setAttrs(config);
420 }
421
422 // TODO: Hold off on rendering the view until after it has been
423 // "attached", and move the call to render into `_attachView()`.
424
425 // When a value is specified for `options.render`, prefer it because it
426 // represents the developer's intent. When no value is specified, the
427 // `view` will only be rendered if it was just created.
428 if ('render' in options) {
429 options.render && view.render();
430 } else if (created) {
431 view.render();
432 }
433
434 return this._set('activeView', view, {options: options});
435 },
436
437 // -- Protected Methods ----------------------------------------------------
438
439 /**
440 Helper method to attach the view instance to the application by making the
441 app a bubble target of the view, append the view to the `viewContainer`, and
442 assign it to the `instance` property of the associated view info metadata.
443
444 @method _attachView
445 @param {View} view View to attach.
446 @param {Boolean} prepend=false Whether the view should be prepended instead
447 of appended to the `viewContainer`.
448 @protected
449 @since 3.5.0
450 **/
451 _attachView: function (view, prepend) {
452 if (!view) {
453 return;
454 }
455
456 var viewInfo = this.getViewInfo(view),
457 viewContainer = this.get('viewContainer');
458
459 view.addTarget(this);
460 viewInfo && (viewInfo.instance = view);
461
462 // TODO: Attach events here for persevered Views?
463 // See related TODO in `_detachView`.
464
465 // TODO: Actually render the view here so that it gets "attached" before
466 // it gets rendered?
467
468 // Insert view into the DOM.
469 viewContainer[prepend ? 'prepend' : 'append'](view.get('container'));
470 },
471
472 /**
473 Overrides View's container destruction to deal with the `viewContainer` and
474 checks to make sure not to remove and purge the `<body>`.
475
476 @method _destroyContainer
477 @protected
478 @see View._destroyContainer()
479 **/
480 _destroyContainer: function () {
481 var container = this.get('container'),
482 viewContainer = this.get('viewContainer'),
483 areSame = container.compareTo(viewContainer);
484
485 // We do not want to remove or destroy the `<body>`.
486 if (Y.one('body').compareTo(container)) {
487 // Just clean-up our events listeners.
488 this.detachEvents();
489
490 // Clean-up `yui3-app` CSS class on the `container`.
491 container && container.removeClass(App.CSS_CLASS);
492
493 if (areSame) {
494 // Clean-up `yui3-app-views` CSS class on the `container`.
495 container && container.removeClass(App.VIEWS_CSS_CLASS);
496 } else {
497 // Destroy and purge the `viewContainer`.
498 viewContainer && viewContainer.remove(true);
499 }
500
501 return;
502 }
503
504 // Remove and purge events from both containers.
505 viewContainer && viewContainer.remove(true);
506 !areSame && container && container.remove(true);
507 },
508
509 /**
510 Helper method to detach the view instance from the application by removing
511 the application as a bubble target of the view, and either just removing the
512 view if it is intended to be preserved, or destroying the instance
513 completely.
514
515 @method _detachView
516 @param {View} view View to detach.
517 @protected
518 @since 3.5.0
519 **/
520 _detachView: function (view) {
521 if (!view) {
522 return;
523 }
524
525 var viewInfo = this.getViewInfo(view) || {};
526
527 if (viewInfo.preserve) {
528 view.remove();
529 // TODO: Detach events here for preserved Views? It is possible that
530 // some event subscriptions are made on elements other than the
531 // View's `container`.
532 } else {
533 view.destroy({remove: true});
534
535 // TODO: The following should probably happen automagically from
536 // `destroy()` being called! Possibly `removeTarget()` as well.
537
538 // Remove from view to view-info map.
539 delete this._viewInfoMap[Y.stamp(view, true)];
540
541 // Remove from view-info instance property.
542 if (view === viewInfo.instance) {
543 delete viewInfo.instance;
544 }
545 }
546
547 view.removeTarget(this);
548 },
549
550 /**
551 Getter for the `viewContainer` attribute.
552
553 @method _getViewContainer
554 @param {Node|null} value Current attribute value.
555 @return {Node} View container node.
556 @protected
557 @since 3.5.0
558 **/
559 _getViewContainer: function (value) {
560 // This wackiness is necessary to enable fully lazy creation of the
561 // container node both when no container is specified and when one is
562 // specified via a valueFn.
563
564 if (!value && !this._viewContainer) {
565 // Create a default container and set that as the new attribute
566 // value. The `this._viewContainer` property prevents infinite
567 // recursion.
568 value = this._viewContainer = this.create();
569 this._set('viewContainer', value);
570 }
571
572 return value;
573 },
574
575 /**
576 Gets the current full URL. When `html5` is false, the URL will first be
577 upgraded before it's returned.
578
579 @method _getURL
580 @return {String} URL.
581 @protected
582 @see Router._getURL()
583 **/
584 _getURL: function () {
585 var url = Y.getLocation().toString();
586 return this._html5 ? url : this._upgradeURL(url);
587 },
588
589 /**
590 Provides the default value for the `html5` attribute.
591
592 The value returned is dependent on the value of the `serverRouting`
593 attribute. When `serverRouting` is explicit set to `false` (not just falsy),
594 the default value for `html5` will be set to `false` for *all* browsers.
595
596 When `serverRouting` is `true` or `undefined` the returned value will be
597 dependent on the browser's capability of using HTML5 history.
598
599 @method _initHtml5
600 @return {Boolean} Whether or not HTML5 history should be used.
601 @protected
602 @since 3.5.0
603 **/
604 _initHtml5: function () {
605 // When `serverRouting` is explicitly set to `false` (not just falsy),
606 // forcing hash-based URLs in all browsers.
607 if (this.get('serverRouting') === false) {
608 return false;
609 } else {
610 return Router.html5;
611 }
612 },
613
614 /**
615 Determines if the specified `view` is configured as a child of the specified
616 `parent` view. This requires both views to be either named-views, or view
617 instances created using configuration data that exists in the `views`
618 object, e.g. created by the `createView()` or `showView()` method.
619
620 @method _isChildView
621 @param {View|String} view The name of a view defined in the `views` object,
622 or a view instance.
623 @param {View|String} parent The name of a view defined in the `views`
624 object, or a view instance.
625 @return {Boolean} Whether the view is configured as a child of the parent.
626 @protected
627 @since 3.5.0
628 **/
629 _isChildView: function (view, parent) {
630 var viewInfo = this.getViewInfo(view),
631 parentInfo = this.getViewInfo(parent);
632
633 if (viewInfo && parentInfo) {
634 return this.getViewInfo(viewInfo.parent) === parentInfo;
635 }
636
637 return false;
638 },
639
640 /**
641 Determines if the specified `view` is configured as the parent of the
642 specified `child` view. This requires both views to be either named-views,
643 or view instances created using configuration data that exists in the
644 `views` object, e.g. created by the `createView()` or `showView()` method.
645
646 @method _isParentView
647 @param {View|String} view The name of a view defined in the `views` object,
648 or a view instance.
649 @param {View|String} parent The name of a view defined in the `views`
650 object, or a view instance.
651 @return {Boolean} Whether the view is configured as the parent of the child.
652 @protected
653 @since 3.5.0
654 **/
655 _isParentView: function (view, child) {
656 var viewInfo = this.getViewInfo(view),
657 childInfo = this.getViewInfo(child);
658
659 if (viewInfo && childInfo) {
660 return this.getViewInfo(childInfo.parent) === viewInfo;
661 }
662
663 return false;
664 },
665
666 /**
667 Underlying implementation for `navigate()`.
668
669 @method _navigate
670 @param {String} url The fully-resolved URL that the app should dispatch to
671 its route handlers to fulfill the enhanced navigation "request", or use to
672 update `window.location` in non-HTML5 history capable browsers when
673 `serverRouting` is `true`.
674 @param {Object} [options] Additional options to configure the navigation.
675 These are mixed into the `navigate` event facade.
676 @param {Boolean} [options.replace] Whether or not the current history
677 entry will be replaced, or a new entry will be created. Will default
678 to `true` if the specified `url` is the same as the current URL.
679 @param {Boolean} [options.force] Whether the enhanced navigation
680 should occur even in browsers without HTML5 history. Will default to
681 `true` when `serverRouting` is falsy.
682 @protected
683 @see PjaxBase._navigate()
684 **/
685 _navigate: function (url, options) {
686 url = this._upgradeURL(url);
687
688 options || (options = {});
689
690 if (!this.get('serverRouting')) {
691 // Force navigation to be enhanced and handled by the app when
692 // `serverRouting` is falsy because the server might not be able to
693 // properly handle the request.
694 'force' in options || (options.force = true);
695 }
696
697 return PjaxBase.prototype._navigate.call(this, url, options);
698 },
699
700 /**
701 Will either save a history entry using `pushState()` or the location hash,
702 or gracefully-degrade to sending a request to the server causing a full-page
703 reload.
704
705 Overrides Router's `_save()` method to preform graceful-degradation when the
706 app's `serverRouting` is `true` and `html5` is `false` by updating the full
707 URL via standard assignment to `window.location` or by calling
708 `window.location.replace()`; both of which will cause a request to the
709 server resulting in a full-page reload.
710
711 Otherwise this will just delegate off to Router's `_save()` method allowing
712 the client-side enhanced routing to occur.
713
714 @method _save
715 @param {String} [url] URL for the history entry.
716 @param {Boolean} [replace=false] If `true`, the current history entry will
717 be replaced instead of a new one being added.
718 @chainable
719 @protected
720 @see Router._save()
721 **/
722 _save: function (url, replace) {
723 // Forces full-path URLs to always be used by modifying
724 // `window.location` in non-HTML5 history capable browsers.
725 if (this.get('serverRouting') && !this.get('html5')) {
726 // Perform same-origin check on the specified URL.
727 if (!this._hasSameOrigin(url)) {
728 Y.error('Security error: The new URL must be of the same origin as the current URL.');
729 return this;
730 }
731
732 // Results in the URL's full path starting with '/'.
733 url = this._joinURL(url || '');
734
735 // Either replace the current history entry or create a new one
736 // while navigating to the `url`.
737 if (replace) {
738 win && win.location.replace(url);
739 } else {
740 win && (win.location = url);
741 }
742
743 return this;
744 }
745
746 return Router.prototype._save.apply(this, arguments);
747 },
748
749 /**
750 Performs the actual change of this app's `activeView` by attaching the
751 `newView` to this app, and detaching the `oldView` from this app using any
752 specified `options`.
753
754 The `newView` is attached to the app by rendering it to the `viewContainer`,
755 and making this app a bubble target of its events.
756
757 The `oldView` is detached from the app by removing it from the
758 `viewContainer`, and removing this app as a bubble target for its events.
759 The `oldView` will either be preserved or properly destroyed.
760
761 **Note:** The `activeView` attribute is read-only and can be changed by
762 calling the `showView()` method.
763
764 @method _uiSetActiveView
765 @param {View} newView The View which is now this app's `activeView`.
766 @param {View} [oldView] The View which was this app's `activeView`.
767 @param {Object} [options] Optional object containing any of the following
768 properties:
769 @param {Function} [options.callback] Optional callback function to call
770 after new `activeView` is ready to use, the function will be passed:
771 @param {View} options.callback.view A reference to the new
772 `activeView`.
773 @param {Boolean} [options.prepend=false] Whether the `view` should be
774 prepended instead of appended to the `viewContainer`.
775 @param {Boolean} [options.render] Whether the `view` should be rendered.
776 **Note:** If no value is specified, a view instance will only be
777 rendered if it's newly created by this method.
778 @param {Boolean} [options.update=false] Whether an existing view should
779 have its attributes updated by passing the `config` object to its
780 `setAttrs()` method. **Note:** This option does not have an effect if
781 the `view` instance is created as a result of calling this method.
782 @protected
783 @since 3.5.0
784 **/
785 _uiSetActiveView: function (newView, oldView, options) {
786 options || (options = {});
787
788 var callback = options.callback,
789 isChild = this._isChildView(newView, oldView),
790 isParent = !isChild && this._isParentView(newView, oldView),
791 prepend = !!options.prepend || isParent;
792
793 // Prevent detaching (thus removing) the view we want to show. Also hard
794 // to animate out and in, the same view.
795 if (newView === oldView) {
796 return callback && callback.call(this, newView);
797 }
798
799 this._attachView(newView, prepend);
800 this._detachView(oldView);
801
802 callback && callback.call(this, newView);
803 },
804
805 /**
806 Upgrades a hash-based URL to a full-path URL, if necessary.
807
808 The specified `url` will be upgraded if its of the same origin as the
809 current URL and has a path-like hash. URLs that don't need upgrading will be
810 returned as-is.
811
812 @example
813 app._upgradeURL('http://example.com/#/foo/'); // => 'http://example.com/foo/';
814
815 @method _upgradeURL
816 @param {String} url The URL to upgrade from hash-based to full-path.
817 @return {String} The upgraded URL, or the specified URL untouched.
818 @protected
819 @since 3.5.0
820 **/
821 _upgradeURL: function (url) {
822 // We should not try to upgrade paths for external URLs.
823 if (!this._hasSameOrigin(url)) {
824 return url;
825 }
826
827 // TODO: Should the `root` be removed first, and the hash only
828 // considered if in the form of '/#/'?
829 var hash = (url.match(/#(.*)$/) || [])[1] || '',
830 hashPrefix = Y.HistoryHash.hashPrefix;
831
832 // Strip any hash prefix, like hash-bangs.
833 if (hashPrefix && hash.indexOf(hashPrefix) === 0) {
834 hash = hash.replace(hashPrefix, '');
835 }
836
837 // If the hash looks like a URL path, assume it is, and upgrade it!
838 if (hash && hash.charAt(0) === '/') {
839 // Re-join with configured `root` before resolving.
840 url = this._resolveURL(this._joinURL(hash));
841 }
842
843 return url;
844 },
845
846 // -- Protected Event Handlers ---------------------------------------------
847
848 /**
849 Handles the application's `activeViewChange` event (which is fired when the
850 `activeView` attribute changes) by detaching the old view, attaching the new
851 view.
852
853 The `activeView` attribute is read-only, so the public API to change its
854 value is through the `showView()` method.
855
856 @method _afterActiveViewChange
857 @param {EventFacade} e
858 @protected
859 @since 3.5.0
860 **/
861 _afterActiveViewChange: function (e) {
862 this._uiSetActiveView(e.newVal, e.prevVal, e.options);
863 }
864}, {
865 ATTRS: {
866 /**
867 The application's active/visible view.
868
869 This attribute is read-only, to set the `activeView` use the
870 `showView()` method.
871
872 @attribute activeView
873 @type View
874 @default null
875 @readOnly
876 @see App.Base.showView()
877 @since 3.5.0
878 **/
879 activeView: {
880 value : null,
881 readOnly: true
882 },
883
884 /**
885 Container node which represents the application's bounding-box, into
886 which this app's content will be rendered.
887
888 The container node serves as the host for all DOM events attached by the
889 app. Delegation is used to handle events on children of the container,
890 allowing the container's contents to be re-rendered at any time without
891 losing event subscriptions.
892
893 The default container is the `<body>` Node, but you can override this in
894 a subclass, or by passing in a custom `container` config value at
895 instantiation time.
896
897 When `container` is overridden by a subclass or passed as a config
898 option at instantiation time, it may be provided as a selector string, a
899 DOM element, or a `Y.Node` instance. During initialization, this app's
900 `create()` method will be called to convert the container into a
901 `Y.Node` instance if it isn't one already and stamp it with the CSS
902 class: `"yui3-app"`.
903
904 The container is not added to the page automatically. This allows you to
905 have full control over how and when your app is actually rendered to
906 the page.
907
908 @attribute container
909 @type HTMLElement|Node|String
910 @default Y.one('body')
911 @initOnly
912 **/
913 container: {
914 valueFn: function () {
915 return Y.one('body');
916 }
917 },
918
919 /**
920 Whether or not this browser is capable of using HTML5 history.
921
922 This value is dependent on the value of `serverRouting` and will default
923 accordingly.
924
925 Setting this to `false` will force the use of hash-based history even on
926 HTML5 browsers, but please don't do this unless you understand the
927 consequences.
928
929 @attribute html5
930 @type Boolean
931 @initOnly
932 @see serverRouting
933 **/
934 html5: {
935 valueFn: '_initHtml5'
936 },
937
938 /**
939 CSS selector string used to filter link click events so that only the
940 links which match it will have the enhanced-navigation behavior of pjax
941 applied.
942
943 When a link is clicked and that link matches this selector, navigating
944 to the link's `href` URL using the enhanced, pjax, behavior will be
945 attempted; and the browser's default way to navigate to new pages will
946 be the fallback.
947
948 By default this selector will match _all_ links on the page.
949
950 @attribute linkSelector
951 @type String|Function
952 @default "a"
953 **/
954 linkSelector: {
955 value: 'a'
956 },
957
958 /**
959 Whether or not this application's server is capable of properly routing
960 all requests and rendering the initial state in the HTML responses.
961
962 This can have three different values, each having particular
963 implications on how the app will handle routing and navigation:
964
965 * `undefined`: The best form of URLs will be chosen based on the
966 capabilities of the browser. Given no information about the server
967 environmentm a balanced approach to routing and navigation is
968 chosen.
969
970 The server should be capable of handling full-path requests, since
971 full-URLs will be generated by browsers using HTML5 history. If this
972 is a client-side-only app the server could handle full-URL requests
973 by sending a redirect back to the root with a hash-based URL, e.g:
974
975 Request: http://example.com/users/1
976 Redirect to: http://example.com/#/users/1
977
978 * `true`: The server is *fully* capable of properly handling requests
979 to all full-path URLs the app can produce.
980
981 This is the best option for progressive-enhancement because it will
982 cause **all URLs to always have full-paths**, which means the server
983 will be able to accurately handle all URLs this app produces. e.g.
984
985 http://example.com/users/1
986
987 To meet this strict full-URL requirement, browsers which are not
988 capable of using HTML5 history will make requests to the server
989 resulting in full-page reloads.
990
991 * `false`: The server is *not* capable of properly handling requests
992 to all full-path URLs the app can produce, therefore all routing
993 will be handled by this App instance.
994
995 Be aware that this will cause **all URLs to always be hash-based**,
996 even in browsers that are capable of using HTML5 history. e.g.
997
998 http://example.com/#/users/1
999
1000 A single-page or client-side-only app where the server sends a
1001 "shell" page with JavaScript to the client might have this
1002 restriction. If you're setting this to `false`, read the following:
1003
1004 **Note:** When this is set to `false`, the server will *never* receive
1005 the full URL because browsers do not send the fragment-part to the
1006 server, that is everything after and including the "#".
1007
1008 Consider the following example:
1009
1010 URL shown in browser: http://example.com/#/users/1
1011 URL sent to server: http://example.com/
1012
1013 You should feel bad about hurting our precious web if you forcefully set
1014 either `serverRouting` or `html5` to `false`, because you're basically
1015 punching the web in the face here with your lossy URLs! Please make sure
1016 you know what you're doing and that you understand the implications.
1017
1018 Ideally you should always prefer full-path URLs (not /#/foo/), and want
1019 full-page reloads when the client's browser is not capable of enhancing
1020 the experience using the HTML5 history APIs. Setting this to `true` is
1021 the best option for progressive-enhancement (and graceful-degradation).
1022
1023 @attribute serverRouting
1024 @type Boolean
1025 @default undefined
1026 @initOnly
1027 @since 3.5.0
1028 **/
1029 serverRouting: {
1030 value : undefined,
1031 writeOnce: 'initOnly'
1032 },
1033
1034 /**
1035 The node into which this app's `views` will be rendered when they become
1036 the `activeView`.
1037
1038 The view container node serves as the container to hold the app's
1039 `activeView`. Each time the `activeView` is set via `showView()`, the
1040 previous view will be removed from this node, and the new active view's
1041 `container` node will be appended.
1042
1043 The default view container is a `<div>` Node, but you can override this
1044 in a subclass, or by passing in a custom `viewContainer` config value at
1045 instantiation time. The `viewContainer` may be provided as a selector
1046 string, DOM element, or a `Y.Node` instance (having the `viewContainer`
1047 and the `container` be the same node is also supported).
1048
1049 The app's `render()` method will stamp the view container with the CSS
1050 class `"yui3-app-views"` and append it to the app's `container` node if
1051 it isn't already, and any `activeView` will be appended to this node if
1052 it isn't already.
1053
1054 @attribute viewContainer
1055 @type HTMLElement|Node|String
1056 @default Y.Node.create(this.containerTemplate)
1057 @initOnly
1058 @since 3.5.0
1059 **/
1060 viewContainer: {
1061 getter : '_getViewContainer',
1062 setter : Y.one,
1063 writeOnce: true
1064 }
1065 },
1066
1067 // TODO: Should these go on the `prototype`?
1068 // TODO: These should also just go in a `CLASS_NAMES` object.
1069
1070 /**
1071 CSS class added to an app's `container` node.
1072
1073 @property CSS_CLASS
1074 @type String
1075 @default "yui3-app"
1076 @static
1077 @since 3.5.0
1078 **/
1079 CSS_CLASS: getClassName('app'),
1080
1081 /**
1082 CSS class added to an app's `viewContainer` node.
1083
1084 @property VIEWS_CSS_CLASS
1085 @type String
1086 @default "yui3-app-views"
1087 @static
1088 @since 3.5.0
1089 **/
1090 VIEWS_CSS_CLASS: getClassName('app', 'views'),
1091
1092 /**
1093 Properties that shouldn't be turned into ad-hoc attributes when passed to
1094 App's constructor.
1095
1096 @property _NON_ATTRS_CFG
1097 @type Array
1098 @static
1099 @protected
1100 @since 3.5.0
1101 **/
1102 _NON_ATTRS_CFG: ['views']
1103});
1104
1105// -- Namespace ----------------------------------------------------------------
1106Y.namespace('App').Base = App;
1107
1108/**
1109Provides a top-level application component which manages navigation and views.
1110
1111This gives you a foundation and structure on which to build your application; it
1112combines robust URL navigation with powerful routing and flexible view
1113management.
1114
1115`Y.App` is both a namespace and constructor function. The `Y.App` class is
1116special in that any `Y.App` class extensions that are included in the YUI
1117instance will be **auto-mixed** on to the `Y.App` class. Consider this example:
1118
1119 YUI().use('app-base', 'app-transitions', function (Y) {
1120 // This will create two YUI Apps, `basicApp` will not have transitions,
1121 // but `fancyApp` will have transitions support included and turn it on.
1122 var basicApp = new Y.App.Base(),
1123 fancyApp = new Y.App({transitions: true});
1124 });
1125
1126@class App
1127@param {Object} [config] The following are configuration properties that can be
1128 specified _in addition_ to default attribute values and the non-attribute
1129 properties provided by `Y.Base`:
1130 @param {Object} [config.views] Hash of view-name to metadata used to
1131 declaratively describe an application's views and their relationship with
1132 the app and other views. The views specified here will override any defaults
1133 provided by the `views` object on the `prototype`.
1134@constructor
1135@extends App.Base
1136@uses App.Transitions
1137@since 3.5.0
1138**/
1139Y.App = Y.mix(Y.Base.create('app', Y.App.Base, []), Y.App, true);
1140
1141
1142}, '3.5.1' ,{requires:['classnamemanager', 'pjax-base', 'router', 'view']});
01143
=== added file 'debian/extras/jslibs/yui/app-base/app-base-min.js'
--- debian/extras/jslibs/yui/app-base/app-base-min.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/app-base/app-base-min.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,7 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add("app-base",function(c){var g=c.Lang,i=c.Object,a=c.PjaxBase,d=c.Router,b=c.View,e=c.ClassNameManager.getClassName,h=c.config.win,f;f=c.Base.create("app",c.Base,[b,d,a],{views:{},initializer:function(k){k||(k={});var j={};function l(m,n){j[n]=c.merge(j[n],m);}i.each(this.views,l);i.each(k.views,l);this.views=j;this._viewInfoMap={};this.after("activeViewChange",c.bind("_afterActiveViewChange",this));if(!this.get("serverRouting")){this._pjaxBindUI();}},createView:function(m,l){var k=this.getViewInfo(m),n=(k&&k.type)||b,o,j;o=g.isString(n)?i.getValue(c,n.split(".")):n;j=new o(l);this._viewInfoMap[c.stamp(j,true)]=k;return j;},getViewInfo:function(j){if(g.isString(j)){return this.views[j];}return j&&this._viewInfoMap[c.stamp(j,true)];},render:function(){var k=this.get("container"),j=this.get("viewContainer"),l=this.get("activeView"),n=l&&l.get("container"),m=k.compareTo(j);k.addClass(f.CSS_CLASS);j.addClass(f.VIEWS_CSS_CLASS);if(l&&!j.contains(n)){j.appendChild(n);}if(!k.contains(j)&&!m){k.appendChild(j);}return this;},showView:function(j,m,l,o){var k,n;l||(l={});if(o){l.callback=o;}else{if(g.isFunction(l)){l={callback:l};}}if(g.isString(j)){k=this.getViewInfo(j);if(k&&k.preserve&&k.instance){j=k.instance;this._viewInfoMap[c.stamp(j,true)]=k;}else{j=this.createView(j,m);n=true;}}if(l.update&&!n){j.setAttrs(m);}if("render" in l){l.render&&j.render();}else{if(n){j.render();}}return this._set("activeView",j,{options:l});},_attachView:function(k,l){if(!k){return;}var m=this.getViewInfo(k),j=this.get("viewContainer");k.addTarget(this);m&&(m.instance=k);j[l?"prepend":"append"](k.get("container"));},_destroyContainer:function(){var k=this.get("container"),j=this.get("viewContainer"),l=k.compareTo(j);if(c.one("body").compareTo(k)){this.detachEvents();k&&k.removeClass(f.CSS_CLASS);if(l){k&&k.removeClass(f.VIEWS_CSS_CLASS);}else{j&&j.remove(true);}return;}j&&j.remove(true);!l&&k&&k.remove(true);},_detachView:function(j){if(!j){return;}var k=this.getViewInfo(j)||{};if(k.preserve){j.remove();}else{j.destroy({remove:true});delete this._viewInfoMap[c.stamp(j,true)];if(j===k.instance){delete k.instance;}}j.removeTarget(this);},_getViewContainer:function(j){if(!j&&!this._viewContainer){j=this._viewContainer=this.create();this._set("viewContainer",j);}return j;},_getURL:function(){var j=c.getLocation().toString();return this._html5?j:this._upgradeURL(j);},_initHtml5:function(){if(this.get("serverRouting")===false){return false;}else{return d.html5;}},_isChildView:function(j,m){var l=this.getViewInfo(j),k=this.getViewInfo(m);if(l&&k){return this.getViewInfo(l.parent)===k;}return false;},_isParentView:function(j,m){var k=this.getViewInfo(j),l=this.getViewInfo(m);if(k&&l){return this.getViewInfo(l.parent)===k;}return false;},_navigate:function(k,j){k=this._upgradeURL(k);j||(j={});if(!this.get("serverRouting")){"force" in j||(j.force=true);}return a.prototype._navigate.call(this,k,j);},_save:function(j,k){if(this.get("serverRouting")&&!this.get("html5")){if(!this._hasSameOrigin(j)){c.error("Security error: The new URL must be of the same origin as the current URL.");return this;}j=this._joinURL(j||"");if(k){h&&h.location.replace(j);}else{h&&(h.location=j);}return this;}return d.prototype._save.apply(this,arguments);},_uiSetActiveView:function(p,n,m){m||(m={});var o=m.callback,j=this._isChildView(p,n),l=!j&&this._isParentView(p,n),k=!!m.prepend||l;if(p===n){return o&&o.call(this,p);}this._attachView(p,k);this._detachView(n);o&&o.call(this,p);},_upgradeURL:function(k){if(!this._hasSameOrigin(k)){return k;}var l=(k.match(/#(.*)$/)||[])[1]||"",j=c.HistoryHash.hashPrefix;if(j&&l.indexOf(j)===0){l=l.replace(j,"");}if(l&&l.charAt(0)==="/"){k=this._resolveURL(this._joinURL(l));}return k;},_afterActiveViewChange:function(j){this._uiSetActiveView(j.newVal,j.prevVal,j.options);}},{ATTRS:{activeView:{value:null,readOnly:true},container:{valueFn:function(){return c.one("body");}},html5:{valueFn:"_initHtml5"},linkSelector:{value:"a"},serverRouting:{value:undefined,writeOnce:"initOnly"},viewContainer:{getter:"_getViewContainer",setter:c.one,writeOnce:true}},CSS_CLASS:e("app"),VIEWS_CSS_CLASS:e("app","views"),_NON_ATTRS_CFG:["views"]});c.namespace("App").Base=f;c.App=c.mix(c.Base.create("app",c.App.Base,[]),c.App,true);},"3.5.1",{requires:["classnamemanager","pjax-base","router","view"]});
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'debian/extras/jslibs/yui/app-base/app-base.js'
--- debian/extras/jslibs/yui/app-base/app-base.js 1970-01-01 00:00:00 +0000
+++ debian/extras/jslibs/yui/app-base/app-base.js 2013-02-02 01:30:27 +0000
@@ -0,0 +1,1142 @@
1/*
2YUI 3.5.1 (build 22)
3Copyright 2012 Yahoo! Inc. All rights reserved.
4Licensed under the BSD License.
5http://yuilibrary.com/license/
6*/
7YUI.add('app-base', function(Y) {
8
9/**
10The App Framework provides simple MVC-like building blocks (models, model lists,
11views, and URL-based routing) for writing single-page JavaScript applications.
12
13@main app
14@module app
15@since 3.4.0
16**/
17
18/**
19Provides a top-level application component which manages navigation and views.
20
21@module app
22@submodule app-base
23@since 3.5.0
24**/
25
26// TODO: Better handling of lifecycle for registered views:
27//
28// * [!] Just redo basically everything with view management so there are no
29// pre-`activeViewChange` side effects and handle the rest of these things:
30//
31// * Seems like any view created via `createView` should listen for the view's
32// `destroy` event and use that to remove it from the `_viewsInfoMap`. I
33// should look at what ModelList does for Models as a reference.
34//
35// * Should we have a companion `destroyView()` method? Maybe this wouldn't be
36// needed if we have a `getView(name, create)` method, and already doing the
37// above? We could do `app.getView('foo').destroy()` and it would be removed
38// from the `_viewsInfoMap` as well.
39//
40// * Should we wait to call a view's `render()` method inside of the
41// `_attachView()` method?
42//
43// * Should named views support a collection of instances instead of just one?
44//
45
46var Lang = Y.Lang,
47 YObject = Y.Object,
48
49 PjaxBase = Y.PjaxBase,
50 Router = Y.Router,
51 View = Y.View,
52
53 getClassName = Y.ClassNameManager.getClassName,
54
55 win = Y.config.win,
56
57 App;
58
59/**
60Provides a top-level application component which manages navigation and views.
61
62This gives you a foundation and structure on which to build your application; it
63combines robust URL navigation with powerful routing and flexible view
64management.
65
66@class App.Base
67@param {Object} [config] The following are configuration properties that can be
68 specified _in addition_ to default attribute values and the non-attribute
69 properties provided by `Y.Base`:
70 @param {Object} [config.views] Hash of view-name to metadata used to
71 declaratively describe an application's views and their relationship with
72 the app and other views. The views specified here will override any defaults
73 provided by the `views` object on the `prototype`.
74@constructor
75@extends Base
76@uses View
77@uses Router
78@uses PjaxBase
79@since 3.5.0
80**/
81App = Y.Base.create('app', Y.Base, [View, Router, PjaxBase], {
82 // -- Public Properties ----------------------------------------------------
83
84 /**
85 Hash of view-name to metadata used to declaratively describe an
86 application's views and their relationship with the app and its other views.
87
88 The view metadata is composed of Objects keyed to a view-name that can have
89 any or all of the following properties:
90
91 * `type`: Function or a string representing the view constructor to use to
92 create view instances. If a string is used, the constructor function is
93 assumed to be on the `Y` object; e.g. `"SomeView"` -> `Y.SomeView`.
94
95 * `preserve`: Boolean for whether the view instance should be retained. By
96 default, the view instance will be destroyed when it is no longer the
97 `activeView`. If `true` the view instance will simply be `removed()`
98 from the DOM when it is no longer active. This is useful when the view
99 is frequently used and may be expensive to re-create.
100
101 * `parent`: String to another named view in this hash that represents the
102 parent view within the application's view hierarchy; e.g. a `"photo"`
103 view could have `"album"` has its `parent` view. This parent/child
104 relationship is a useful cue for things like transitions.
105
106 * `instance`: Used internally to manage the current instance of this named
107 view. This can be used if your view instance is created up-front, or if
108 you would rather manage the View lifecycle, but you probably should just
109 let this be handled for you.
110
111 If `views` are specified at instantiation time, the metadata in the `views`
112 Object here will be used as defaults when creating the instance's `views`.
113
114 Every `Y.App` instance gets its own copy of a `views` object so this Object
115 on the prototype will not be polluted.
116
117 @example
118 // Imagine that `Y.UsersView` and `Y.UserView` have been defined.
119 var app = new Y.App({
120 views: {
121 users: {
122 type : Y.UsersView,
123 preserve: true
124 },
125
126 user: {
127 type : Y.UserView,
128 parent: 'users'
129 }
130 }
131 });
132
133 @property views
134 @type Object
135 @default {}
136 @since 3.5.0
137 **/
138 views: {},
139
140 // -- Protected Properties -------------------------------------------------
141
142 /**
143 Map of view instance id (via `Y.stamp()`) to view-info object in `views`.
144
145 This mapping is used to tie a specific view instance back to its metadata by
146 adding a reference to the the related view info on the `views` object.
147
148 @property _viewInfoMap
149 @type Object
150 @default {}
151 @protected
152 @since 3.5.0
153 **/
154
155 // -- Lifecycle Methods ----------------------------------------------------
156 initializer: function (config) {
157 config || (config = {});
158
159 var views = {};
160
161 // Merges-in specified view metadata into local `views` object.
162 function mergeViewConfig(view, name) {
163 views[name] = Y.merge(views[name], view);
164 }
165
166 // First, each view in the `views` prototype object gets its metadata
167 // merged-in, providing the defaults.
168 YObject.each(this.views, mergeViewConfig);
169
170 // Then, each view in the specified `config.views` object gets its
171 // metadata merged-in.
172 YObject.each(config.views, mergeViewConfig);
173
174 // The resulting hodgepodge of metadata is then stored as the instance's
175 // `views` object, and no one's objects were harmed in the making.
176 this.views = views;
177 this._viewInfoMap = {};
178
179 // Using `bind()` to aid extensibility.
180 this.after('activeViewChange', Y.bind('_afterActiveViewChange', this));
181
182 // PjaxBase will bind click events when `html5` is `true`, so this just
183 // forces the binding when `serverRouting` and `html5` are both falsy.
184 if (!this.get('serverRouting')) {
185 this._pjaxBindUI();
186 }
187 },
188
189 // TODO: `destructor` to destroy the `activeView`?
190
191 // -- Public Methods -------------------------------------------------------
192
193 /**
194 Creates and returns a new view instance using the provided `name` to look up
195 the view info metadata defined in the `views` object. The passed-in `config`
196 object is passed to the view constructor function.
197
198 This function also maps a view instance back to its view info metadata.
199
200 @method createView
201 @param {String} name The name of a view defined on the `views` object.
202 @param {Object} [config] The configuration object passed to the view
203 constructor function when creating the new view instance.
204 @return {View} The new view instance.
205 @since 3.5.0
206 **/
207 createView: function (name, config) {
208 var viewInfo = this.getViewInfo(name),
209 type = (viewInfo && viewInfo.type) || View,
210 ViewConstructor, view;
211
212 // Looks for a namespaced constructor function on `Y`.
213 ViewConstructor = Lang.isString(type) ?
214 YObject.getValue(Y, type.split('.')) : type;
215
216 // Create the view instance and map it with its metadata.
217 view = new ViewConstructor(config);
218 this._viewInfoMap[Y.stamp(view, true)] = viewInfo;
219
220 return view;
221 },
222
223 /**
224 Returns the metadata associated with a view instance or view name defined on
225 the `views` object.
226
227 @method getViewInfo
228 @param {View|String} view View instance, or name of a view defined on the
229 `views` object.
230 @return {Object} The metadata for the view, or `undefined` if the view is
231 not registered.
232 @since 3.5.0
233 **/
234 getViewInfo: function (view) {
235 if (Lang.isString(view)) {
236 return this.views[view];
237 }
238
239 return view && this._viewInfoMap[Y.stamp(view, true)];
240 },
241
242 /**
243 Navigates to the specified URL if there is a route handler that matches. In
244 browsers capable of using HTML5 history or when `serverRouting` is falsy,
245 the navigation will be enhanced by firing the `navigate` event and having
246 the app handle the "request". When `serverRouting` is `true`, non-HTML5
247 browsers will navigate to the new URL via a full page reload.
248
249 When there is a route handler for the specified URL and it is being
250 navigated to, this method will return `true`, otherwise it will return
251 `false`.
252
253 **Note:** The specified URL _must_ be of the same origin as the current URL,
254 otherwise an error will be logged and navigation will not occur. This is
255 intended as both a security constraint and a purposely imposed limitation as
256 it does not make sense to tell the app to navigate to a URL on a
257 different scheme, host, or port.
258
259 @method navigate
260 @param {String} url The URL to navigate to. This must be of the same origin
261 as the current URL.
262 @param {Object} [options] Additional options to configure the navigation.
263 These are mixed into the `navigate` event facade.
264 @param {Boolean} [options.replace] Whether or not the current history
265 entry will be replaced, or a new entry will be created. Will default
266 to `true` if the specified `url` is the same as the current URL.
267 @param {Boolean} [options.force] Whether the enhanced navigation
268 should occur even in browsers without HTML5 history. Will default to
269 `true` when `serverRouting` is falsy.
270 @see PjaxBase.navigate()
271 **/
272 // Does not override `navigate()` but does use extra `options`.
273
274 /**
275 Renders this application by appending the `viewContainer` node to the
276 `container` node if it isn't already a child of the container, and the
277 `activeView` will be appended the view container, if it isn't already.
278
279 You should call this method at least once, usually after the initialization
280 of your app instance so the proper DOM structure is setup and optionally
281 append the container to the DOM if it's not there already.
282
283 You may override this method to customize the app's rendering, but you
284 should expect that the `viewContainer`'s contents will be modified by the
285 app for the purpose of rendering the `activeView` when it changes.
286
287 @method render
288 @chainable
289 @see View.render()
290 **/
291 render: function () {
292 var container = this.get('container'),
293 viewContainer = this.get('viewContainer'),
294 activeView = this.get('activeView'),
295 activeViewContainer = activeView && activeView.get('container'),
296 areSame = container.compareTo(viewContainer);
297
298 container.addClass(App.CSS_CLASS);
299 viewContainer.addClass(App.VIEWS_CSS_CLASS);
300
301 // Prevents needless shuffling around of nodes and maintains DOM order.
302 if (activeView && !viewContainer.contains(activeViewContainer)) {
303 viewContainer.appendChild(activeViewContainer);
304 }
305
306 // Prevents needless shuffling around of nodes and maintains DOM order.
307 if (!container.contains(viewContainer) && !areSame) {
308 container.appendChild(viewContainer);
309 }
310
311 return this;
312 },
313
314 /**
315 Sets which view is active/visible for the application. This will set the
316 app's `activeView` attribute to the specified `view`.
317
318 The `view` will be "attached" to this app, meaning it will be both rendered
319 into this app's `viewContainer` node and all of its events will bubble to
320 the app. The previous `activeView` will be "detached" from this app.
321
322 When a string-name is provided for a view which has been registered on this
323 app's `views` object, the referenced metadata will be used and the
324 `activeView` will be set to either a preserved view instance, or a new
325 instance of the registered view will be created using the specified `config`
326 object passed-into this method.
327
328 A callback function can be specified as either the third or fourth argument,
329 and this function will be called after the new `view` becomes the
330 `activeView`, is rendered to the `viewContainer`, and is ready to use.
331
332 @example
333 var app = new Y.App({
334 views: {
335 usersView: {
336 // Imagine that `Y.UsersView` has been defined.
337 type: Y.UsersView
338 }
339 },
340
341 users: new Y.ModelList()
342 });
343
344 app.route('/users/', function () {
345 this.showView('usersView', {users: this.get('users')});
346 });
347
348 app.render();
349 app.navigate('/uses/'); // => Creates a new `Y.UsersView` and shows it.
350
351 @method showView
352 @param {String|View} view The name of a view defined in the `views` object,
353 or a view instance which should become this app's `activeView`.
354 @param {Object} [config] Optional configuration to use when creating a new
355 view instance. This config object can also be used to update an existing
356 or preserved view's attributes when `options.update` is `true`.
357 @param {Object} [options] Optional object containing any of the following
358 properties:
359 @param {Function} [options.callback] Optional callback function to call
360 after new `activeView` is ready to use, the function will be passed:
361 @param {View} options.callback.view A reference to the new
362 `activeView`.
363 @param {Boolean} [options.prepend=false] Whether the `view` should be
364 prepended instead of appended to the `viewContainer`.
365 @param {Boolean} [options.render] Whether the `view` should be rendered.
366 **Note:** If no value is specified, a view instance will only be
367 rendered if it's newly created by this method.
368 @param {Boolean} [options.update=false] Whether an existing view should
369 have its attributes updated by passing the `config` object to its
370 `setAttrs()` method. **Note:** This option does not have an effect if
371 the `view` instance is created as a result of calling this method.
372 @param {Function} [callback] Optional callback Function to call after the
373 new `activeView` is ready to use. **Note:** this will override
374 `options.callback` and it can be specified as either the third or fourth
375 argument. The function will be passed the following:
376 @param {View} callback.view A reference to the new `activeView`.
377 @chainable
378 @since 3.5.0
379 **/
380 showView: function (view, config, options, callback) {
381 var viewInfo, created;
382
383 options || (options = {});
384
385 // Support the callback function being either the third or fourth arg.
386 if (callback) {
387 options.callback = callback;
388 } else if (Lang.isFunction(options)) {
389 options = {callback: options};
390 }
391
392 if (Lang.isString(view)) {
393 viewInfo = this.getViewInfo(view);
394
395 // Use the preserved view instance, or create a new view.
396 // TODO: Maybe we can remove the strict check for `preserve` and
397 // assume we'll use a View instance if it is there, and just check
398 // `preserve` when detaching?
399 if (viewInfo && viewInfo.preserve && viewInfo.instance) {
400 view = viewInfo.instance;
401
402 // Make sure there's a mapping back to the view metadata.
403 this._viewInfoMap[Y.stamp(view, true)] = viewInfo;
404 } else {
405 // TODO: Add the app as a bubble target during construction, but
406 // make sure to check that it isn't already in `bubbleTargets`!
407 // This will allow the app to be notified for about _all_ of the
408 // view's events. **Note:** This should _only_ happen if the
409 // view is created _after_ `activeViewChange`.
410
411 view = this.createView(view, config);
412 created = true;
413 }
414 }
415
416 // Update the specified or preserved `view` when signaled to do so.
417 // There's no need to updated a view if it was _just_ created.
418 if (options.update && !created) {
419 view.setAttrs(config);
420 }
421
422 // TODO: Hold off on rendering the view until after it has been
423 // "attached", and move the call to render into `_attachView()`.
424
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches