From f7ff8486ef3936981c4387cbacc025e1fadb6459 Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Sat, 25 Mar 2017 16:56:13 +0000 Subject: [PATCH 1/2] Update spin.js to v2.3.2 and use it for the agenda scheduling page. Remove the explicit copy that was kept there. Commit ready for merge. - Legacy-Id: 13104 --- ietf/static/ietf/css/agenda/agenda.css | 5 +- ietf/static/ietf/js/agenda/spin/.jshintrc | 79 - ietf/static/ietf/js/agenda/spin/LICENSE.txt | 21 - ietf/static/ietf/js/agenda/spin/Makefile | 9 - ietf/static/ietf/js/agenda/spin/README.md | 21 - ietf/static/ietf/js/agenda/spin/assets/bg.png | Bin 17908 -> 0 bytes .../ietf/js/agenda/spin/assets/browsers.png | Bin 34450 -> 0 bytes .../ietf/js/agenda/spin/assets/crosshair.gif | Bin 13167 -> 0 bytes .../assets/fd-slider/fd-slider-tooltip.css | 117 -- .../spin/assets/fd-slider/fd-slider.css | 143 -- .../agenda/spin/assets/fd-slider/fd-slider.js | 1212 ---------------- .../ietf/js/agenda/spin/assets/github.gif | Bin 1298 -> 0 bytes .../ietf/js/agenda/spin/assets/jquery.js | 5 - .../ietf/js/agenda/spin/assets/main.css | 157 -- .../ietf/js/agenda/spin/assets/prettify.css | 49 - .../ietf/js/agenda/spin/assets/prettify.js | 28 - .../ietf/js/agenda/spin/assets/preview.jpg | Bin 12063 -> 0 bytes .../ietf/js/agenda/spin/assets/ribbon.png | Bin 7660 -> 0 bytes ietf/static/ietf/js/agenda/spin/bower.json | 11 - ietf/static/ietf/js/agenda/spin/dist/spin.js | 355 ----- .../ietf/js/agenda/spin/dist/spin.min.js | 1 - .../ietf/js/agenda/spin/example/amd.html | 50 - .../ietf/js/agenda/spin/example/jquery.html | 43 - .../js/agenda/spin/example/modernizr.html | 31 - .../ietf/js/agenda/spin/example/modernizr.js | 1265 ----------------- .../js/agenda/spin/example/positioning.html | 61 - .../ietf/js/agenda/spin/example/require.js | 35 - .../ietf/js/agenda/spin/example/settings.html | 84 -- ietf/static/ietf/js/agenda/spin/favicon.ico | Bin 10806 -> 0 bytes ietf/static/ietf/js/agenda/spin/index.html | 300 ---- .../static/ietf/js/agenda/spin/jquery.spin.js | 80 -- ietf/static/ietf/js/agenda/spin/package.json | 22 - ietf/static/ietf/js/agenda/spin/spin.js | 355 ----- ietf/templates/meeting/landscape_edit.html | 2 +- 34 files changed, 2 insertions(+), 4539 deletions(-) delete mode 100644 ietf/static/ietf/js/agenda/spin/.jshintrc delete mode 100644 ietf/static/ietf/js/agenda/spin/LICENSE.txt delete mode 100644 ietf/static/ietf/js/agenda/spin/Makefile delete mode 100644 ietf/static/ietf/js/agenda/spin/README.md delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/bg.png delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/browsers.png delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/crosshair.gif delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider-tooltip.css delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.css delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.js delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/github.gif delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/jquery.js delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/main.css delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/prettify.css delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/prettify.js delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/preview.jpg delete mode 100644 ietf/static/ietf/js/agenda/spin/assets/ribbon.png delete mode 100644 ietf/static/ietf/js/agenda/spin/bower.json delete mode 100644 ietf/static/ietf/js/agenda/spin/dist/spin.js delete mode 100644 ietf/static/ietf/js/agenda/spin/dist/spin.min.js delete mode 100644 ietf/static/ietf/js/agenda/spin/example/amd.html delete mode 100644 ietf/static/ietf/js/agenda/spin/example/jquery.html delete mode 100644 ietf/static/ietf/js/agenda/spin/example/modernizr.html delete mode 100644 ietf/static/ietf/js/agenda/spin/example/modernizr.js delete mode 100644 ietf/static/ietf/js/agenda/spin/example/positioning.html delete mode 100644 ietf/static/ietf/js/agenda/spin/example/require.js delete mode 100644 ietf/static/ietf/js/agenda/spin/example/settings.html delete mode 100644 ietf/static/ietf/js/agenda/spin/favicon.ico delete mode 100644 ietf/static/ietf/js/agenda/spin/index.html delete mode 100644 ietf/static/ietf/js/agenda/spin/jquery.spin.js delete mode 100644 ietf/static/ietf/js/agenda/spin/package.json delete mode 100644 ietf/static/ietf/js/agenda/spin/spin.js diff --git a/ietf/static/ietf/css/agenda/agenda.css b/ietf/static/ietf/css/agenda/agenda.css index 707dfde41..51c6c53b1 100644 --- a/ietf/static/ietf/css/agenda/agenda.css +++ b/ietf/static/ietf/css/agenda/agenda.css @@ -614,10 +614,7 @@ td#conflict_people_list { } #spinner{ - - height:50%; - /* margin-top:50%; */ - /* margin-bottom:50%; */ + position: relative; } diff --git a/ietf/static/ietf/js/agenda/spin/.jshintrc b/ietf/static/ietf/js/agenda/spin/.jshintrc deleted file mode 100644 index 273b35c58..000000000 --- a/ietf/static/ietf/js/agenda/spin/.jshintrc +++ /dev/null @@ -1,79 +0,0 @@ -{ - /* Additional globals */ - "predef": [ - "define" - ], - - /* Enforcing Options */ - - "bitwise" : false, // Switches on warnings about the use of bitwise operators such as ^ (XOR), | (OR) and others - "curly" : false, // Switches on warnings when no curly braces are being used around blocks for loops and conditional. - // NOTE: If you turned this off, only omit curlies on single and same line statements - "eqeqeq" : false, // Switches on warnings about the use of == and != - "forin" : false, // Switches on warnings about when code is not wrapped in .hasOwnProperty condition in for in loops - "immed" : true, // Switches on warnings for immediately invoked functions which are not wrapped in parenthesis - "latedef" : true, // Switches on warnings for using variables or functions prior of their definition - "newcap" : true, // Switches on warnings if uncapitalised constructor function names are being used - "noarg" : true, // Switches on warnings when arguments.caller and arguments.callee are being used - "noempty" : false, // Switches on warnings when empty blocks are being used - "nonew" : true, // Switches on warnings when no "new" keyword is being used for constructor functions - // NOTE: Have not being able to switch this off and it always warned me during my tests - "plusplus" : false, // Switches on warnings when using the unary in-/de-crement operators ++ and -- - "regexp" : true, // Switches on warnings for unsafe usage of '.' in regular expressions - "undef" : true, // Switches on warnings when using undeclared variables - // NOTE: Have not being able to switch this off and it always warned me during my tests - "strict" : false, // Switches on warnings to use strict in all functions - "trailing" : true, // Switches on warnings for using trailing whitespace at the end of lines - - /* Relaxing Options */ - - "asi" : true, // Switches off warnings about missing semi-colons - "boss" : true, // Switches off warnings about assignments in places where conditions are expected - "debug" : false, // Switches off warnings about debugger statements - TODO: Try use debugger properly - "eqnull" : false, // Switches off warnings when comparing == null - "es5" : true, // Switches off warnings when using ECMAScript 5 features - "esnext" : false, // Switches off warnings when using ES.next features, i.e. const - "evil" : true, // Switches off warnings about the use of eval - "expr" : true, // Switches off warnings when using expressions in places where assignments are expected - "funcscope" : false, // Switches off warnings about var definitions within blocks, using them later outside - "globalstrict" : false, // Switches off warnings about the use of global strict mode - "iterator" : false, // Switches off warnings about the use of the __iterator__ property - "lastsemic" : false, // Switches off warnings about missing semicolons on the last statement in one line blocks - "laxbreak" : true, // Switches off warnings about improper line breaks - "laxcomma" : true, // Switches off warnings about leading commas in multi-line var declarations - "loopfunc" : true, // Switches off warnings about functions inside of loops - "multistr" : false, // Switches off warnings about the use of multi-line strings - "onecase" : false, // Switches off warnings when only one case is being used in switch statements - "proto" : true, // Switches off warnings when using the __proto__ property - "regexdash" : false, // Switches off warnings about unescaped - in the end of regular expressions - "scripturl" : false, // Switches off warnings about the use of script-targeted URLs—such as javascript: - "smarttabs" : false, // Switches off warnings about mixed tabs and spaces for indentation - "shadow" : false, // Switches off warnings about re-declaring variable which have already being defined in an outer scope - "sub" : false, // Switches off warnings about property accessors using '[]' notation when '.' notation can be used - "supernew" : false, // Switches off warnings about "weird" constructions like new function () { ... } - // Can not be set here. Needs to be configured inline in function scope with the comment: /*jshint validthis:true */ - //"validthis" : false, // Switches off warnings about possible strict violations when using this in a non-constructor function - - - /* Environments */ - - "browser" : true, // Allows the use of undefined globals exposed by modern browsers, i.e. window or document - "couch" : false, // Allows the use of globals exposed by CouchDB - "devel" : false, // Allows the use of globals like console.xxx and alert statements - "dojo" : false, // Allows the use of globals exposed by the DoJo Toolkit - "jquery" : false, // Allows the use of globals exposed by jQuery - "mootools" : false, // Allows the use of globals exposed by the MooTools framework - "node" : true, // Allows the use of globals for code running in nodejs, i.e. 'global' - "nonstandard" : false, // Allows the use of non-standard but widely adopted globals such as escape and unescape - "prototypejs" : false, // Allows the use of globals exposed by the Prototype framework - "rhino" : false, // Allows the use of globals available for code running in Rhino - "wsh" : false, // Allows the use of globals available for code running in the Windows Script Host - - - /* Legacy */ - - "nomen" : false, // Disallow the use of variable names beginning with an underscore - "onevar" : false, // If false, warns when having multiple var definition within one function - "passfail" : false, // If true, JSHint stops on the first error or warning. - "white" : false // If true, Douglas Crockford's JavaScript coding styles are enforce - behaves eradic -} diff --git a/ietf/static/ietf/js/agenda/spin/LICENSE.txt b/ietf/static/ietf/js/agenda/spin/LICENSE.txt deleted file mode 100644 index 61480614e..000000000 --- a/ietf/static/ietf/js/agenda/spin/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2011 Felix Gnass [fgnass at neteye dot de] - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/ietf/static/ietf/js/agenda/spin/Makefile b/ietf/static/ietf/js/agenda/spin/Makefile deleted file mode 100644 index 89c45ede7..000000000 --- a/ietf/static/ietf/js/agenda/spin/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -all: - @mkdir -p dist - @cp spin.js dist/ - @uglifyjs -mt --unsafe -o dist/spin.min.js spin.js - -clean: - @rm -r dist - -.PHONY: clean all diff --git a/ietf/static/ietf/js/agenda/spin/README.md b/ietf/static/ietf/js/agenda/spin/README.md deleted file mode 100644 index 6ab319c44..000000000 --- a/ietf/static/ietf/js/agenda/spin/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# spin.js - -An animated CSS3 loading spinner with VML fallback for IE. - - * No images, no external CSS - * No dependencies - * Highly configurable - * Resolution independent - * Uses VML as fallback in old IEs - * Uses @keyframe animations, falling back to setTimeout() - * Works in all major browsers, including IE6 - * Small footprint (~1.9K gzipped) - * MIT License - -## Usage - -```javascript -new Spinner({color:'#fff', lines: 12}).spin(target); -``` - -For an interactive demo and a list of all supported options please refer to the [project's homepage](http://fgnass.github.io/spin.js/). diff --git a/ietf/static/ietf/js/agenda/spin/assets/bg.png b/ietf/static/ietf/js/agenda/spin/assets/bg.png deleted file mode 100644 index c8a301cf00efafaf8dc592425b4dd94ee1e0f3fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17908 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 diff --git a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider-tooltip.css b/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider-tooltip.css deleted file mode 100644 index 0580d421d..000000000 --- a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider-tooltip.css +++ /dev/null @@ -1,117 +0,0 @@ -/* - Sample tooltip code. Only works on grade A browsers (so no IE6,7 or 8). - - See: http://nicolasgallagher.com/multiple-backgrounds-and-borders-with-css2/ for full info on - how to style generated content & the associated pitfalls - - This code to be taken as experimental & untested - use at your discretion - - If showing the tooltip above the sider handle you are relegated to showing - single line tooltips due to styling constraints! -*/ - -.fd-slider-handle:before, -.fd-slider-handle:after - { - /* Remove from screen */ - opacity:0; - /* The following rules are not really needed as no browser yet supports CSS transitions - on generated content but I'll leave it in for the day when they do! */ - - /* Firefox */ - -moz-transition-property: opacity; - -moz-transition-duration: 1s; - -moz-transition-delay: 1s; - /* WebKit */ - -webkit-transition-property: opacity; - -webkit-transition-duration: 1s; - -webkit-transition-delay: 1s; - /* Opera */ - -o-transition-property: opacity; - -o-transition-duration: 1s; - -o-transition-delay: 1s; - /* Standard */ - transition-property: opacity; - transition-duration: 1s; - transition-delay: 1s; - } -/* - The tooltip body - as we position it above the slider and position the tooltip arrow - below it, we need to know the height of the body. This means that multi-line tooltips - are not supported. - - To support multi-line tooltips, you will need to position the tooltip below the slider - and the tooltip pointer above the tooltip body. Additionally, you will have to set the - tooltip bodies "height" to auto -*/ -.fd-slider-focused .fd-slider-handle:before, -.fd-slider-hover .fd-slider-handle:before, -.fd-slider-active .fd-slider-handle:before - { - display:block; - position:absolute; - top:-21px; - left:-8px; - margin:0; - width:20px; - padding:3px; - height:14px; - line-height:12px; - text-align: center; - font-size:10px; - font-weight: bold; - color:#fff; - text-shadow: 1px 1px 1px #1a3a95; - background:#2f6ee0; - z-index:1; - /* Use the ARIA valuetext property, set by the script, to generate the tooltip content */ - content:attr(aria-valuetext); - /* Border radius and box shadow */ - -moz-border-radius:3px; - -webkit-border-radius:3px; - border-radius:3px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - -moz-box-shadow: 0 0 4px #aaa; - -webkit-box-shadow: 0 0 4px #aaa; - box-shadow: 0px 0px 4px #999; - /* Change opacity for transition */ - opacity: 1; - } -/* The tooltip pointer */ -.fd-slider-focused .fd-slider-handle:after, -.fd-slider-hover .fd-slider-handle:after, -.fd-slider-active .fd-slider-handle:after - { - outline:none; - content:""; - display:block; - position:absolute; - top:-9px; - left:50%; - margin:0 0 0 -5px; - background:#2f6ee0; - z-index:2; - width:10px; - height:10px; - overflow:hidden; - /* Rotate element by 45 degress to get the "\/" pointer effect */ - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -o-transform: rotate(45deg); - /* Add a box shadow */ - -moz-box-shadow: 0 0 4px #aaa; - -webkit-box-shadow: 0 0 4px #aaa; - box-shadow: 0 0 4px #aaa; - /* Clip */ - clip:rect(4px, 14px, 14px, 4px); - /* Change opacity for transition */ - opacity: 1; - } -/* Remove completely for IE */ -.oldie .fd-slider-handle:before, -.oldie .fd-slider-handle:after - { - display:none; - } \ No newline at end of file diff --git a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.css b/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.css deleted file mode 100644 index 80f28778e..000000000 --- a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.css +++ /dev/null @@ -1,143 +0,0 @@ - -/* The styles given to the associated form element in order to hide it */ -.fd-form-element-hidden - { - display:none; - } -/* Horizontal Outer wrapper - all other DOM elements added as children to this top level wrapper */ -.fd-slider - { - width:100%; - /* The height of the slider handle */ - height:20px; - margin:0; - } -/* Vertical Outer wrapper - all other DOM elements added as children to this top level wrapper */ -.fd-slider-vertical - { - /* The width of the slider handle */ - width:20px; - /* Fill the available space */ - height:100%; - /* Set a 10 pixel right and bottom margin */ - margin:0 10px 10px 0; - /* You may wish to float the vertical sliders left or display:inline-block */ - /* float:left; */ - } -/* Shared rules - both horizontal & vertical sliders */ -.fd-slider, -.fd-slider-vertical - { - /* display:block required as the wrapper element is a span */ - display:block; - /* This lets us absolutely position the drag handle */ - position:relative; - text-decoration:none; - border:0 none; - -moz-user-select:none; - -khtml-user-select:none; - -webkit-touch-callout:none; - user-select:none; - } -.fd-slider-inner - { - /* Used by IE for the onfocus blur effect */ - display:none; - } - -/* The inner track bar */ -.fd-slider-bar - { - position:absolute; - display:block; - z-index:2; - height:6px; - width:100%; - border:1px solid #bbb; - border-bottom:1px solid #fff; - border-right:1px solid #fff; - margin:0; - padding:0; - overflow:hidden; - line-height:4px; - top:8px; - -moz-border-radius:4px; - -webkit-border-radius:4px; - border-radius:4px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - background-color: #333; - } -/* The animated range bar */ -.fd-slider-range - { - position:absolute; - display:block; - z-index:3; - height:6px; - margin:0; - padding:0 2px 0 0; - overflow:hidden; - top:9px; - -moz-border-radius:2px; - -webkit-border-radius:2px; - border-radius:2px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - background-color: #eee; - } -/* The drag handle */ -.fd-slider-handle - { - position:absolute; - display:block; - padding:0; - border:0 none; - margin:0 0 0 1px; - z-index:3; - top:5px; - left:0; - width:12px; - height:12px; - line-height: 1px !important; - outline:0 none; - background: #eee; - border: 1px solid #aaa; - border-radius: 12px; - -webkit-user-select: none; - -webkit-touch-callout:none; - -moz-user-select:none; - -moz-user-focus:none; - -moz-outline:0 none; - user-select:none; - } -/* Focus styles */ -.fd-slider-handle:focus - { - outline:0 none; - border:0 none; - -moz-user-focus:normal; - } -button.fd-slider-handle:focus::-moz-focus-inner - { - border-color: transparent; - } - -body.fd-slider-drag-vertical, -body.fd-slider-drag-vertical * - { - /* Stop text selection */ - -moz-user-select:none; - -webkit-user-select:none; - user-select:none; - } -body.fd-slider-drag-horizontal, -body.fd-slider-drag-horizontal * - { - /* Stop text selection */ - -moz-user-select:none; - -webkit-user-select:none; - user-select:none; - } diff --git a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.js b/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.js deleted file mode 100644 index 22dba7585..000000000 --- a/ietf/static/ietf/js/agenda/spin/assets/fd-slider/fd-slider.js +++ /dev/null @@ -1,1212 +0,0 @@ -/* - * Unobtrusive Slider Control / HTML5 Input Range polyfill - * http://www.frequency-decoder.com/ - * - * Copyright 2010, 2011, Brian McAllister - * Dual licensed under the MIT or GPL Version 2 licenses. - * - */ -var fdSlider = (function() { - var sliders = {}, - uniqueid = 0, - mouseWheelEnabled = true, - fullARIA = true, - describedBy = "fd-slider-describedby", - varSetRules = { - onfocus:true, - onvalue:true - }, - noRangeBar = false, - html5Animation = "jump", - isOpera = Object.prototype.toString.call(window.opera) === "[object Opera]", - fpRegExp = /^([-]{0,1}[0-9]+(\.[0-9]+){0,1})$/, - stepRegExp = /^([0-9]+(\.[0-9]+){0,1})$/; - - var parseJSON = function(str) { - // Check we have a String - if(typeof str !== 'string' || str == "") { return {}; }; - try { - // Does a JSON (native or not) Object exist - if(typeof JSON === "object" && JSON.parse) { - return window.JSON.parse(str); - // Genious code taken from: http://kentbrewster.com/badges/ - } else if(/mousewheelenabled|fullaria|describedby|norangebar|html5animation|varsetrules/.test(str.toLowerCase())) { - var f = Function(['var document,top,self,window,parent,Number,Date,Object,Function,', - 'Array,String,Math,RegExp,Image,ActiveXObject;', - 'return (' , str.replace(/<\!--.+-->/gim,'').replace(/\bfunction\b/g,'function-') , ');'].join('')); - return f(); - }; - } catch (e) { }; - - return {"err":"Could not parse the JSON object"}; - }; - - var affectJSON = function(json) { - if(typeof json !== "object") { return; }; - for(key in json) { - value = json[key]; - switch(key.toLowerCase()) { - case "mousewheelenabled": - mouseWheelEnabled = !!value; - break; - case "fullaria": - fullARIA = !!value; - break; - case "describedby": - describedBy = String(value); - break; - case "norangebar": - noRangeBar = !!value; - break; - case "html5animation": - html5Animation = String(value).search(/^(jump|tween|timed)$/i) != -1 ? String(value).toLowerCase() : "jump"; - break; - case "varsetrules": - if("onfocus" in value) { - varSetRules.onfocus = !!value.onfocus; - }; - if("onvalue" in value) { - varSetRules.onvalue = !!value.onvalue; - }; - break; - }; - }; - }; - - // Classic event functions - var addEvent = function(obj, type, fn) { - if( obj.attachEvent ) { - obj["e"+type+fn] = fn; - obj[type+fn] = function(){obj["e"+type+fn]( window.event );}; - obj.attachEvent( "on"+type, obj[type+fn] ); - } else { obj.addEventListener( type, fn, true ); } - }; - var removeEvent = function(obj, type, fn) { - try { - if( obj.detachEvent ) { - obj.detachEvent( "on"+type, obj[type+fn] ); - obj[type+fn] = null; - } else { obj.removeEventListener( type, fn, true ); } - } catch(err) {}; - }; - var stopEvent = function(e) { - e = e || window.event; - if(e.stopPropagation) { - e.stopPropagation(); - e.preventDefault(); - }; - - /*@cc_on@*/ - /*@if(@_win32) - e.cancelBubble = true; - e.returnValue = false; - /*@end@*/ - - return false; - }; - var preventDefault = function(e) { - e = e || window.event; - if(e.preventDefault) { - e.preventDefault(); - return; - }; - e.returnValue = false; - }; - - // Add/Remove classname utility functions - var addClass = function(e,c) { - if(new RegExp("(^|\\s)" + c + "(\\s|$)").test(e.className)) { return; }; - e.className += ( e.className ? " " : "" ) + c; - }; - - var removeClass = function(e,c) { - e.className = !c ? "" : e.className.replace(new RegExp("(^|\\s)" + c + "(\\s|$)"), " ").replace(/^\s\s*/, '').replace(/\s\s*$/, ''); - }; - - // Returns an Object of key value pairs indicating which sliders have values - // that have been "set" by the user - var getValueSet = function() { - var obj = {}; - for(id in sliders) { - obj[id] = sliders[id].getValueSet(); - }; - return obj; - }; - - // Sets the valueSet variable for a specific slider - var setValueSet = function(sliderId, tf) { - if(!(sliderId in sliders)) return; - sliders[sliderId].setValueSet(!!tf); - }; - - // Javascript instantiation of a slider (input type="text" or select list) - var createSlider = function(options) { - if(!options || !options.inp || !options.inp.tagName || options.inp.tagName.search(/^input|select/i) == -1) { return false; }; - - options.html5Shim = false; - - if(options.inp.tagName.toLowerCase() == "select") { - if(options.inp.options.length < 2) { - return false; - }; - options.min = 0; - options.max = options.inp.options.length - 1; - options.step = 1; - options.precision = 0; - options.scale = false; - options.forceValue = true; - } else { - if(String(options.inp.type).search(/^text$/i) == -1) { - return false; - }; - options.min = options.min && String(options.min).search(fpRegExp) != -1 ? +options.min : 0; - options.max = options.max && String(options.max).search(fpRegExp) != -1 ? +options.max : 100; - options.step = options.step && String(options.step).search(stepRegExp) != -1 ? options.step : 1; - options.precision = options.precision && String(options.precision).search(/^[0-9]+$/) != -1 ? options.precision : (String(options.step).search(/\.([0-9]+)$/) != -1 ? String(options.step).match(/\.([0-9]+)$/)[1].length : 0); - options.scale = options.scale || false; - options.forceValue = ("forceValue" in options) ? !!options.forceValue : false; - }; - - options.maxStep = options.maxStep && String(options.maxStep).search(stepRegExp) != -1 ? +options.maxStep : +options.step * 2; - options.classNames = options.classNames || ""; - options.callbacks = options.callbacks || false; - - destroySingleSlider(options.inp.id); - sliders[options.inp.id] = new fdRange(options); - return true; - }; - - var getAttribute = function(elem, att) { - return elem.getAttribute(att) || ""; - }; - - // HTML5 input type="range" shim - called onload or onDomReady - var init = function() { - var inputs = document.getElementsByTagName("input"), - options; - - for(var i = 0, inp; inp = inputs[i]; i++) { - - if(inp.tagName.toLowerCase() == "input" - && - inp.type.toLowerCase() == "text" - && - (getAttribute(inp, "min") && getAttribute(inp, "min").search(fpRegExp) != -1 - || - getAttribute(inp, "max") && getAttribute(inp, "max").search(fpRegExp) != -1 - || - getAttribute(inp, "step") && getAttribute(inp, "step").search(/^(any|([0-9]+(\.[0-9]+){0,1}))$/i) != -1 - )) { - - // Skip elements that have already been created are are resident in the DOM - if(inp.id && document.getElementById("fd-slider-"+inp.id)) { - continue; - // Destroy elements that have already been created but not resident in the DOM - } else if(inp.id && !document.getElementById("fd-slider-"+inp.id)) { - destroySingleSlider(inp.id); - }; - - // Create an id for the form element if necessary - if(!inp.id) { inp.id = "fd-slider-form-elem-" + uniqueid++; }; - - // Basic option Object - options = { - inp: inp, - callbacks: [], - animation: html5Animation, - vertical: getAttribute(inp, "data-fd-slider-vertical") ? true : !!(inp.offsetHeight > inp.offsetWidth), - classNames: getAttribute(inp, "data-fd-slider-vertical"), - html5Shim: true - }; - - if(options.vertical && !getAttribute(inp, "data-fd-slider-vertical")) { - options.inpHeight = inp.offsetHeight; - }; - - options.min = getAttribute(inp, "min") || 0; - options.max = getAttribute(inp, "max") || 100; - options.step = getAttribute(inp, "step").search(/^any$/i) != -1 ? options.max - options.min : getAttribute(inp, "step").search(stepRegExp) != -1 ? inp.getAttribute("step") : 1; - options.precision = String(options.step).search(/\.([0-9]+)$/) != -1 ? String(options.step).match(/\.([0-9]+)$/)[1].length : 0; - options.maxStep = options.step * 2; - - destroySingleSlider(options.inp.id); - sliders[options.inp.id] = new fdRange(options); - }; - }; - - return true; - }; - var destroySingleSlider = function(id) { - if(id in sliders) { - sliders[id].destroy(); - delete sliders[id]; - return true; - }; - return false; - }; - var destroyAllsliders = function(e) { - for(slider in sliders) { sliders[slider].destroy(); }; - sliders = []; - }; - var unload = function(e) { - destroyAllsliders(); - sliders = null; - }; - var resize = function(e) { - for(slider in sliders) { sliders[slider].onResize(); }; - }; - var onDomReady = function() { - removeEvent(window, "load", init); - init(); - }; - var removeOnLoadEvent = function() { - removeEvent(window, "load", init); - }; - - function fdRange(options) { - var inp = options.inp, - disabled = false, - tagName = inp.tagName.toLowerCase(), - min = +options.min, - max = +options.max, - rMin = +options.min, - rMax = +options.max, - range = Math.abs(max - min), - step = tagName == "select" ? 1 : +options.step, - maxStep = options.maxStep ? +options.maxStep : step * 2, - precision = options.precision || 0, - steps = Math.ceil(range / step), - scale = options.scale || false, - hideInput = !!options.hideInput, - animation = options.animation || "", - vertical = !!options.vertical, - callbacks = options.callbacks || {}, - classNames = options.classNames || "", - html5Shim = !!options.html5Shim, - defaultVal = max < min ? min : min + ((max - min) / 2), - forceValue = html5Shim || !!options.forceValue, - inpHeight = html5Shim && vertical && ("inpHeight" in options) ? options.inpHeight : false, - timer = null, - kbEnabled = true, - sliderH = 0, - sliderW = 0, - tweenX = 0, - tweenB = 0, - tweenC = 0, - tweenD = 0, - frame = 0, - x = 0, - y = 0, - rMaxPx = 0, - rMinPx = 0, - handlePos = 0, - destPos = 0, - mousePos = 0, - stepPx = 0, - userSet = false, - touchEvents = false, - outerWrapper, - wrapper, - handle, - rangeBar, - bar; - - // Make sure we have a negative step if the max < min - if(max < min) { - step = -Math.abs(step); - maxStep = -Math.abs(maxStep); - }; - - // Add the 100% scale mark if needs be - if(scale) { - scale[100] = max; - }; - - // Set the "userSet" variable programmatically for this slider - function valueSet(tf) { - tf = !!tf; - if(tf != userSet) { - userSet = tf; - valueToPixels(getWorkingValueFromInput()); - }; - }; - - function disableSlider(noCallback) { - if(disabled && !noCallback) { return; }; - - try { - - removeEvent(handle, "focus", onFocus); - removeEvent(handle, "blur", onBlur); - - if(!isOpera) { - removeEvent(handle, "keydown", onKeyDown); - removeEvent(handle, "keypress", onKeyPress); - } else { - removeEvent(handle, "keypress", onKeyDown); - }; - - removeEvent(outerWrapper, "mouseover", onMouseOver); - removeEvent(outerWrapper, "mouseout", onMouseOut); - removeEvent(outerWrapper, "mousedown", onMouseDown); - removeEvent(outerWrapper, "touchstart", onMouseDown); - - if(mouseWheelEnabled) { - if (window.addEventListener && !window.devicePixelRatio) window.removeEventListener('DOMMouseScroll', trackMouseWheel, false); - else { - removeEvent(document, "mousewheel", trackMouseWheel); - removeEvent(window, "mousewheel", trackMouseWheel); - }; - }; - } catch(err) {}; - - clearTimeout(timer); - removeClass(outerWrapper, "fd-slider-focused"); - removeClass(outerWrapper, "fd-slider-active"); - - addClass(outerWrapper, "fd-slider-disabled"); - outerWrapper.setAttribute("aria-disabled", true); - inp.disabled = disabled = true; - - if(!noCallback) { - callback("disable"); - }; - }; - - function enableSlider(noCallback) { - if(!disabled && !noCallback) return; - - addEvent(handle, "focus", onFocus); - addEvent(handle, "blur", onBlur); - - if(!isOpera) { - addEvent(handle, "keydown", onKeyDown); - addEvent(handle, "keypress", onKeyPress); - } else { - addEvent(handle, "keypress", onKeyDown); - }; - - addEvent(outerWrapper, "touchstart", onMouseDown); - addEvent(outerWrapper, "mousedown", onMouseDown); - addEvent(outerWrapper, "mouseover", onMouseOver); - addEvent(outerWrapper, "mouseout", onMouseOut); - - removeClass(outerWrapper, "fd-slider-disabled"); - outerWrapper.setAttribute("aria-disabled", false); - inp.disabled = disabled = touchEvents = false; - - if(!noCallback) { - callback("enable"); - }; - }; - - // Destroys a slider - function destroySlider() { - // Clear any timeouts - clearTimeout(timer); - - // Remove pointers to DOM nodes - wrapper = bar = handle = outerWrapper = timer = null; - - // Call the "destroy" callback - callback("destroy"); - - // Delete the callback functions - callbacks = null; - }; - - // Calculates the pixel increment etc - function redraw() { - locate(); - // Internet Explorer requires the try catch - try { - var sW = outerWrapper.offsetWidth, - sH = outerWrapper.offsetHeight, - hW = handle.offsetWidth, - hH = handle.offsetHeight, - bH = bar.offsetHeight, - bW = bar.offsetWidth, - mPx = vertical ? sH - hH : sW - hW; - - stepPx = mPx / steps; - rMinPx = Math.max(scale ? percentToPixels(valueToPercent(rMin)) : Math.abs((rMin - min) / step) * stepPx, 0); - rMaxPx = Math.min(scale ? percentToPixels(valueToPercent(rMax)) : Math.abs((rMax - min) / step) * stepPx, Math.floor(vertical ? sH - hH : sW - hW)); - - sliderW = sW; - sliderH = sH; - - // Use the input value - valueToPixels(html5Shim || forceValue ? getWorkingValueFromInput() : (tagName == "select" ? inp.selectedIndex : parseFloat(inp.value))); - - } catch(err) {}; - callback("redraw"); - }; - - // Calls a callback function - function callback(type) { - if(!html5Shim) { - if(callbacks.hasOwnProperty(type)) { - var cbObj = {"disabled":disabled, "elem":inp, "value":tagName == "select" ? inp.options[inp.selectedIndex].value : inp.value}; - - // Call all functions in sequence - for(var i = 0, func; func = callbacks[type][i]; i++) { - func.call(inp, cbObj); - }; - }; - } else if(type.match(/^(blur|focus|change)$/i)) { - if(typeof(document.createEventObject) != 'undefined') { - try { - var e = document.createEventObject(); - inp.fireEvent('on' + type.toLowerCase(), e); - } catch(err){ }; - } else if(typeof(document.createEvent) != 'undefined') { - var e = document.createEvent('HTMLEvents'); - e.initEvent(type, true, true); - inp.dispatchEvent(e); - }; - }; - }; - - // FOCUS & BLUR events - function onFocus(e) { - addClass(outerWrapper, 'fd-slider-focused'); - - // Is the value said to have been set by the user onfocus - if(varSetRules.onfocus) { - userSet = true; - valueToPixels(getWorkingValueFromInput()); - }; - - // If mousewheel events required then add them - if(mouseWheelEnabled) { - addEvent(window, 'DOMMouseScroll', trackMouseWheel); - addEvent(document, 'mousewheel', trackMouseWheel); - if(!isOpera) addEvent(window, 'mousewheel', trackMouseWheel); - }; - - // Callback... - callback("focus"); - return true; - }; - - function onBlur(e) { - removeClass(outerWrapper, 'fd-slider-focused'); - - // Remove mousewheel events if necessary - if(mouseWheelEnabled) { - removeEvent(document, 'mousewheel', trackMouseWheel); - removeEvent(window, 'DOMMouseScroll', trackMouseWheel); - if(!isOpera) removeEvent(window, 'mousewheel', trackMouseWheel); - }; - - kbEnabled = true; - - // Callback... - callback("blur"); - }; - - // MOUSEWHEEL events - function trackMouseWheel(e) { - if(!kbEnabled) return; - e = e || window.event; - var delta = 0; - - if (e.wheelDelta) { - delta = e.wheelDelta/120; - // Older versions of Opera require a small hack to inverse the delta - if (isOpera && window.opera.version() < 9.2) delta = -delta; - } else if(e.detail) { - delta = -e.detail/3; - }; - - if(vertical) { delta = -delta; }; - - if(delta) { - var value = getWorkingValueFromInput(); - - value += (delta < 0) ? -step : step; - - userSet = true; - valueToPixels(getValidValue(value)); - }; - - return stopEvent(e); - }; - - // KEYBOARD events - function onKeyPress(e) { - e = e || window.event; - // Let all non-hijacked keyboard events pass - if((e.keyCode >= 33 && e.keyCode <= 40) || !kbEnabled || e.keyCode == 45 || e.keyCode == 46) { - return stopEvent(e); - }; - return true; - }; - - function onKeyDown(e) { - if(!kbEnabled) return true; - - e = e || window.event; - var kc = e.keyCode != null ? e.keyCode : e.charCode; - - if ( kc < 33 || (kc > 40 && (kc != 45 && kc != 46))) return true; - - var value = getWorkingValueFromInput(); - - if( kc == 37 || kc == 40 || kc == 46 || kc == 34) { - // left, down, ins, page down - value -= (e.ctrlKey || kc == 34 ? +maxStep : +step); - } else if( kc == 39 || kc == 38 || kc == 45 || kc == 33) { - // right, up, del, page up - value += (e.ctrlKey || kc == 33 ? +maxStep : +step); - } else if( kc == 35 ) { - // max - value = rMax; - } else if( kc == 36 ) { - // min - value = rMin; - }; - - userSet = true; - valueToPixels(getValidValue(value)); - - callback("update"); - - // Opera doesn't let us cancel key events so the up/down arrows and home/end buttons will scroll the screen - which sucks - preventDefault(e); - }; - - // MOUSE & TOUCH events - - // Mouseover the slider - function onMouseOver(e) { - addClass(outerWrapper, 'fd-slider-hover'); - }; - - // Mouseout of the slider - function onMouseOut(e) { - // Should really check we are not still in the slider - removeClass(outerWrapper, 'fd-slider-hover'); - }; - - // Mousedown on the slider - function onMouseDown(e) { - e = e || window.event; - - // Stop page scrolling - preventDefault(e); - - // Grab the event target - var targ; - if (e.target) targ = e.target; - else if (e.srcElement) targ = e.srcElement; - if(targ.nodeType == 3) targ = targ.parentNode; - - // Are we using touchEvents - if(e.touches) { - // Skip gestures - if(e.targetTouches && e.targetTouches.length != 1) { - return false; - }; - - e = e.touches[0]; - touchEvents = true; - }; - - // Stop any animation timers - clearTimeout(timer); - timer = null; - - // Not keyboard enabled - kbEnabled = false; - - // User has set a value - userSet = true; - - // Handle mousedown - initiate drag - if(targ.className.search("fd-slider-handle") != -1) { - mousePos = vertical ? e.clientY : e.clientX; - handlePos = parseInt(vertical ? handle.offsetTop : handle.offsetLeft)||0; - - // Set a value on first click even if no movement - trackMouse(e); - - if(!touchEvents) { - addEvent(document, 'mousemove', trackMouse); - addEvent(document, 'mouseup', stopDrag); - } else { - addEvent(document, 'touchmove', trackMouse); - addEvent(document, 'touchend', stopDrag); - // Remove mouseEvents to stop them firing after the touch event - removeEvent(outerWrapper, "mousedown", onMouseDown); - }; - - addClass(outerWrapper, 'fd-slider-active'); - addClass(document.body, "fd-slider-drag-" + (vertical ? "vertical" : "horizontal")); - - // Wrapper mousedown - initiate animation to click point - } else { - locate(); - - var posx = 0, - sLft = 0, - sTop = 0; - - // Internet Explorer doctype woes - if (document.documentElement && document.documentElement.scrollTop) { - sTop = document.documentElement.scrollTop; - sLft = document.documentElement.scrollLeft; - } else if (document.body) { - sTop = document.body.scrollTop; - sLft = document.body.scrollLeft; - }; - - if (e.pageX) posx = vertical ? e.pageY : e.pageX; - else if (e.clientX) posx = vertical ? e.clientY + sTop : e.clientX + sLft; - - posx -= vertical ? y + Math.round(handle.offsetHeight / 2) : x + Math.round(handle.offsetWidth / 2); - posx = snapToPxValue(posx); - - // Tween animation to click point - if(animation == "tween") { - addClass(outerWrapper, 'fd-slider-active'); - tweenTo(posx); - // Progressive increment to click point - } else if(animation == "timed") { - addClass(outerWrapper, 'fd-slider-active'); - addEvent(document, touchEvents ? 'touchend' : 'mouseup', onDocMouseUp); - destPos = posx; - onTimer(); - // Immediate jump to click point - } else { - pixelsToValue(posx); - //addEvent(document, touchEvents ? 'touchend' : 'mouseup', onMouseUp); - }; - }; - - return stopEvent(e); - }; - - // Progressive increment to click point - clear the animation timer and remove the mouseup/touchend event - function onDocMouseUp( e ) { - e = e || window.event; - - preventDefault(e); - removeEvent(document, touchEvents ? 'touchend' : 'mouseup', onDocMouseUp); - removeClass(outerWrapper, "fd-slider-active"); - - clearTimeout(timer); - timer = null; - kbEnabled = true; - - return stopEvent(e); - }; - - // Mouseup or touchend event on the document to stop drag - function stopDrag(e) { - e = e || window.event; - - preventDefault(e); - - if(touchEvents) { - removeEvent(document, 'touchmove', trackMouse); - removeEvent(document, 'touchend', stopDrag); - } else { - removeEvent(document, 'mousemove', trackMouse); - removeEvent(document, 'mouseup', stopDrag); - }; - - kbEnabled = true; - removeClass(document.body, "fd-slider-drag-" + (vertical ? "vertical" : "horizontal")); - removeClass(outerWrapper, "fd-slider-active"); - - return stopEvent(e); - }; - - // Mousemove or touchmove event on the drag handle - function trackMouse(e) { - e = e || window.event; - - preventDefault(e); - - if(e.touches) { - // Skip gestures - if(e.targetTouches && e.targetTouches.length != 1) { - return false; - }; - e = e.touches[0]; - }; - - pixelsToValue(snapToPxValue(handlePos + (vertical ? e.clientY - mousePos : e.clientX - mousePos))); - - return false; - }; - - // Increments the slider by "inc" steps - function increment(inc) { - var value = getWorkingValueFromInput(); - userSet = true; - value += inc * step; - valueToPixels(getValidValue(value)); - }; - - // Attempts to locate the on-screen position of the slider - function locate(){ - var curleft = 0, - curtop = 0, - obj = outerWrapper; - - // Try catch for IE's benefit - try { - while (obj.offsetParent) { - curleft += obj.offsetLeft; - curtop += obj.offsetTop; - obj = obj.offsetParent; - }; - } catch(err) {}; - x = curleft; - y = curtop; - }; - - // Used during the progressive animation to click point - function onTimer() { - var xtmp = parseInt(vertical ? handle.offsetTop : handle.offsetLeft, 10); - xtmp = Math.round((destPos < xtmp) ? Math.max(destPos, Math.floor(xtmp - stepPx)) : Math.min(destPos, Math.ceil(xtmp + stepPx))); - - pixelsToValue(snapToPxValue(xtmp)); - if(xtmp != destPos) timer = setTimeout(onTimer, steps > 20 ? 50 : 100); - else { - kbEnabled = true; - removeClass(outerWrapper, "fd-slider-active"); - - callback("finalise"); - }; - }; - - var tween = function(){ - frame++; - var c = tweenC, - d = 20, - t = frame, - b = tweenB, - x = Math.ceil((t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b); - - pixelsToValue(t == d ? tweenX : x); - - if(t!=d) { - // Call the "move" callback on each animation increment - callback("move"); - timer = setTimeout(tween, 20); - } else { - clearTimeout(timer); - timer = null; - kbEnabled = true; - - removeClass(outerWrapper, "fd-slider-focused"); - removeClass(outerWrapper, "fd-slider-active"); - - // Call the "finalise" callback whenever the animation is complete - callback("finalise"); - }; - }; - - function tweenTo(tx){ - kbEnabled = false; - tweenX = parseInt(tx, 10); - tweenB = parseInt(vertical ? handle.offsetTop : handle.offsetLeft, 10); - tweenC = tweenX - tweenB; - tweenD = 20; - frame = 0; - - if(!timer) { timer = setTimeout(tween, 20); }; - }; - - // Returns a value within the range - function checkValue(value) { - if(isNaN(value) || value === "" || typeof value == "undefined") { - userSet = false; - return defaultVal; - } else if(value < Math.min(rMin,rMax)) { - userSet = false; - return Math.min(rMin,rMax); - } else if(value > Math.max(rMin,rMax)) { - userSet = false; - return Math.max(rMin,rMax); - }; - userSet = true; - return value; - }; - - // Returns a value within a range - uses the form element value as base - function getWorkingValueFromInput() { - return getValidValue(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); - }; - - // Returns a value within the range - function getValidValue(value) { - return (isNaN(value) || value === "" || typeof value == "undefined") ? defaultVal : Math.min(Math.max(value, Math.min(rMin,rMax)), Math.max(rMin,rMax)); - }; - - // Calculates value according to pixel position of slider handle - function pixelsToValue(px) { - var val = getValidValue(scale ? percentToValue(pixelsToPercent(px)) : vertical ? max - (Math.round(px / stepPx) * step) : min + (Math.round(px / stepPx) * step)); - - handle.style[vertical ? "top" : "left"] = (px || 0) + "px"; - redrawRange(); - setInputValue((tagName == "select" || step == 1) ? Math.round(val) : val); - }; - - // Calculates pixel position according to form element value - function valueToPixels(val) { - var clearVal = false, - value; - - // Allow empty values for non-polyfill sliders - if((typeof val == "undefined" || isNaN(val) || val === "") && tagName == "input" && !(html5Shim || forceValue)) { - value = defaultVal; - clearVal = true; - userSet = false; - } else { - value = checkValue(val); - }; - - handle.style[vertical ? "top" : "left"] = (scale ? percentToPixels(valueToPercent(value)) : vertical ? Math.round(((max - value) / step) * stepPx) : Math.round(((value - min) / step) * stepPx)) + "px"; - redrawRange(); - setInputValue(clearVal ? "" : value); - }; - - // Rounds a pixel value to the nearest "snap" point on the slider scale - function snapToPxValue(px) { - if(scale) { - return Math.max(Math.min(rMaxPx, px), rMinPx); - } else { - var rem = px % stepPx; - if(rem && rem >= (stepPx / 2)) { px += (stepPx - rem); } - else { px -= rem; }; - - if(px < Math.min(Math.abs(rMinPx), Math.abs(rMaxPx))) px = Math.min(Math.abs(rMinPx), Math.abs(rMaxPx)); - else if(px > Math.max(Math.abs(rMinPx), Math.abs(rMaxPx))) px = Math.max(Math.abs(rMinPx), Math.abs(rMaxPx)); - - return Math.min(Math.max(px, 0), rMaxPx); - }; - }; - - // Calculates a value according to percentage of distance handle has travelled - function percentToValue(pct) { - var st = 0, - fr = min, - value; - - for(var s in scale) { - if(!scale.hasOwnProperty(s)) { - continue; - }; - - if(pct >= st && pct <= +s ) { - value = fr + ((pct - st) * (+scale[s] - fr) ) / (+s - st); - }; - - st = +s; - fr = +scale[s]; - }; - - return value; - }; - - // Calculates the percentage handle position according to form element value - function valueToPercent(value) { - var st = 0, - fr = min, - pct = 0; - - for(var s in scale) { - if(!scale.hasOwnProperty(s)) { - continue; - }; - - if(value >= fr && value <= +scale[s]){ - pct = st + (value - fr) * (+s - st) / (+scale[s] - fr); - }; - - st = +s; - fr = +scale[s]; - }; - - return pct; - }; - - function percentToPixels(percent) { - return ((outerWrapper[vertical ? "offsetHeight" : "offsetWidth"] - handle[vertical ? "offsetHeight" : "offsetWidth"]) / 100) * percent; - }; - - function pixelsToPercent(pixels) { - return pixels / ((outerWrapper[vertical ? "offsetHeight" : "offsetWidth"] - outerWrapper[handle ? "offsetHeight" : "offsetWidth"]) / 100); - }; - - // Sets the form element with a valid value - function setInputValue(val) { - callback("update"); - - // If the user has not set this value or has entered an incorrect value then set a class - // to enable styling of the slider - if(!userSet) { - addClass(outerWrapper, "fd-slider-no-value"); - } else { - removeClass(outerWrapper, "fd-slider-no-value"); - }; - - if(tagName == "select") { - try { - val = parseInt(val, 10); - if(inp.selectedIndex === val) return; - inp.options[val].selected = true; - } catch (err) {}; - } else { - if(val != "") { - val = (min + (Math.round((val - min) / step) * step)).toFixed(precision); - }; - if(inp.value === val) { - return; - }; - inp.value = val; - }; - - updateAriaValues(); - callback("change"); - }; - - function checkInputValue(value) { - return !(isNaN(value) || value === "" || value < Math.min(rMin,rMax) || value > Math.max(rMin,rMax)); - }; - - function setSliderRange(newMin, newMax) { - if(rMin > rMax) { - newMin = Math.min(min, Math.max(newMin, newMax)); - newMax = Math.max(max, Math.min(newMin, newMax)); - rMin = Math.max(newMin, newMax); - rMax = Math.min(newMin, newMax); - } else { - newMin = Math.max(min, Math.min(newMin, newMax)); - newMax = Math.min(max, Math.max(newMin, newMax)); - rMin = Math.min(newMin, newMax); - rMax = Math.max(newMin, newMax); - }; - - if(defaultVal < Math.min(rMin, rMax)) defaultVal = Math.min(rMin, rMax); - else if(defaultVal > Math.max(rMin, rMax)) defaultVal = Math.max(rMin, rMax); - - handle.setAttribute("aria-valuemin", rMin); - handle.setAttribute("aria-valuemax", rMax); - - checkValue(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); - redraw(); - }; - - function redrawRange() { - if(noRangeBar) { - return; - }; - if(vertical) { - rangeBar.style["height"] = (bar.offsetHeight - handle.offsetTop) + "px"; - } else { - rangeBar.style["width"] = handle.offsetLeft + "px"; - }; - }; - - function findLabel() { - var label = false, - labelList = document.getElementsByTagName('label'); - // loop through label array attempting to match each 'for' attribute to the id of the current element - for(var i = 0, lbl; lbl = labelList[i]; i++) { - // Internet Explorer requires the htmlFor test - if((lbl['htmlFor'] && lbl['htmlFor'] == inp.id) || (lbl.getAttribute('for') == inp.id)) { - label = lbl; - break; - }; - }; - - if(label && !label.id) { label.id = inp.id + "_label"; }; - return label; - }; - - function updateAriaValues() { - handle.setAttribute("aria-valuenow", tagName == "select" ? inp.options[inp.selectedIndex].value : inp.value); - handle.setAttribute("aria-valuetext", tagName == "select" ? (inp.options[inp.selectedIndex].text ? inp.options[inp.selectedIndex].text : inp.options[inp.selectedIndex].value) : inp.value); - }; - - function onInputChange(e) { - userSet = true; - valueToPixels(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); - updateAriaValues(); - }; - - function valueSet(tf) { - userSet = !!tf; - }; - - (function() { - - if(html5Shim || hideInput) { - addClass(inp, "fd-form-element-hidden"); - } else { - addEvent(inp, 'change', onInputChange); - }; - - // Add stepUp & stepDown methods to input element if using the html5Shim - if(html5Shim) { - inp.stepUp = function(n) { increment(n||1); }; - inp.stepDown = function(n) { increment(n||-1); }; - }; - - outerWrapper = document.createElement('span'); - outerWrapper.className = "fd-slider" + (vertical ? "-vertical " : " ") + (!html5Shim ? " fd-slider-no-value " : "") + classNames; - outerWrapper.id = "fd-slider-" + inp.id; - - if(vertical && inpHeight) { - outerWrapper.style.height = inpHeight + "px"; - }; - - wrapper = document.createElement('span'); - wrapper.className = "fd-slider-inner"; - - bar = document.createElement('span'); - bar.className = "fd-slider-bar"; - - if(!noRangeBar) { - rangeBar = document.createElement('span'); - rangeBar.className = "fd-slider-range"; - }; - - if(fullARIA) { - handle = document.createElement('span'); - handle.tabIndex = 0; - } else { - handle = document.createElement('a'); - handle.setAttribute("href", "#"); - }; - - handle.className = "fd-slider-handle"; - handle.appendChild(document.createTextNode(String.fromCharCode(160))); - - outerWrapper.appendChild(wrapper); - if(!noRangeBar) { - outerWrapper.appendChild(rangeBar); - }; - outerWrapper.appendChild(bar); - outerWrapper.appendChild(handle); - - inp.parentNode.insertBefore(outerWrapper, inp); - - /*@cc_on@*/ - /*@if(@_win32) - handle.unselectable = "on"; - if(!noRangeBar) rangeBar.unselectable = "on"; - bar.unselectable = "on"; - wrapper.unselectable = "on"; - outerWrapper.unselectable = "on"; - /*@end@*/ - - // Add ARIA accessibility info programmatically - outerWrapper.setAttribute("role", "application"); - - handle.setAttribute("role", "slider"); - handle.setAttribute("aria-valuemin", tagName == "select" ? inp.options[0].value : min); - handle.setAttribute("aria-valuemax", tagName == "select" ? inp.options[inp.options.length - 1].value : max); - - var lbl = findLabel(); - if(lbl) { - handle.setAttribute("aria-labelledby", lbl.id); - handle.id = "fd-slider-handle-" + inp.id; - /*@cc_on - /*@if(@_win32) - lbl.setAttribute("htmlFor", handle.id); - @else @*/ - lbl.setAttribute("for", handle.id); - /*@end - @*/ - }; - - // Are there page instructions - if(document.getElementById(describedBy)) { - handle.setAttribute("aria-describedby", describedBy); - }; - - // Is the form element initially disabled - if(inp.getAttribute("disabled") == true) { - disableSlider(true); - } else { - enableSlider(true); - }; - - // Does an initial form element value mean the user has set a valid value? - // Note: This only works onload on IE - if(varSetRules.onvalue) { - userSet = true; - checkValue(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); - }; - - updateAriaValues(); - callback("create"); - redraw(); - })(); - - return { - onResize: function(e) { if(outerWrapper.offsetHeight != sliderH || outerWrapper.offsetWidth != sliderW) { redraw(); }; }, - destroy: function() { destroySlider(); }, - reset: function() { valueToPixels(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); }, - stepUp: function(n) { increment(Math.abs(n)||1); }, - stepDown: function(n) { increment(-Math.abs(n)||-1); }, - increment: function(n) { increment(n); }, - disable: function() { disableSlider(); }, - enable: function() { enableSlider(); }, - setRange: function(mi, mx) { setSliderRange(mi, mx); }, - getValueSet: function() { return !!userSet; }, - setValueSet: function(tf) { valueSet(tf); }, - ieCheckValue: function() { if(varSetRules.onvalue) { userSet = true; checkValue(tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex); updateAriaValues(); redraw(); }; } - }; - }; - - addEvent(window, "load", init); - addEvent(window, "resize", resize); - addEvent(window, "unload", unload); - - // Have we been passed JSON within the including script tag - (function() { - var scriptFiles = document.getElementsByTagName('script'), - scriptInner = String(scriptFiles[scriptFiles.length - 1].innerHTML).replace(/[\n\r\s\t]+/g, " ").replace(/^\s+/, "").replace(/\s+$/, ""), - json = parseJSON(scriptInner); - - if(typeof json === "object" && !("err" in json)) { - affectJSON(json); - }; - })(); - - // Add oldie class if needed for IE < 9 - /*@cc_on - @if (@_jscript_version < 9) - addClass(document.documentElement, "oldie"); - @end - @*/ - - return { - createSlider: function(opts) { createSlider(opts); }, - destroyAll: function() { destroyAllsliders(); }, - destroySlider: function(id) { return destroySingleSlider(id); }, - redrawAll: function() { resize(); }, - increment: function(id, numSteps) { if(!(id in sliders)) { return false; }; sliders[id].increment(numSteps); }, - stepUp: function(id, n) { if(!(id in sliders)) { return false; }; sliders[id].stepUp(Math.abs(n)||1); }, - stepDown: function(id, n) { if(!(id in sliders)) { return false; }; sliders[id].stepDown(-Math.abs(n)||-1); }, - setRange: function(id, newMin, newMax) { if(!(id in sliders)) { return false; }; sliders[id].setRange(newMin, newMax); }, - addEvent: addEvent, - removeEvent: removeEvent, - stopEvent: stopEvent, - updateSlider: function(id) { if(!(id in sliders)) { return false; }; sliders[id].reset(); }, - onDomReady: function() { onDomReady(); }, - disable: function(id) { if(!(id in sliders)) { return false; }; sliders[id].disable(); }, - enable: function(id) { if(!(id in sliders)) { return false; }; sliders[id].enable(); }, - getValueSet: function() { return getValueSet(); }, - setValueSet: function(a, tf) { setValueSet(a, tf); }, - setGlobalVariables: function(json) { affectJSON(json); }, - removeOnload: function() { removeOnLoadEvent(); } - }; -})(); \ No newline at end of file diff --git a/ietf/static/ietf/js/agenda/spin/assets/github.gif b/ietf/static/ietf/js/agenda/spin/assets/github.gif deleted file mode 100644 index 779bc73070038b81402699ef19175d01231109cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1298 zcmaKnZBUa10LP#0+54V7+Y;FT*`C2*W5C{c+1MM~^9(Vh90Dg0$VAuCoz&Kiv={C+ zL>-7aQ&Ez1lyF!VuC&Cw$UO`WiER1Op~eY`*GlSUV&Ka~b=Rjp_~G~QcfbF?`1#e^ zf=yOH09*$ESw=>NR4SE7Boyy-m#J&$-VZvE`%Y=wb;^dWiB5hbb=M_U@*7d<=5pU#X<-9gRwbf0~_FR~qtsOi) z4{;ye9fij?Zu@g?ZZpnflPAtbL)a_@j!)3{CnX&87uLhIzaJ}qkR|Fj&H;>Fi&xi_ z3a{>yJ!($4akS;>bZPiZflxg-*6yilzN)tUhN}g~ioYC73aP1oRnyiVk#R;?F9tf> zf7oXK_<`#?C7$@j*IIK=ppzstnuBAkCf|x4`1YGN5cdB#I!&R7ud!M3CCZdQ5sXb! z7UpBi$&~d~k~WXaU|Z)hjq^4^!gfiQ;mIe9MO4*5v0yvuFZ-!|(6WKTM78HQ>$0=M z7Oe^4?53s!5npH0Q;C(`fBp{ESdZMe%_BYvVuulatd3za#71enS~3B^!uEbc@+5%3 zq!~Mxs|h2Z*A#Vvuy)|w2%v>xC-d^AfD(8o1DC?BQ5#r^NoUGQ&+)hH;~S%qG1%L2 zCxczH;NhIIF8D#T=5U9s_T=aHUl|ai&M3o?I|DK$jgcKtT7|t87_P8|h>6l(58b%n z@s_nT*h2Jan=M4vO)9gQ#vue`-ivuq7&z+mk~OjZWg?e&NCmQ2OnO23)?p`sl}37R zguJzZbDAALDQaVo-8TU;>9YV4+R_)p397RQk!7rkn8_uRPOJr{1$GWOpc#xA7v_N7 z8;?6fI<%H^ktGuYbM!D?X-T8G-QUwGZW2Jr3fs+0Db0@)1|bAv@ehT(AbTmj@AZ{& z{?VfN#z2T8zhEaYS4N$dZ!3-yKwn+Y3|h?G5?{J+S_) Lzm;et5di()gmuoB diff --git a/ietf/static/ietf/js/agenda/spin/assets/jquery.js b/ietf/static/ietf/js/agenda/spin/assets/jquery.js deleted file mode 100644 index 32d50cb0e..000000000 --- a/ietf/static/ietf/js/agenda/spin/assets/jquery.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery.min.map -*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
t
",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("