From 4564bbe48f62f40fd66bd22cb3d0b8d97caea6ee Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 24 Mar 2011 19:50:45 +0000 Subject: [PATCH 01/48] Upgrade jQuery to 1.5.1 --- JqueryGrailsPlugin.groovy | 3 +- application.properties | 2 +- grails-jquery-1.5.1.zip | Bin 0 -> 174630 bytes plugin.xml | 2 +- scripts/InstallJQuery.groovy | 2 +- .../grails/plugins/jquery/JQueryConfig.groovy | 2 +- .../jquery/{jquery-1.5.js => jquery-1.5.1.js} | 958 ++++++++++-------- web-app/js/jquery/jquery-1.5.1.min.js | 16 + web-app/js/jquery/jquery-1.5.min.js | 16 - 9 files changed, 571 insertions(+), 430 deletions(-) create mode 100644 grails-jquery-1.5.1.zip rename web-app/js/jquery/{jquery-1.5.js => jquery-1.5.1.js} (91%) create mode 100644 web-app/js/jquery/jquery-1.5.1.min.js delete mode 100644 web-app/js/jquery/jquery-1.5.min.js diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index ad138a6..693448e 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -23,7 +23,8 @@ import org.codehaus.groovy.grails.commons.ConfigurationHolder class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version - def version = JQueryConfig.SHIPPED_VERSION + // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file + def version = "1.5.1" static SHIPPED_SRC_DIR = 'jquery' diff --git a/application.properties b/application.properties index 1544994..c8de1d4 100755 --- a/application.properties +++ b/application.properties @@ -1,4 +1,4 @@ #Grails Metadata file #Sat Oct 16 14:36:22 CEST 2010 -app.grails.version=1.3.5 +app.grails.version=1.3.7 app.name=grails-jquery diff --git a/grails-jquery-1.5.1.zip b/grails-jquery-1.5.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..6528810c685684b91f6551550da81df8ce09439f GIT binary patch literal 174630 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

dI%pR4r4`4Z)u$oXn^A+hb-cn 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 + Sergey Nebolsin, Craig Jone, Marc Palmer and Finn Herpich nebolsin@gmail.com, craigjones@maximsc.com, marc@grailsrocks.com and finn.herpich@marfinn-software.de JQuery for Grails diff --git a/scripts/InstallJQuery.groovy b/scripts/InstallJQuery.groovy index c542a8a..0211921 100644 --- a/scripts/InstallJQuery.groovy +++ b/scripts/InstallJQuery.groovy @@ -2,7 +2,7 @@ Ant.property(environment:"env") grailsHome = Ant.antProject.properties."env.GRAILS_HOME" // Hard coded for installation purpose -def jQueryVersion = '1.4.4' +def jQueryVersion = '1.5.1' def jQuerySources = 'jquery' includeTargets << grailsScript("_GrailsEvents") diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index 751209e..f1d0d31 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -27,7 +27,7 @@ public class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.5' + static SHIPPED_VERSION = '1.5.1' def init() { ApplicationHolder.application.metadata.findAll{ key, value -> diff --git a/web-app/js/jquery/jquery-1.5.js b/web-app/js/jquery/jquery-1.5.1.js similarity index 91% rename from web-app/js/jquery/jquery-1.5.js rename to web-app/js/jquery/jquery-1.5.1.js index 5c99a8d..78fcfa4 100644 --- a/web-app/js/jquery/jquery-1.5.js +++ b/web-app/js/jquery/jquery-1.5.1.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.5 + * jQuery JavaScript Library v1.5.1 * http://jquery.com/ * * Copyright 2011, John Resig @@ -11,7 +11,7 @@ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * - * Date: Mon Jan 31 08:31:29 2011 -0500 + * Date: Wed Feb 23 13:55:29 2011 -0500 */ (function( window, undefined ) { @@ -202,7 +202,7 @@ jQuery.fn = jQuery.prototype = { selector: "", // The current version of jQuery being used - jquery: "1.5", + jquery: "1.5.1", // The default length of a jQuery object is 0 length: 0, @@ -313,7 +313,7 @@ jQuery.fn = jQuery.prototype = { jQuery.fn.init.prototype = jQuery.fn; jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, + var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, @@ -585,10 +585,8 @@ jQuery.extend({ if ( data && rnotwhite.test(data) ) { // Inspired by code by Andrea Giammarchi // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; + var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, + script = document.createElement( "script" ); if ( jQuery.support.scriptEval() ) { script.appendChild( document.createTextNode( data ) ); @@ -864,6 +862,12 @@ jQuery.extend({ callbacks.shift().apply( context, args ); } } + // We have to add a catch block for + // IE prior to 8 or else the finally + // block will never get executed + catch (e) { + throw e; + } finally { fired = [ context, args ]; firing = 0; @@ -911,22 +915,22 @@ jQuery.extend({ isRejected: failDeferred.isResolved, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object - promise: function( obj , i /* internal */ ) { + promise: function( obj ) { if ( obj == null ) { if ( promise ) { return promise; } promise = obj = {}; } - i = promiseMethods.length; + var i = promiseMethods.length; while( i-- ) { - obj[ promiseMethods[ i ] ] = deferred[ promiseMethods[ i ] ]; + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; } return obj; } } ); // Make sure only one callback list will be used - deferred.then( failDeferred.cancel, deferred.cancel ); + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); // Unexpose cancel delete deferred.cancel; // Call given func if any @@ -938,24 +942,34 @@ jQuery.extend({ // Deferred helper when: function( object ) { - var args = arguments, - length = args.length, - deferred = length <= 1 && object && jQuery.isFunction( object.promise ) ? + var lastIndex = arguments.length, + deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? object : jQuery.Deferred(), - promise = deferred.promise(), - resolveArray; - - if ( length > 1 ) { - resolveArray = new Array( length ); - jQuery.each( args, function( index, element ) { - jQuery.when( element ).then( function( value ) { - resolveArray[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; - if( ! --length ) { - deferred.resolveWith( promise, resolveArray ); - } - }, deferred.reject ); - } ); + promise = deferred.promise(); + + if ( lastIndex > 1 ) { + var array = slice.call( arguments, 0 ), + count = lastIndex, + iCallback = function( index ) { + return function( value ) { + array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( promise, array ); + } + }; + }; + while( ( lastIndex-- ) ) { + object = array[ lastIndex ]; + if ( object && jQuery.isFunction( object.promise ) ) { + object.promise().then( iCallback(lastIndex), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( promise, array ); + } } else if ( deferred !== object ) { deferred.resolve( object ); } @@ -1071,7 +1085,7 @@ function doScrollCheck() { } // Expose jQuery to the global object -return (window.jQuery = window.$ = jQuery); +return jQuery; })(); @@ -1088,7 +1102,8 @@ return (window.jQuery = window.$ = jQuery); var all = div.getElementsByTagName("*"), a = div.getElementsByTagName("a")[0], select = document.createElement("select"), - opt = select.appendChild( document.createElement("option") ); + opt = select.appendChild( document.createElement("option") ), + input = div.getElementsByTagName("input")[0]; // Can't get basic test support if ( !all || !all.length || !a ) { @@ -1127,7 +1142,7 @@ return (window.jQuery = window.$ = jQuery); // Make sure that if no value is specified for a checkbox // that it defaults to "on". // (WebKit defaults to "" instead) - checkOn: div.getElementsByTagName("input")[0].value === "on", + checkOn: input.value === "on", // Make sure that a selected-by-default option has a working selected property. // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) @@ -1137,26 +1152,29 @@ return (window.jQuery = window.$ = jQuery); deleteExpando: true, optDisabled: false, checkClone: false, - _scriptEval: null, noCloneEvent: true, + noCloneChecked: true, boxModel: null, inlineBlockNeedsLayout: false, shrinkWrapBlocks: false, reliableHiddenOffsets: true }; + input.checked = true; + jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + // Make sure that the options inside disabled selects aren't marked as disabled // (WebKit marks them as diabled) select.disabled = true; jQuery.support.optDisabled = !opt.disabled; + var _scriptEval = null; jQuery.support.scriptEval = function() { - if ( jQuery.support._scriptEval === null ) { + if ( _scriptEval === null ) { var root = document.documentElement, script = document.createElement("script"), id = "script" + jQuery.now(); - script.type = "text/javascript"; try { script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); } catch(e) {} @@ -1167,10 +1185,10 @@ return (window.jQuery = window.$ = jQuery); // tag with appendChild/createTextNode // (IE doesn't support this, fails, and uses .text instead) if ( window[ id ] ) { - jQuery.support._scriptEval = true; + _scriptEval = true; delete window[ id ]; } else { - jQuery.support._scriptEval = false; + _scriptEval = false; } root.removeChild( script ); @@ -1178,7 +1196,7 @@ return (window.jQuery = window.$ = jQuery); root = script = id = null; } - return jQuery.support._scriptEval; + return _scriptEval; }; // Test to see if it's possible to delete an expando from an element @@ -1190,7 +1208,7 @@ return (window.jQuery = window.$ = jQuery); jQuery.support.deleteExpando = false; } - if ( div.attachEvent && div.fireEvent ) { + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { div.attachEvent("onclick", function click() { // Cloning a node shouldn't copy over any // bound event handlers (IE does this) @@ -1321,7 +1339,7 @@ jQuery.extend({ hasData: function( elem ) { elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !jQuery.isEmptyObject(elem); + return !!elem && !isEmptyDataObject( elem ); }, data: function( elem, name, data, pvt /* Internal Use Only */ ) { @@ -1361,11 +1379,18 @@ jQuery.extend({ if ( !cache[ id ] ) { cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } } // An object can be passed to jQuery.data instead of a key/value pair; this gets // shallow copied over onto the existing cache - if ( typeof name === "object" ) { + if ( typeof name === "object" || typeof name === "function" ) { if ( pvt ) { cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); } else { @@ -1427,7 +1452,7 @@ jQuery.extend({ // If there is no data left in the cache, we want to continue // and let the cache object itself get destroyed - if ( !jQuery.isEmptyObject(thisCache) ) { + if ( !isEmptyDataObject(thisCache) ) { return; } } @@ -1439,7 +1464,7 @@ jQuery.extend({ // Don't destroy the parent cache unless the internal data object // had been the only thing left in it - if ( !jQuery.isEmptyObject(cache[ id ]) ) { + if ( !isEmptyDataObject(cache[ id ]) ) { return; } } @@ -1460,6 +1485,13 @@ jQuery.extend({ // data if it existed if ( internalCache ) { cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + cache[ id ][ internalKey ] = internalCache; // Otherwise, we need to eliminate the expando on the node to avoid @@ -1588,6 +1620,19 @@ function dataAttr( elem, key, data ) { return data; } +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + @@ -1888,6 +1933,11 @@ jQuery.fn.extend({ } } + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + return values; } @@ -2081,8 +2131,7 @@ var rnamespaces = /\.(.*)$/, rescape = /[^\w\s.|`]/g, fcleanup = function( nm ) { return nm.replace(rescape, "\\$&"); - }, - eventKey = "events"; + }; /* * A number of helper functions used for managing events. @@ -2098,17 +2147,22 @@ jQuery.event = { return; } - // For whatever reason, IE has trouble passing the window object - // around, causing it to be cloned in the process - if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { - elem = window; + // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) + // Minor release fix for bug #8018 + try { + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } } + catch ( e ) {} if ( handler === false ) { handler = returnFalse; } else if ( !handler ) { // Fixes bug #7229. Fix recommended by jdalton - return; + return; } var handleObjIn, handleObj; @@ -2132,23 +2186,10 @@ jQuery.event = { return; } - var events = elemData[ eventKey ], + var events = elemData.events, eventHandle = elemData.handle; - if ( typeof events === "function" ) { - // On plain objects events is a fn that holds the the data - // which prevents this data from being JSON serialized - // the function does not need to be called, it just contains the data - eventHandle = events.handle; - events = events.events; - - } else if ( !events ) { - if ( !elem.nodeType ) { - // On plain objects, create a fn that acts as the holder - // of the values to avoid JSON serialization of event data - elemData[ eventKey ] = elemData = function(){}; - } - + if ( !events ) { elemData.events = events = {}; } @@ -2249,17 +2290,12 @@ jQuery.event = { var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, elemData = jQuery.hasData( elem ) && jQuery._data( elem ), - events = elemData && elemData[ eventKey ]; + events = elemData && elemData.events; if ( !elemData || !events ) { return; } - if ( typeof events === "function" ) { - elemData = events; - events = events.events; - } - // types is actually an event object here if ( types && types.type ) { handler = types.handler; @@ -2359,10 +2395,7 @@ jQuery.event = { delete elemData.events; delete elemData.handle; - if ( typeof elemData === "function" ) { - jQuery.removeData( elem, eventKey, true ); - - } else if ( jQuery.isEmptyObject( elemData ) ) { + if ( jQuery.isEmptyObject( elemData ) ) { jQuery.removeData( elem, undefined, true ); } } @@ -2403,7 +2436,7 @@ jQuery.event = { // points to jQuery.expando var internalKey = jQuery.expando, internalCache = this[ internalKey ]; - if ( internalCache && internalCache.events && internalCache.events[type] ) { + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { jQuery.event.trigger( event, data, internalCache.handle.elem ); } }); @@ -2429,9 +2462,7 @@ jQuery.event = { event.currentTarget = elem; // Trigger the event, it is assumed that "handle" is a function - var handle = elem.nodeType ? - jQuery._data( elem, "handle" ) : - (jQuery._data( elem, eventKey ) || {}).handle; + var handle = jQuery._data( elem, "handle" ); if ( handle ) { handle.apply( elem, data ); @@ -2509,11 +2540,7 @@ jQuery.event = { event.namespace = event.namespace || namespace_sort.join("."); - events = jQuery._data(this, eventKey); - - if ( typeof events === "function" ) { - events = events.events; - } + events = jQuery._data(this, "events"); handlers = (events || {})[ event.type ]; @@ -2680,7 +2707,7 @@ jQuery.Event = function( src ) { // Events bubbling up the document may have been marked as prevented // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; // Event type @@ -2755,6 +2782,12 @@ var withinElement = function( event ) { // Firefox sometimes assigns relatedTarget a XUL element // which we cannot access the parentNode property of try { + + // Chrome does something similar, the parentNode property + // can be accessed but is null. + if ( parent !== document && !parent.parentNode ) { + return; + } // Traverse up the tree while ( parent && parent !== this ) { parent = parent.parentNode; @@ -2805,8 +2838,7 @@ if ( !jQuery.support.submitBubbles ) { type = elem.type; if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { - e.liveFired = undefined; - return trigger( "submit", this, arguments ); + trigger( "submit", this, arguments ); } }); @@ -2815,8 +2847,7 @@ if ( !jQuery.support.submitBubbles ) { type = elem.type; if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { - e.liveFired = undefined; - return trigger( "submit", this, arguments ); + trigger( "submit", this, arguments ); } }); @@ -2879,7 +2910,7 @@ if ( !jQuery.support.changeBubbles ) { if ( data != null || val ) { e.type = "change"; e.liveFired = undefined; - return jQuery.event.trigger( e, arguments[1], elem ); + jQuery.event.trigger( e, arguments[1], elem ); } }; @@ -2893,7 +2924,7 @@ if ( !jQuery.support.changeBubbles ) { var elem = e.target, type = elem.type; if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { - return testChange.call( this, e ); + testChange.call( this, e ); } }, @@ -2905,7 +2936,7 @@ if ( !jQuery.support.changeBubbles ) { if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || type === "select-multiple" ) { - return testChange.call( this, e ); + testChange.call( this, e ); } }, @@ -2944,8 +2975,18 @@ if ( !jQuery.support.changeBubbles ) { } function trigger( type, elem, args ) { - args[0].type = type; - return jQuery.event.handle.apply( elem, args ); + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } } // Create "bubbling" focus and blur events @@ -2954,8 +2995,8 @@ if ( document.addEventListener ) { jQuery.event.special[ fix ] = { setup: function() { this.addEventListener( orig, handler, true ); - }, - teardown: function() { + }, + teardown: function() { this.removeEventListener( orig, handler, true ); } }; @@ -3148,11 +3189,7 @@ function liveHandler( event ) { var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, elems = [], selectors = [], - events = jQuery._data( this, eventKey ); - - if ( typeof events === "function" ) { - events = events.events; - } + events = jQuery._data( this, "events" ); // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { @@ -3186,7 +3223,7 @@ function liveHandler( event ) { for ( j = 0; j < live.length; j++ ) { handleObj = live[j]; - if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { elem = close.elem; related = null; @@ -3269,7 +3306,9 @@ var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[ done = 0, toString = Object.prototype.toString, hasDuplicate = false, - baseHasDuplicate = true; + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; // Here we check if the JavaScript engine is using some sort of // optimization where it does not always call our comparision @@ -3468,7 +3507,7 @@ Sizzle.find = function( expr, context, isXML ) { match.splice( 1, 1 ); if ( left.substr( left.length - 1 ) !== "\\" ) { - match[1] = (match[1] || "").replace(/\\/g, ""); + match[1] = (match[1] || "").replace( rBackslash, "" ); set = Expr.find[ type ]( match, context, isXML ); if ( set != null ) { @@ -3607,13 +3646,16 @@ var Expr = Sizzle.selectors = { attrHandle: { href: function( elem ) { return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); } }, relative: { "+": function(checkSet, part){ var isPartStr = typeof part === "string", - isTag = isPartStr && !/\W/.test( part ), + isTag = isPartStr && !rNonWord.test( part ), isPartStrNotTag = isPartStr && !isTag; if ( isTag ) { @@ -3641,7 +3683,7 @@ var Expr = Sizzle.selectors = { i = 0, l = checkSet.length; - if ( isPartStr && !/\W/.test( part ) ) { + if ( isPartStr && !rNonWord.test( part ) ) { part = part.toLowerCase(); for ( ; i < l; i++ ) { @@ -3675,7 +3717,7 @@ var Expr = Sizzle.selectors = { doneName = done++, checkFn = dirCheck; - if ( typeof part === "string" && !/\W/.test(part) ) { + if ( typeof part === "string" && !rNonWord.test( part ) ) { part = part.toLowerCase(); nodeCheck = part; checkFn = dirNodeCheck; @@ -3689,7 +3731,7 @@ var Expr = Sizzle.selectors = { doneName = done++, checkFn = dirCheck; - if ( typeof part === "string" && !/\W/.test( part ) ) { + if ( typeof part === "string" && !rNonWord.test( part ) ) { part = part.toLowerCase(); nodeCheck = part; checkFn = dirNodeCheck; @@ -3732,7 +3774,7 @@ var Expr = Sizzle.selectors = { }, preFilter: { CLASS: function( match, curLoop, inplace, result, not, isXML ) { - match = " " + match[1].replace(/\\/g, "") + " "; + match = " " + match[1].replace( rBackslash, "" ) + " "; if ( isXML ) { return match; @@ -3755,11 +3797,11 @@ var Expr = Sizzle.selectors = { }, ID: function( match ) { - return match[1].replace(/\\/g, ""); + return match[1].replace( rBackslash, "" ); }, TAG: function( match, curLoop ) { - return match[1].toLowerCase(); + return match[1].replace( rBackslash, "" ).toLowerCase(); }, CHILD: function( match ) { @@ -3790,14 +3832,14 @@ var Expr = Sizzle.selectors = { }, ATTR: function( match, curLoop, inplace, result, not, isXML ) { - var name = match[1] = match[1].replace(/\\/g, ""); + var name = match[1] = match[1].replace( rBackslash, "" ); if ( !isXML && Expr.attrMap[name] ) { match[1] = Expr.attrMap[name]; } // Handle if an un-quoted value was used - match[4] = ( match[4] || match[5] || "" ).replace(/\\/g, ""); + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); if ( match[2] === "~=" ) { match[4] = " " + match[4] + " "; @@ -3852,7 +3894,9 @@ var Expr = Sizzle.selectors = { selected: function( elem ) { // Accessing this property makes selected-by-default // options in Safari work properly - elem.parentNode.selectedIndex; + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } return elem.selected === true; }, @@ -3874,7 +3918,9 @@ var Expr = Sizzle.selectors = { }, text: function( elem ) { - return "text" === elem.type; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return "text" === elem.getAttribute( 'type' ); }, radio: function( elem ) { return "radio" === elem.type; @@ -4407,7 +4453,8 @@ if ( document.querySelectorAll ) { // and working up from there (Thanks to Andrew Dupont for the technique) // IE 8 doesn't work on object elements } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - var old = context.getAttribute( "id" ), + var oldContext = context, + old = context.getAttribute( "id" ), nid = old || id, hasParent = context.parentNode, relativeHierarchySelector = /^\s*[+~]/.test( query ); @@ -4429,7 +4476,7 @@ if ( document.querySelectorAll ) { } catch(pseudoError) { } finally { if ( !old ) { - context.removeAttribute( "id" ); + oldContext.removeAttribute( "id" ); } } } @@ -4845,11 +4892,11 @@ jQuery.each({ }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); if ( !runtil.test( name ) ) { selector = until; @@ -4959,7 +5006,7 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, rtbody = /", "" ], @@ -5111,7 +5158,7 @@ jQuery.fn.extend({ } if ( elem.parentNode ) { - elem.parentNode.removeChild( elem ); + elem.parentNode.removeChild( elem ); } } } @@ -5136,7 +5183,7 @@ jQuery.fn.extend({ }, clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? true : dataAndEvents; + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; return this.map( function () { @@ -5305,8 +5352,8 @@ function cloneCopyEvent( src, dest ) { } var internalKey = jQuery.expando, - oldData = jQuery.data( src ), - curData = jQuery.data( dest, oldData ); + oldData = jQuery.data( src ), + curData = jQuery.data( dest, oldData ); // Switch to use the internal data object, if it exists, for the next // stage of data copying @@ -5320,7 +5367,7 @@ function cloneCopyEvent( src, dest ) { for ( var type in events ) { for ( var i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ], events[ type ][ i ].data ); + jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data ); } } } @@ -5441,6 +5488,18 @@ jQuery.each({ }; }); +function getAll( elem ) { + if ( "getElementsByTagName" in elem ) { + return elem.getElementsByTagName( "*" ); + + } else if ( "querySelectorAll" in elem ) { + return elem.querySelectorAll( "*" ); + + } else { + return []; + } +} + jQuery.extend({ clone: function( elem, dataAndEvents, deepDataAndEvents ) { var clone = elem.cloneNode(true), @@ -5448,17 +5507,20 @@ jQuery.extend({ destElements, i; - if ( !jQuery.support.noCloneEvent && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { // IE copies events bound via attachEvent when using cloneNode. // Calling detachEvent on the clone will also remove the events // from the original. In order to get around this, we use some // proprietary methods to clear the events. Thanks to MooTools // guys for this hotness. + cloneFixAttributes( elem, clone ); + // Using Sizzle here is crazy slow, so we use getElementsByTagName // instead - srcElements = elem.getElementsByTagName("*"); - destElements = clone.getElementsByTagName("*"); + srcElements = getAll( elem ); + destElements = getAll( clone ); // Weird iteration because IE will replace the length property // with an element if you are cloning the body and one of the @@ -5466,30 +5528,25 @@ jQuery.extend({ for ( i = 0; srcElements[i]; ++i ) { cloneFixAttributes( srcElements[i], destElements[i] ); } - - cloneFixAttributes( elem, clone ); } // Copy the events from the original to the clone if ( dataAndEvents ) { - cloneCopyEvent( elem, clone ); - if ( deepDataAndEvents && "getElementsByTagName" in elem ) { + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); - srcElements = elem.getElementsByTagName("*"); - destElements = clone.getElementsByTagName("*"); - - if ( srcElements.length ) { - for ( i = 0; srcElements[i]; ++i ) { - cloneCopyEvent( srcElements[i], destElements[i] ); - } + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); } } } + // Return the cloned set return clone; - }, +}, clean: function( elems, context, fragment, scripts ) { context = context || document; @@ -5910,7 +5967,7 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) { if ( document.documentElement.currentStyle ) { currentStyle = function( elem, name ) { - var left, + var left, ret = elem.currentStyle && elem.currentStyle[ name ], rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ], style = elem.style; @@ -5988,8 +6045,10 @@ var r20 = /%20/g, rbracket = /\[\]$/, rCRLF = /\r?\n/g, rhash = /#.*$/, - rheaders = /^(.*?):\s*(.*?)\r?$/mg, // IE leaves an \r character at EOL + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /(?:^file|^widget|\-extension):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\/\//, rquery = /\?/, @@ -5997,7 +6056,11 @@ var r20 = /%20/g, rselectTextarea = /^(?:select|textarea)/i, rspacesAjax = /\s+/, rts = /([?&])_=[^&]*/, - rurl = /^(\w+:)\/\/([^\/?#:]+)(?::(\d+))?/, + rucHeaders = /(^|\-)([a-z])/g, + rucHeadersFunc = function( _, $1, $2 ) { + return $1 + $2.toUpperCase(); + }, + rurl = /^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/, // Keep a copy of the old load method _load = jQuery.fn.load, @@ -6018,7 +6081,28 @@ var r20 = /%20/g, * 2) the catchall symbol "*" can be used * 3) selection will start with transport dataType and THEN go to "*" if needed */ - transports = {}; + transports = {}, + + // Document location + ajaxLocation, + + // Document location segments + ajaxLocParts; + +// #8138, IE may throw an exception when accessing +// a field from document.location if document.domain has been set +try { + ajaxLocation = document.location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ); // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport function addToPrefiltersOrTransports( structure ) { @@ -6057,7 +6141,7 @@ function addToPrefiltersOrTransports( structure ) { } //Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jXHR, +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, dataType /* internal */, inspected /* internal */ ) { dataType = dataType || options.dataTypes[ 0 ]; @@ -6072,16 +6156,16 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jXH selection; for(; i < length && ( executeOnly || !selection ); i++ ) { - selection = list[ i ]( options, originalOptions, jXHR ); + selection = list[ i ]( options, originalOptions, jqXHR ); // If we got redirected to another dataType - // we try there if not done already + // we try there if executing only and not done already if ( typeof selection === "string" ) { - if ( inspected[ selection ] ) { + if ( !executeOnly || inspected[ selection ] ) { selection = undefined; } else { options.dataTypes.unshift( selection ); selection = inspectPrefiltersOrTransports( - structure, options, originalOptions, jXHR, selection, inspected ); + structure, options, originalOptions, jqXHR, selection, inspected ); } } } @@ -6089,7 +6173,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jXH // we try the catchall dataType if not done already if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) { selection = inspectPrefiltersOrTransports( - structure, options, originalOptions, jXHR, "*", inspected ); + structure, options, originalOptions, jqXHR, "*", inspected ); } // unnecessary when only executing (prefilters) // but it'll be ignored by the caller in that case @@ -6121,7 +6205,7 @@ jQuery.fn.extend({ if ( jQuery.isFunction( params ) ) { // We assume that it's the callback callback = params; - params = null; + params = undefined; // Otherwise, build a param string } else if ( typeof params === "object" ) { @@ -6139,14 +6223,14 @@ jQuery.fn.extend({ dataType: "html", data: params, // Complete callback (responseText is used internally) - complete: function( jXHR, status, responseText ) { - // Store the response as specified by the jXHR object - responseText = jXHR.responseText; + complete: function( jqXHR, status, responseText ) { + // Store the response as specified by the jqXHR object + responseText = jqXHR.responseText; // If successful, inject the HTML into all the matched elements - if ( jXHR.isResolved() ) { + if ( jqXHR.isResolved() ) { // #4825: Get the actual response in case // a dataFilter is present in ajaxSettings - jXHR.done(function( r ) { + jqXHR.done(function( r ) { responseText = r; }); // See if a selector was specified @@ -6165,7 +6249,7 @@ jQuery.fn.extend({ } if ( callback ) { - self.each( callback, [ responseText, status, jXHR ] ); + self.each( callback, [ responseText, status, jqXHR ] ); } } }); @@ -6213,7 +6297,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) { if ( jQuery.isFunction( data ) ) { type = type || callback; callback = data; - data = null; + data = undefined; } return jQuery.ajax({ @@ -6229,22 +6313,39 @@ jQuery.each( [ "get", "post" ], function( i, method ) { jQuery.extend({ getScript: function( url, callback ) { - return jQuery.get( url, null, callback, "script" ); + return jQuery.get( url, undefined, callback, "script" ); }, getJSON: function( url, data, callback ) { return jQuery.get( url, data, callback, "json" ); }, - ajaxSetup: function( settings ) { - jQuery.extend( true, jQuery.ajaxSettings, settings ); - if ( settings.context ) { - jQuery.ajaxSettings.context = settings.context; + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function ( target, settings ) { + if ( !settings ) { + // Only one parameter, we extend ajaxSettings + settings = target; + target = jQuery.extend( true, jQuery.ajaxSettings, settings ); + } else { + // target was provided, we extend into it + jQuery.extend( true, target, jQuery.ajaxSettings, settings ); } + // Flatten fields we don't want deep extended + for( var field in { context: 1, url: 1 } ) { + if ( field in settings ) { + target[ field ] = settings[ field ]; + } else if( field in jQuery.ajaxSettings ) { + target[ field ] = jQuery.ajaxSettings[ field ]; + } + } + return target; }, ajaxSettings: { - url: location.href, + url: ajaxLocation, + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), global: true, type: "GET", contentType: "application/x-www-form-urlencoded", @@ -6306,9 +6407,8 @@ jQuery.extend({ // Main method ajax: function( url, options ) { - // If options is not an object, - // we simulate pre-1.5 signature - if ( typeof options !== "object" ) { + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { options = url; url = undefined; } @@ -6317,19 +6417,22 @@ jQuery.extend({ options = options || {}; var // Create the final options object - s = jQuery.extend( true, {}, jQuery.ajaxSettings, options ), - // Callbacks contexts - // We force the original context if it exists - // or take it from jQuery.ajaxSettings otherwise - // (plain objects used as context get extended) - callbackContext = - ( s.context = ( "context" in options ? options : jQuery.ajaxSettings ).context ) || s, - globalEventContext = callbackContext === s ? jQuery.event : jQuery( callbackContext ), + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, // Deferreds deferred = jQuery.Deferred(), completeDeferred = jQuery._Deferred(), // Status-dependent callbacks statusCode = s.statusCode || {}, + // ifModified key + ifModifiedKey, // Headers (they are sent all at once) requestHeaders = {}, // Response headers @@ -6340,22 +6443,22 @@ jQuery.extend({ // timeout handle timeoutTimer, // Cross-domain detection vars - loc = document.location, - protocol = loc.protocol || "http:", parts, - // The jXHR state + // The jqXHR state state = 0, + // To know if global events are to be dispatched + fireGlobals, // Loop variable i, // Fake xhr - jXHR = { + jqXHR = { readyState: 0, // Caches the header setRequestHeader: function( name, value ) { - if ( state === 0 ) { - requestHeaders[ name.toLowerCase() ] = value; + if ( !state ) { + requestHeaders[ name.toLowerCase().replace( rucHeaders, rucHeadersFunc ) ] = value; } return this; }, @@ -6377,7 +6480,15 @@ jQuery.extend({ } match = responseHeaders[ key.toLowerCase() ]; } - return match || null; + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; }, // Cancel the request @@ -6394,7 +6505,7 @@ jQuery.extend({ // Callback for when everything is done // It is defined here because jslint complains if it is declared // at the end of the function (which would be more logical and readable) - function done( status, statusText, responses, headers) { + function done( status, statusText, responses, headers ) { // Called once if ( state === 2 ) { @@ -6410,19 +6521,19 @@ jQuery.extend({ } // Dereference transport for early garbage collection - // (no matter how long the jXHR object will be used) + // (no matter how long the jqXHR object will be used) transport = undefined; // Cache response headers responseHeadersString = headers || ""; // Set readyState - jXHR.readyState = status ? 4 : 0; + jqXHR.readyState = status ? 4 : 0; var isSuccess, success, error, - response = responses ? ajaxHandleResponses( s, jXHR, responses ) : undefined, + response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined, lastModified, etag; @@ -6432,11 +6543,11 @@ jQuery.extend({ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { - if ( ( lastModified = jXHR.getResponseHeader( "Last-Modified" ) ) ) { - jQuery.lastModified[ s.url ] = lastModified; + if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) { + jQuery.lastModified[ ifModifiedKey ] = lastModified; } - if ( ( etag = jXHR.getResponseHeader( "Etag" ) ) ) { - jQuery.etag[ s.url ] = etag; + if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) { + jQuery.etag[ ifModifiedKey ] = etag; } } @@ -6463,7 +6574,7 @@ jQuery.extend({ // We extract error from statusText // then normalize statusText and status for non-aborts error = statusText; - if( status ) { + if( !statusText || status ) { statusText = "error"; if ( status < 0 ) { status = 0; @@ -6472,30 +6583,30 @@ jQuery.extend({ } // Set data for the fake xhr object - jXHR.status = status; - jXHR.statusText = statusText; + jqXHR.status = status; + jqXHR.statusText = statusText; // Success/Error if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jXHR ] ); + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); } else { - deferred.rejectWith( callbackContext, [ jXHR, statusText, error ] ); + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); } // Status-dependent callbacks - jXHR.statusCode( statusCode ); + jqXHR.statusCode( statusCode ); statusCode = undefined; - if ( s.global ) { + if ( fireGlobals ) { globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), - [ jXHR, s, isSuccess ? success : error ] ); + [ jqXHR, s, isSuccess ? success : error ] ); } // Complete - completeDeferred.resolveWith( callbackContext, [ jXHR, statusText ] ); + completeDeferred.resolveWith( callbackContext, [ jqXHR, statusText ] ); - if ( s.global ) { - globalEventContext.trigger( "ajaxComplete", [ jXHR, s] ); + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s] ); // Handle the global AJAX counter if ( !( --jQuery.active ) ) { jQuery.event.trigger( "ajaxStop" ); @@ -6504,13 +6615,13 @@ jQuery.extend({ } // Attach deferreds - deferred.promise( jXHR ); - jXHR.success = jXHR.done; - jXHR.error = jXHR.fail; - jXHR.complete = completeDeferred.done; + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.done; // Status-dependent callbacks - jXHR.statusCode = function( map ) { + jqXHR.statusCode = function( map ) { if ( map ) { var tmp; if ( state < 2 ) { @@ -6518,8 +6629,8 @@ jQuery.extend({ statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; } } else { - tmp = map[ jXHR.status ]; - jXHR.then( tmp, tmp ); + tmp = map[ jqXHR.status ]; + jqXHR.then( tmp, tmp ); } } return this; @@ -6528,7 +6639,7 @@ jQuery.extend({ // Remove hash character (#7531: and string promotion) // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) // We also use the url parameter if available - s.url = ( "" + ( url || s.url ) ).replace( rhash, "" ).replace( rprotocol, protocol + "//" ); + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); // Extract dataTypes list s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax ); @@ -6537,9 +6648,9 @@ jQuery.extend({ if ( !s.crossDomain ) { parts = rurl.exec( s.url.toLowerCase() ); s.crossDomain = !!( parts && - ( parts[ 1 ] != protocol || parts[ 2 ] != loc.hostname || + ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] || ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != - ( loc.port || ( protocol === "http:" ? 80 : 443 ) ) ) + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) ); } @@ -6549,7 +6660,15 @@ jQuery.extend({ } // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jXHR ); + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefiler, stop there + if ( state === 2 ) { + return false; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; // Uppercase the type s.type = s.type.toUpperCase(); @@ -6558,7 +6677,7 @@ jQuery.extend({ s.hasContent = !rnoContent.test( s.type ); // Watch for a new set of requests - if ( s.global && jQuery.active++ === 0 ) { + if ( fireGlobals && jQuery.active++ === 0 ) { jQuery.event.trigger( "ajaxStart" ); } @@ -6570,6 +6689,9 @@ jQuery.extend({ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; } + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + // Add anti-cache in url if needed if ( s.cache === false ) { @@ -6584,77 +6706,77 @@ jQuery.extend({ // Set the correct header, if data is being sent if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - requestHeaders[ "content-type" ] = s.contentType; + requestHeaders[ "Content-Type" ] = s.contentType; } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { - if ( jQuery.lastModified[ s.url ] ) { - requestHeaders[ "if-modified-since" ] = jQuery.lastModified[ s.url ]; + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + requestHeaders[ "If-Modified-Since" ] = jQuery.lastModified[ ifModifiedKey ]; } - if ( jQuery.etag[ s.url ] ) { - requestHeaders[ "if-none-match" ] = jQuery.etag[ s.url ]; + if ( jQuery.etag[ ifModifiedKey ] ) { + requestHeaders[ "If-None-Match" ] = jQuery.etag[ ifModifiedKey ]; } } // Set the Accepts header for the server, depending on the dataType - requestHeaders.accept = s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + requestHeaders.Accept = s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) : s.accepts[ "*" ]; // Check for headers option for ( i in s.headers ) { - requestHeaders[ i.toLowerCase() ] = s.headers[ i ]; + jqXHR.setRequestHeader( i, s.headers[ i ] ); } // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jXHR, s ) === false || state === 2 ) ) { + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { // Abort if not done already - done( 0, "abort" ); - // Return false - jXHR = false; + jqXHR.abort(); + return false; - } else { + } - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jXHR[ i ]( s[ i ] ); - } + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jXHR ); + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - // Set state as sending - state = jXHR.readyState = 1; - // Send global event - if ( s.global ) { - globalEventContext.trigger( "ajaxSend", [ jXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout( function(){ - jXHR.abort( "timeout" ); - }, s.timeout ); - } + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } - try { - transport.send( requestHeaders, done ); - } catch (e) { - // Propagate exception as error if not done - if ( status < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - jQuery.error( e ); - } + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( status < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + jQuery.error( e ); } } } - return jXHR; + + return jqXHR; }, // Serialize an array of form elements or a set of @@ -6673,7 +6795,7 @@ jQuery.extend({ } // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || a.jquery ) { + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); @@ -6720,9 +6842,9 @@ function buildParams( prefix, obj, traditional, add ) { // Serialize object item. } else { - jQuery.each( obj, function( k, v ) { - buildParams( prefix + "[" + k + "]", v, traditional, add ); - }); + for ( var name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } } } else { @@ -6749,7 +6871,7 @@ jQuery.extend({ * - finds the right dataType (mediates between content-type and expected dataType) * - returns the corresponding response */ -function ajaxHandleResponses( s, jXHR, responses ) { +function ajaxHandleResponses( s, jqXHR, responses ) { var contents = s.contents, dataTypes = s.dataTypes, @@ -6762,7 +6884,7 @@ function ajaxHandleResponses( s, jXHR, responses ) { // Fill responseXXX fields for( type in responseFields ) { if ( type in responses ) { - jXHR[ responseFields[type] ] = responses[ type ]; + jqXHR[ responseFields[type] ] = responses[ type ]; } } @@ -6770,7 +6892,7 @@ function ajaxHandleResponses( s, jXHR, responses ) { while( dataTypes[ 0 ] === "*" ) { dataTypes.shift(); if ( ct === undefined ) { - ct = jXHR.getResponseHeader( "content-type" ); + ct = s.mimeType || jqXHR.getResponseHeader( "content-type" ); } } @@ -6822,8 +6944,9 @@ function ajaxConvert( s, response ) { } var dataTypes = s.dataTypes, - converters = s.converters, + converters = {}, i, + key, length = dataTypes.length, tmp, // Current and previous dataTypes @@ -6840,6 +6963,16 @@ function ajaxConvert( s, response ) { // For each dataType in the chain for( i = 1; i < length; i++ ) { + // Create converters map + // with lowercased keys + if ( i === 1 ) { + for( key in s.converters ) { + if( typeof key === "string" ) { + converters[ key.toLowerCase() ] = s.converters[ key ]; + } + } + } + // Get the dataTypes prev = current; current = dataTypes[ i ]; @@ -6902,9 +7035,9 @@ jQuery.ajaxSetup({ }); // Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString /* internal */ ) { +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - dataIsString = ( typeof s.data === "string" ); + var dataIsString = ( typeof s.data === "string" ); if ( s.dataTypes[ 0 ] === "jsonp" || originalSettings.jsonpCallback || @@ -6918,7 +7051,15 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString previous = window[ jsonpCallback ], url = s.url, data = s.data, - replace = "$1" + jsonpCallback + "$2"; + replace = "$1" + jsonpCallback + "$2", + cleanUp = function() { + // Set callback back to previous value + window[ jsonpCallback ] = previous; + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( previous ) ) { + window[ jsonpCallback ]( responseContainer[ 0 ] ); + } + }; if ( s.jsonp !== false ) { url = url.replace( jsre, replace ); @@ -6936,32 +7077,17 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString s.url = url; s.data = data; + // Install callback window[ jsonpCallback ] = function( response ) { responseContainer = [ response ]; }; - s.complete = [ function() { - - // Set callback back to previous value - window[ jsonpCallback ] = previous; - - // Call if it was a function and we have a response - if ( previous) { - if ( responseContainer && jQuery.isFunction( previous ) ) { - window[ jsonpCallback ] ( responseContainer[ 0 ] ); - } - } else { - // else, more memory leak avoidance - try{ - delete window[ jsonpCallback ]; - } catch( e ) {} - } - - }, s.complete ]; + // Install cleanUp function + jqXHR.then( cleanUp, cleanUp ); // Use data converter to retrieve json after script execution s.converters["script json"] = function() { - if ( ! responseContainer ) { + if ( !responseContainer ) { jQuery.error( jsonpCallback + " was not called" ); } return responseContainer[ 0 ]; @@ -6981,10 +7107,10 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString // Install script dataType jQuery.ajaxSetup({ accepts: { - script: "text/javascript, application/javascript" + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { - script: /javascript/ + script: /javascript|ecmascript/ }, converters: { "text script": function( text ) { @@ -7012,7 +7138,7 @@ jQuery.ajaxTransport( "script", function(s) { if ( s.crossDomain ) { var script, - head = document.getElementsByTagName( "head" )[ 0 ] || document.documentElement; + head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; return { @@ -7067,18 +7193,36 @@ jQuery.ajaxTransport( "script", function(s) { -var // Next active xhr id +var // #5280: next active xhr id and list of active xhrs' callbacks xhrId = jQuery.now(), - - // active xhrs - xhrs = {}, - - // #5280: see below - xhrUnloadAbortInstalled, + xhrCallbacks, // XHR used to determine supports properties testXHR; +// #5280: Internet Explorer will keep connections alive if we don't abort on unload +function xhrOnUnloadAbort() { + jQuery( window ).unload(function() { + // Abort all pending requests + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( 0, 1 ); + } + }); +} + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + // Create the request object // (This is still attached to ajaxSettings for backward compatibility) jQuery.ajaxSettings.xhr = window.ActiveXObject ? @@ -7089,27 +7233,13 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject ? * we need a fallback. */ function() { - if ( window.location.protocol !== "file:" ) { - try { - return new window.XMLHttpRequest(); - } catch( xhrError ) {} - } - - try { - return new window.ActiveXObject("Microsoft.XMLHTTP"); - } catch( activeError ) {} + return !this.isLocal && createStandardXHR() || createActiveXHR(); } : // For all other browsers, use the standard XMLHttpRequest object - function() { - return new window.XMLHttpRequest(); - }; + createStandardXHR; // Test if we can create an xhr object -try { - testXHR = jQuery.ajaxSettings.xhr(); -} catch( xhrCreationException ) {} - -//Does this browser support XHR requests? +testXHR = jQuery.ajaxSettings.xhr(); jQuery.support.ajax = !!testXHR; // Does this browser support crossDomain XHR requests @@ -7130,26 +7260,10 @@ if ( jQuery.support.ajax ) { return { send: function( headers, complete ) { - // #5280: we need to abort on unload or IE will keep connections alive - if ( !xhrUnloadAbortInstalled ) { - - xhrUnloadAbortInstalled = 1; - - jQuery(window).bind( "unload", function() { - - // Abort all pending requests - jQuery.each( xhrs, function( _, xhr ) { - if ( xhr.onreadystatechange ) { - xhr.onreadystatechange( 1 ); - } - } ); - - } ); - } - // Get a new xhr var xhr = s.xhr(), - handle; + handle, + i; // Open the socket // Passing null username, generates a login popup on Opera (#2865) @@ -7159,19 +7273,31 @@ if ( jQuery.support.ajax ) { xhr.open( s.type, s.url, s.async ); } + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + // Requested-With header // Not set for crossDomain requests with no content // (see why at http://trac.dojotoolkit.org/ticket/9486) // Won't change header if already provided - if ( !( s.crossDomain && !s.hasContent ) && !headers["x-requested-with"] ) { - headers[ "x-requested-with" ] = "XMLHttpRequest"; + if ( !( s.crossDomain && !s.hasContent ) && !headers["X-Requested-With"] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; } // Need an extra try/catch for cross domain requests in Firefox 3 try { - jQuery.each( headers, function( key, value ) { - xhr.setRequestHeader( key, value ); - } ); + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } } catch( _ ) {} // Do send the request @@ -7182,75 +7308,79 @@ if ( jQuery.support.ajax ) { // Listener callback = function( _, isAbort ) { - // Was never called and is aborted or complete - if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + var status, + statusText, + responseHeaders, + responses, + xml; - // Only called once - callback = 0; + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occured + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { - // Do not keep as active anymore - if ( handle ) { - xhr.onreadystatechange = jQuery.noop; - delete xhrs[ handle ]; - } + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { - // If it's an abort - if ( isAbort ) { - // Abort it manually if needed - if ( xhr.readyState !== 4 ) { - xhr.abort(); + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + delete xhrCallbacks[ handle ]; } - } else { - // Get info - var status = xhr.status, - statusText, - responseHeaders = xhr.getAllResponseHeaders(), - responses = {}, + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + responses = {}; xml = xhr.responseXML; - // Construct response list - if ( xml && xml.documentElement /* #4958 */ ) { - responses.xml = xml; - } - responses.text = xhr.responseText; - - // Firefox throws an exception when accessing - // statusText for faulty cross-domain requests - try { - statusText = xhr.statusText; - } catch( e ) { - // We normalize with Webkit giving an empty statusText - statusText = ""; + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + responses.text = xhr.responseText; + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } } - - // Filter status for non standard behaviours - status = - // Opera returns 0 when it should be 304 - // Webkit returns 0 for failing cross-domain no matter the real status - status === 0 ? - ( - // Webkit, Firefox: filter out faulty cross-domain requests - !s.crossDomain || statusText ? - ( - // Opera: filter out real aborts #6060 - responseHeaders ? - 304 : - 0 - ) : - // We assume 302 but could be anything cross-domain related - 302 - ) : - ( - // IE sometimes returns 1223 when it should be 204 (see #1450) - status == 1223 ? - 204 : - status - ); - - // Call complete - complete( status, statusText, responses, responseHeaders ); + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); } } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } }; // if we're in sync mode or it's in cache @@ -7259,10 +7389,15 @@ if ( jQuery.support.ajax ) { if ( !s.async || xhr.readyState === 4 ) { callback(); } else { - // Add to list of active xhrs + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + xhrOnUnloadAbort(); + } + // Add to list of active xhrs callbacks handle = xhrId++; - xhrs[ handle ] = xhr; - xhr.onreadystatechange = callback; + xhr.onreadystatechange = xhrCallbacks[ handle ] = callback; } }, @@ -7464,11 +7599,11 @@ jQuery.fn.extend({ } else { var parts = rfxnum.exec(val), - start = e.cur() || 0; + start = e.cur(); if ( parts ) { var end = parseFloat( parts[2] ), - unit = parts[3] || "px"; + unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" ); // We need to compute starting value if ( unit !== "px" ) { @@ -7615,8 +7750,12 @@ jQuery.fx.prototype = { return this.elem[ this.prop ]; } - var r = parseFloat( jQuery.css( this.elem, this.prop ) ); - return r || 0; + var parsed, + r = jQuery.css( this.elem, this.prop ); + // Empty strings, null, undefined and "auto" are converted to 0, + // complex values such as "rotate(1rad)" are returned as is, + // simple values such as "10px" are parsed to Float. + return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed; }, // Start an animation from one number to another @@ -7627,7 +7766,7 @@ jQuery.fx.prototype = { this.startTime = jQuery.now(); this.start = from; this.end = to; - this.unit = unit || this.unit || "px"; + this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" ); this.now = this.start; this.pos = this.state = 0; @@ -8078,7 +8217,7 @@ jQuery.each( ["Left", "Top"], function( i, name ) { if ( win ) { win.scrollTo( !i ? val : jQuery(win).scrollLeft(), - i ? val : jQuery(win).scrollTop() + i ? val : jQuery(win).scrollTop() ); } else { @@ -8173,4 +8312,5 @@ jQuery.each([ "Height", "Width" ], function( i, name ) { }); +window.jQuery = window.$ = jQuery; })(window); diff --git a/web-app/js/jquery/jquery-1.5.1.min.js b/web-app/js/jquery/jquery-1.5.1.min.js new file mode 100644 index 0000000..6437874 --- /dev/null +++ b/web-app/js/jquery/jquery-1.5.1.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Feb 23 13:55:29 2011 -0500 + */ +(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/web-app/js/jquery/jquery-1.5.min.js b/web-app/js/jquery/jquery-1.5.min.js deleted file mode 100644 index 9144b8a..0000000 --- a/web-app/js/jquery/jquery-1.5.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.5 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Jan 31 08:31:29 2011 -0500 - */ -(function(a,b){function b$(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function bX(a){if(!bR[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bR[a]=c}return bR[a]}function bW(a,b){var c={};d.each(bV.concat.apply([],bV.slice(0,b)),function(){c[this]=a});return c}function bJ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f=a.converters,g,h=e.length,i,j=e[0],k,l,m,n,o;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(q,"`").replace(r,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,p,q=[],r=[],s=d._data(this,u);typeof s==="function"&&(s=s.events);if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,p=f.handleObj.origHandler.apply(f.elem,arguments);if(p===!1||a.isPropagationStopped()){c=f.level,p===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,b,c){c[0].type=a;return d.event.handle.apply(b,c)}function w(){return!0}function v(){return!1}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");e.type="text/javascript",d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1?(g=Array(c),d.each(b,function(a,b){d.when(b).then(function(b){g[a]=arguments.length>1?E.call(arguments,0):b,--c||e.resolveWith(f,g)},e.reject)})):e!==a&&e.resolve(a);return f},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return a.jQuery=a.$=d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option"));if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:b.getElementsByTagName("input")[0].value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,_scriptEval:null,noCloneEvent:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},g.disabled=!0,d.support.optDisabled=!h.disabled,d.support.scriptEval=function(){if(d.support._scriptEval===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();e.type="text/javascript";try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(d.support._scriptEval=!0,delete a[f]):d.support._scriptEval=!1,b.removeChild(e),b=e=f=null}return d.support._scriptEval};try{delete b.test}catch(i){d.support.deleteExpando=!1}b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function j(){d.support.noCloneEvent=!1,b.detachEvent("onclick",j)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var k=c.createDocumentFragment();k.appendChild(b.firstChild),d.support.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var l=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=l("submit"),d.support.changeBubbles=l("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!d.isEmptyObject(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={}),typeof c==="object"&&(f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c)),i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,i=g?b[d.expando]:d.expando;if(!h[i])return;if(c){var j=e?h[i][f]:h[i];if(j){delete j[c];if(!d.isEmptyObject(j))return}}if(e){delete h[i][f];if(!d.isEmptyObject(h[i]))return}var k=h[i][f];d.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},h[i][f]=k):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,j=c.type==="select-one";if(f<0)return null;for(var k=j?f:0,l=j?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=j.test(c);if(c==="selected"&&!d.support.optSelected){var n=a.parentNode;n&&(n.selectedIndex,n.parentNode&&n.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&k.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:l.test(a.nodeName)||m.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var o=/\.(.*)$/,p=/^(?:textarea|input|select)$/i,q=/\./g,r=/ /g,s=/[^\w\s.|`]/g,t=function(a){return a.replace(s,"\\$&")},u="events";d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a);if(f===!1)f=v;else if(!f)return;var h,i;f.handler&&(h=f,f=h.handler),f.guid||(f.guid=d.guid++);var j=d._data(c);if(!j)return;var k=j[u],l=j.handle;typeof k==="function"?(l=k.handle,k=k.events):k||(c.nodeType||(j[u]=j=function(){}),j.events=k={}),l||(j.handle=l=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(l.elem,arguments):b}),l.elem=c,e=e.split(" ");var m,n=0,o;while(m=e[n++]){i=h?d.extend({},h):{handler:f,data:g},m.indexOf(".")>-1?(o=m.split("."),m=o.shift(),i.namespace=o.slice(0).sort().join(".")):(o=[],i.namespace=""),i.type=m,i.guid||(i.guid=f.guid);var p=k[m],q=d.event.special[m]||{};if(!p){p=k[m]=[];if(!q.setup||q.setup.call(c,g,o,l)===!1)c.addEventListener?c.addEventListener(m,l,!1):c.attachEvent&&c.attachEvent("on"+m,l)}q.add&&(q.add.call(c,i),i.handler.guid||(i.handler.guid=f.guid)),p.push(i),d.event.global[m]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),w=s&&s[u];if(!s||!w)return;typeof w==="function"&&(s=w,w=w.events),c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in w)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),t).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=w[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=e.nodeType?d._data(e,"handle"):(d._data(e,u)||{}).handle;h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(o,""),n=d.nodeName(l,"a")&&m==="click",p=d.event.special[m]||{};if((!p._default||p._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,u),typeof i==="function"&&(i=i.events),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(p.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f){a.type="change",a.liveFired=b;return d.event.trigger(a,arguments[1],c)}}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;if(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")return B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")return B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return p.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return p.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function s(a,b,c,d,e,f){for(var g=0,h=d.length;g0){k=j;break}}j=j[a]}d[g]=k}}}function r(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0;[0,0].sort(function(){h=!1;return 0});var i=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var l,m,o,p,q,r,s,u,v=!0,w=i.isXML(d),x=[],y=b;do{a.exec(""),l=a.exec(y);if(l){y=l[3],x.push(l[1]);if(l[2]){p=l[3];break}}}while(l);if(x.length>1&&k.exec(b))if(x.length===2&&j.relative[x[0]])m=t(x[0]+x[1],d);else{m=j.relative[x[0]]?[d]:i(x.shift(),d);while(x.length)b=x.shift(),j.relative[b]&&(b+=x.shift()),m=t(b,m)}else{!g&&x.length>1&&d.nodeType===9&&!w&&j.match.ID.test(x[0])&&!j.match.ID.test(x[x.length-1])&&(q=i.find(x.shift(),d,w),d=q.expr?i.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:n(g)}:i.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),m=q.expr?i.filter(q.expr,q.set):q.set,x.length>0?o=n(m):v=!1;while(x.length)r=x.pop(),s=r,j.relative[r]?s=x.pop():r="",s==null&&(s=d),j.relative[r](o,s,w)}else o=x=[]}o||(o=m),o||i.error(r||b);if(f.call(o)==="[object Array]")if(v)if(d&&d.nodeType===1)for(u=0;o[u]!=null;u++)o[u]&&(o[u]===!0||o[u].nodeType===1&&i.contains(d,o[u]))&&e.push(m[u]);else for(u=0;o[u]!=null;u++)o[u]&&o[u].nodeType===1&&e.push(m[u]);else e.push.apply(e,o);else n(o,e);p&&(i(p,h,e,g),i.uniqueSort(e));return e};i.uniqueSort=function(a){if(p){g=h,a.sort(p);if(g)for(var b=1;b0},i.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=j.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!/\W/.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(/\\/g,"")},TAG:function(a,b){return a[1].toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||i.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&i.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(/\\/g,"");!f&&j.attrMap[g]&&(a[1]=j.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(/\\/g,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=i(b[3],null,null,c);else{var g=i.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(j.match.POS.test(b[0])||j.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!i(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.type},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=j.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||i.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,k=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=j.attrHandle[c]?j.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=j.setFilters[e];if(f)return f(a,c,b,d)}}},k=j.match.POS,l=function(a,b){return"\\"+(b-0+1)};for(var m in j.match)j.match[m]=new RegExp(j.match[m].source+/(?![^\[]*\])(?![^\(]*\))/.source),j.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+j.match[m].source.replace(/\\(\d+)/g,l));var n=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(o){n=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(j.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},j.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(j.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(j.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=i,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){i=function(b,e,f,g){e=e||c;if(!g&&!i.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return n(e.getElementsByTagName(b),f);if(h[2]&&j.find.CLASS&&e.getElementsByClassName)return n(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return n([e.body],f);if(h&&h[3]){var k=e.getElementById(h[3]);if(!k||!k.parentNode)return n([],f);if(k.id===h[3])return n([k],f)}try{return n(e.querySelectorAll(b),f)}catch(l){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e.getAttribute("id"),o=m||d,p=e.parentNode,q=/^\s*[+~]/.test(b);m?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),q&&p&&(e=e.parentNode);try{if(!q||p)return n(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(r){}finally{m||e.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)i[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(i.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!i.isXML(a))try{if(d||!j.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return i(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;j.order.splice(1,0,"CLASS"),j.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?i.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?i.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:i.contains=function(){return!1},i.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var t=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=j.match.PSEUDO.exec(a))e+=c[0],a=a.replace(j.match.PSEUDO,"");a=j.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!0:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if(!d.support.noCloneEvent&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){f=a.getElementsByTagName("*"),g=e.getElementsByTagName("*");for(h=0;f[h];++h)$(f[h],g[h]);$(a,e)}if(b){Z(a,e);if(c&&"getElementsByTagName"in a){f=a.getElementsByTagName("*"),g=e.getElementsByTagName("*");if(f.length)for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var ba=/alpha\([^)]*\)/i,bb=/opacity=([^)]*)/,bc=/-([a-z])/ig,bd=/([A-Z])/g,be=/^-?\d+(?:px)?$/i,bf=/^-?\d/,bg={position:"absolute",visibility:"hidden",display:"block"},bh=["Left","Right"],bi=["Top","Bottom"],bj,bk,bl,bm=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bj(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bj)return bj(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bc,bm)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bn(a,b,e):d.swap(a,bg,function(){f=bn(a,b,e)});if(f<=0){f=bj(a,b,b),f==="0px"&&bl&&(f=bl(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!be.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=ba.test(f)?f.replace(ba,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bk=function(a,c,e){var f,g,h;e=e.replace(bd,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bl=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!be.test(d)&&bf.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bj=bk||bl,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bo=/%20/g,bp=/\[\]$/,bq=/\r?\n/g,br=/#.*$/,bs=/^(.*?):\s*(.*?)\r?$/mg,bt=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bu=/^(?:GET|HEAD)$/,bv=/^\/\//,bw=/\?/,bx=/)<[^<]*)*<\/script>/gi,by=/^(?:select|textarea)/i,bz=/\s+/,bA=/([?&])_=[^&]*/,bB=/^(\w+:)\/\/([^\/?#:]+)(?::(\d+))?/,bC=d.fn.load,bD={},bE={};d.fn.extend({load:function(a,b,c){if(typeof a!=="string"&&bC)return bC.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}var g="GET";b&&(d.isFunction(b)?(c=b,b=null):typeof b==="object"&&(b=d.param(b,d.ajaxSettings.traditional),g="POST"));var h=this;d.ajax({url:a,type:g,dataType:"html",data:b,complete:function(a,b,e){e=a.responseText,a.isResolved()&&(a.done(function(a){e=a}),h.html(f?d("
").append(e.replace(bx,"")).find(f):e)),c&&h.each(c,[e,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||by.test(this.nodeName)||bt.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bq,"\r\n")}}):{name:b.name,value:c.replace(bq,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,b){d[b]=function(a,c,e,f){d.isFunction(c)&&(f=f||e,e=c,c=null);return d.ajax({type:b,url:a,data:c,success:e,dataType:f})}}),d.extend({getScript:function(a,b){return d.get(a,null,b,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a){d.extend(!0,d.ajaxSettings,a),a.context&&(d.ajaxSettings.context=a.context)},ajaxSettings:{url:location.href,global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bF(bD),ajaxTransport:bF(bE),ajax:function(a,e){function w(a,c,e,l){if(t!==2){t=2,p&&clearTimeout(p),o=b,m=l||"",v.readyState=a?4:0;var n,q,r,s=e?bI(f,v,e):b,u,w;if(a>=200&&a<300||a===304){if(f.ifModified){if(u=v.getResponseHeader("Last-Modified"))d.lastModified[f.url]=u;if(w=v.getResponseHeader("Etag"))d.etag[f.url]=w}if(a===304)c="notmodified",n=!0;else try{q=bJ(f,s),c="success",n=!0}catch(x){c="parsererror",r=x}}else r=c,a&&(c="error",a<0&&(a=0));v.status=a,v.statusText=c,n?i.resolveWith(g,[q,c,v]):i.rejectWith(g,[v,c,r]),v.statusCode(k),k=b,f.global&&h.trigger("ajax"+(n?"Success":"Error"),[v,f,n?q:r]),j.resolveWith(g,[v,c]),f.global&&(h.trigger("ajaxComplete",[v,f]),--d.active||d.event.trigger("ajaxStop"))}}typeof e!=="object"&&(e=a,a=b),e=e||{};var f=d.extend(!0,{},d.ajaxSettings,e),g=(f.context=("context"in e?e:d.ajaxSettings).context)||f,h=g===f?d.event:d(g),i=d.Deferred(),j=d._Deferred(),k=f.statusCode||{},l={},m,n,o,p,q=c.location,r=q.protocol||"http:",s,t=0,u,v={readyState:0,setRequestHeader:function(a,b){t===0&&(l[a.toLowerCase()]=b);return this},getAllResponseHeaders:function(){return t===2?m:null},getResponseHeader:function(a){var b;if(t===2){if(!n){n={};while(b=bs.exec(m))n[b[1].toLowerCase()]=b[2]}b=n[a.toLowerCase()]}return b||null},abort:function(a){a=a||"abort",o&&o.abort(a),w(0,a);return this}};i.promise(v),v.success=v.done,v.error=v.fail,v.complete=j.done,v.statusCode=function(a){if(a){var b;if(t<2)for(b in a)k[b]=[k[b],a[b]];else b=a[v.status],v.then(b,b)}return this},f.url=(""+(a||f.url)).replace(br,"").replace(bv,r+"//"),f.dataTypes=d.trim(f.dataType||"*").toLowerCase().split(bz),f.crossDomain||(s=bB.exec(f.url.toLowerCase()),f.crossDomain=s&&(s[1]!=r||s[2]!=q.hostname||(s[3]||(s[1]==="http:"?80:443))!=(q.port||(r==="http:"?80:443)))),f.data&&f.processData&&typeof f.data!=="string"&&(f.data=d.param(f.data,f.traditional)),bG(bD,f,e,v),f.type=f.type.toUpperCase(),f.hasContent=!bu.test(f.type),f.global&&d.active++===0&&d.event.trigger("ajaxStart");if(!f.hasContent){f.data&&(f.url+=(bw.test(f.url)?"&":"?")+f.data);if(f.cache===!1){var x=d.now(),y=f.url.replace(bA,"$1_="+x);f.url=y+(y===f.url?(bw.test(f.url)?"&":"?")+"_="+x:"")}}if(f.data&&f.hasContent&&f.contentType!==!1||e.contentType)l["content-type"]=f.contentType;f.ifModified&&(d.lastModified[f.url]&&(l["if-modified-since"]=d.lastModified[f.url]),d.etag[f.url]&&(l["if-none-match"]=d.etag[f.url])),l.accept=f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+(f.dataTypes[0]!=="*"?", */*; q=0.01":""):f.accepts["*"];for(u in f.headers)l[u.toLowerCase()]=f.headers[u];if(!f.beforeSend||f.beforeSend.call(g,v,f)!==!1&&t!==2){for(u in {success:1,error:1,complete:1})v[u](f[u]);o=bG(bE,f,e,v);if(o){t=v.readyState=1,f.global&&h.trigger("ajaxSend",[v,f]),f.async&&f.timeout>0&&(p=setTimeout(function(){v.abort("timeout")},f.timeout));try{o.send(l,w)}catch(z){status<2?w(-1,z):d.error(z)}}else w(-1,"No Transport")}else w(0,"abort"),v=!1;return v},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery)d.each(a,function(){f(this.name,this.value)});else for(var g in a)bH(g,a[g],c,f);return e.join("&").replace(bo,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bK=d.now(),bL=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bK++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){e=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bL.test(b.url)||e&&bL.test(b.data))){var f,g=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h=a[g],i=b.url,j=b.data,k="$1"+g+"$2";b.jsonp!==!1&&(i=i.replace(bL,k),b.url===i&&(e&&(j=j.replace(bL,k)),b.data===j&&(i+=(/\?/.test(i)?"&":"?")+b.jsonp+"="+g))),b.url=i,b.data=j,a[g]=function(a){f=[a]},b.complete=[function(){a[g]=h;if(h)f&&d.isFunction(h)&&a[g](f[0]);else try{delete a[g]}catch(b){}},b.complete],b.converters["script json"]=function(){f||d.error(g+" was not called");return f[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript"},contents:{script:/javascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bM=d.now(),bN={},bO,bP;d.ajaxSettings.xhr=a.ActiveXObject?function(){if(a.location.protocol!=="file:")try{return new a.XMLHttpRequest}catch(b){}try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(c){}}:function(){return new a.XMLHttpRequest};try{bP=d.ajaxSettings.xhr()}catch(bQ){}d.support.ajax=!!bP,d.support.cors=bP&&"withCredentials"in bP,bP=b,d.support.ajax&&d.ajaxTransport(function(b){if(!b.crossDomain||d.support.cors){var c;return{send:function(e,f){bO||(bO=1,d(a).bind("unload",function(){d.each(bN,function(a,b){b.onreadystatechange&&b.onreadystatechange(1)})}));var g=b.xhr(),h;b.username?g.open(b.type,b.url,b.async,b.username,b.password):g.open(b.type,b.url,b.async),(!b.crossDomain||b.hasContent)&&!e["x-requested-with"]&&(e["x-requested-with"]="XMLHttpRequest");try{d.each(e,function(a,b){g.setRequestHeader(a,b)})}catch(i){}g.send(b.hasContent&&b.data||null),c=function(a,e){if(c&&(e||g.readyState===4)){c=0,h&&(g.onreadystatechange=d.noop,delete bN[h]);if(e)g.readyState!==4&&g.abort();else{var i=g.status,j,k=g.getAllResponseHeaders(),l={},m=g.responseXML;m&&m.documentElement&&(l.xml=m),l.text=g.responseText;try{j=g.statusText}catch(n){j=""}i=i===0?!b.crossDomain||j?k?304:0:302:i==1223?204:i,f(i,j,l,k)}}},b.async&&g.readyState!==4?(h=bM++,bN[h]=g,g.onreadystatechange=c):c()},abort:function(){c&&c(0,1)}}}});var bR={},bS=/^(?:toggle|show|hide)$/,bT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,bU,bV=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(bW("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:bW("show",1),slideUp:bW("hide",1),slideToggle:bW("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(d.css(this.elem,this.prop));return a||0},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||"px",this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!bU&&(bU=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=bZ.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!bZ.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=b$(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=b$(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}})})(window); From bf425a12f9771c82361c257d0a22c4d8cbc06059 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 31 Mar 2011 21:38:56 +0100 Subject: [PATCH 02/48] jQuery 1.5.2 --- JqueryGrailsPlugin.groovy | 6 +- grails-jquery-1.5.1.zip | Bin 174630 -> 174723 bytes grails-jquery-1.5.2.zip | Bin 0 -> 175810 bytes plugin.xml | 14 +- scripts/InstallJQuery.groovy | 2 +- .../grails/plugins/jquery/JQueryConfig.groovy | 2 +- web-app/js/jquery/jquery-1.5.1.min.js | 16 - .../{jquery-1.5.1.js => jquery-1.5.2.js} | 464 ++++++++++-------- web-app/js/jquery/jquery-1.5.2.min.js | 16 + 9 files changed, 294 insertions(+), 226 deletions(-) create mode 100644 grails-jquery-1.5.2.zip delete mode 100644 web-app/js/jquery/jquery-1.5.1.min.js rename web-app/js/jquery/{jquery-1.5.1.js => jquery-1.5.2.js} (97%) create mode 100644 web-app/js/jquery/jquery-1.5.2.min.js diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index 693448e..feeaa55 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -14,8 +14,8 @@ * limitations under the License. */ -import grails.util.GrailsUtil; -import org.codehaus.groovy.grails.commons.GrailsApplication; +import grails.util.GrailsUtil +import org.codehaus.groovy.grails.commons.GrailsApplication import org.codehaus.groovy.grails.plugins.web.taglib.* import org.codehaus.groovy.grails.plugins.jquery.JQueryConfig import org.codehaus.groovy.grails.plugins.jquery.JQueryProvider @@ -24,7 +24,7 @@ import org.codehaus.groovy.grails.commons.ConfigurationHolder class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.5.1" + def version = "1.5.2" static SHIPPED_SRC_DIR = 'jquery' diff --git a/grails-jquery-1.5.1.zip b/grails-jquery-1.5.1.zip index 6528810c685684b91f6551550da81df8ce09439f..d836d49094915761bb1b729fef279a124a1fd0ed 100644 GIT binary patch delta 661 zcmV;G0&4xH)Cz;u3V^f$yBvSIo_Iba6Tafy0RRA@1ONaE0001RY;|X8ZZ3FjY`s*$ zj?*v@z4H}wA`+BXyAl^jqe?3lR8c6qz};~t&U6zyjNL5#d+a!+T~u~Caf;^o&3ogS zaf-g(X)<7Bhx2UvV~4!YU_f?c%{;rvU*{JYXqMEv???19zl7)7zlDDnS@{g0kUQU4 zE^m=F?%@+wwsmA?a1|0YEUm#AtRyQ~%eF%XX*O_8#=r;Uo>WtaN#Q8=t_z-}nWPpv zhPkrc3{(`|22Ho<dr-UbgF|>-Xy1x!ZCj3Z0+wQW4^(Id$Nor zc=9cl%P+AVP+Nxgqila6(m|wb&?%2;P-uCopv)z zG7q;XIgO}fJq~e7-G(*ETWNHD>p65TJ5URe3OQF5nZe%SYJ~oCS&vaaS6fv6>~bN}kE#3xP)mne9s##n9s)Rs4!WLrJ|q*q;@klM0HFkzpr!&y0kxOurUFR;nwK-D z0z?DRAOV+=AORYeO{W47m!zix8UdS^zo!C30oIoUr~*;}h?iHW0#gJ=Bmn@EamG8B v{-6Q}m++_pFae5}A*lj)0i>6isRB*|)gl6yo2ddImkO!^76uuY0ssI2;a4Z( delta 607 zcmZp^%C+nYSHl*@-7@uu=2qC9>d>gFXJlZoWoBUDVqjn>$SFOP2 zp!NNqE=$2o&5aI^m=ssFOp6U|;CfS3es`sDPEz|u;RpAVk885Bl=xq?+5hw2iN_+j zcQcI=Qks|F{OjEQXO3h4n-jAxzfrJ1#cy;$XJuKr^j8D>me{xc58T7*-!X`6`aJdN zC$Y%K#xV~MUF$o;a?WXS+e}l7M(>kc&o<>vaGa$&XR_f3>7A;fqDd+_3HGxmM9va4 zy}I$t)LgX%N?+^@?rxdrf5l?z7c~~2%PVrO+KXRR%oLsUNlUd=tncf-&D#GpBtNUJ zyBwS%b8zzdjdNm;ziybC`olDVdm>-`qSQ`5!>x9AJS@|12MaXx95-+jX*Y{k?3pr4 zOy}_Ti8ZEi8fQ}Ug;P}u6z>(a%dFnT)+@gt^=WOjj?1g_y4e#yRDVwFU-);fEtACD zw-F1wug>0OvpLOmm%#c%?Vnx#*@t)Sk94oi{eSxF(wu0cU(&%zZP%|%K9swy^o9IN zeU*%jXaCO34&GU~Rd<%ElxyPBqzPgXC+8h&<+4z4gWm= diff --git a/grails-jquery-1.5.2.zip b/grails-jquery-1.5.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..fc64e6f44179dfead9e819ec9de5d0b83a7ff4ff GIT binary patch literal 175810 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 + Sergey Nebolsin, Craig Jone, Marc Palmer and Finn Herpich nebolsin@gmail.com, craigjones@maximsc.com, marc@grailsrocks.com and finn.herpich@marfinn-software.de JQuery for Grails @@ -14,5 +14,15 @@ JQueryTagLib - + + + + + + + + + + + \ No newline at end of file diff --git a/scripts/InstallJQuery.groovy b/scripts/InstallJQuery.groovy index 0211921..7e2d637 100644 --- a/scripts/InstallJQuery.groovy +++ b/scripts/InstallJQuery.groovy @@ -2,7 +2,7 @@ Ant.property(environment:"env") grailsHome = Ant.antProject.properties."env.GRAILS_HOME" // Hard coded for installation purpose -def jQueryVersion = '1.5.1' +def jQueryVersion = '1.5.2' def jQuerySources = 'jquery' includeTargets << grailsScript("_GrailsEvents") diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index f1d0d31..d40e342 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -27,7 +27,7 @@ public class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.5.1' + static SHIPPED_VERSION = '1.5.2' def init() { ApplicationHolder.application.metadata.findAll{ key, value -> diff --git a/web-app/js/jquery/jquery-1.5.1.min.js b/web-app/js/jquery/jquery-1.5.1.min.js deleted file mode 100644 index 6437874..0000000 --- a/web-app/js/jquery/jquery-1.5.1.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.5.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Feb 23 13:55:29 2011 -0500 - */ -(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/web-app/js/jquery/jquery-1.5.1.js b/web-app/js/jquery/jquery-1.5.2.js similarity index 97% rename from web-app/js/jquery/jquery-1.5.1.js rename to web-app/js/jquery/jquery-1.5.2.js index 78fcfa4..ae0234d 100644 --- a/web-app/js/jquery/jquery-1.5.1.js +++ b/web-app/js/jquery/jquery-1.5.2.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.5.1 + * jQuery JavaScript Library v1.5.2 * http://jquery.com/ * * Copyright 2011, John Resig @@ -11,7 +11,7 @@ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * - * Date: Wed Feb 23 13:55:29 2011 -0500 + * Date: Thu Mar 31 15:28:23 2011 -0400 */ (function( window, undefined ) { @@ -69,15 +69,9 @@ var jQuery = function( selector, context ) { // For matching the engine and version of the browser browserMatch, - // Has the ready events already been bound? - readyBound = false, - // The deferred used on DOM ready readyList, - // Promise methods - promiseMethods = "then done fail isResolved isRejected promise".split( " " ), - // The ready event handler DOMContentLoaded, @@ -202,7 +196,7 @@ jQuery.fn = jQuery.prototype = { selector: "", // The current version of jQuery being used - jquery: "1.5.1", + jquery: "1.5.2", // The default length of a jQuery object is 0 length: 0, @@ -427,11 +421,11 @@ jQuery.extend({ }, bindReady: function() { - if ( readyBound ) { + if ( readyList ) { return; } - readyBound = true; + readyList = jQuery._Deferred(); // Catch cases where $(document).ready() is called after the // browser event has already occurred. @@ -811,6 +805,123 @@ jQuery.extend({ return (new Date()).getTime(); }, + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return jQuery; + +})(); + + +var // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ // Create a simple deferred (one callbacks list) _Deferred: function() { var // callbacks list @@ -856,18 +967,14 @@ jQuery.extend({ // resolve with given context and args resolveWith: function( context, args ) { if ( !cancelled && !fired && !firing ) { + // make sure args are available (#8421) + args = args || []; firing = 1; try { while( callbacks[ 0 ] ) { callbacks.shift().apply( context, args ); } } - // We have to add a catch block for - // IE prior to 8 or else the finally - // block will never get executed - catch (e) { - throw e; - } finally { fired = [ context, args ]; firing = 0; @@ -878,7 +985,7 @@ jQuery.extend({ // resolve with this as context and given arguments resolve: function() { - deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + deferred.resolveWith( this, arguments ); return this; }, @@ -941,153 +1048,44 @@ jQuery.extend({ }, // Deferred helper - when: function( object ) { - var lastIndex = arguments.length, - deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? - object : - jQuery.Deferred(), - promise = deferred.promise(); - - if ( lastIndex > 1 ) { - var array = slice.call( arguments, 0 ), - count = lastIndex, - iCallback = function( index ) { - return function( value ) { - array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; - if ( !( --count ) ) { - deferred.resolveWith( promise, array ); - } - }; - }; - while( ( lastIndex-- ) ) { - object = array[ lastIndex ]; - if ( object && jQuery.isFunction( object.promise ) ) { - object.promise().then( iCallback(lastIndex), deferred.reject ); + when: function( firstParam ) { + var args = arguments, + i = 0, + length = args.length, + count = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + // Strange bug in FF4: + // Values changed onto the arguments object sometimes end up as undefined values + // outside the $.when method. Cloning the object into a fresh array solves the issue + deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); + } + }; + } + if ( length > 1 ) { + for( ; i < length; i++ ) { + if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject ); } else { --count; } } if ( !count ) { - deferred.resolveWith( promise, array ); - } - } else if ( deferred !== object ) { - deferred.resolve( object ); - } - return promise; - }, - - // Use of jQuery.browser is frowned upon. - // More details: http://docs.jquery.com/Utilities/jQuery.browser - uaMatch: function( ua ) { - ua = ua.toLowerCase(); - - var match = rwebkit.exec( ua ) || - ropera.exec( ua ) || - rmsie.exec( ua ) || - ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || - []; - - return { browser: match[1] || "", version: match[2] || "0" }; - }, - - sub: function() { - function jQuerySubclass( selector, context ) { - return new jQuerySubclass.fn.init( selector, context ); - } - jQuery.extend( true, jQuerySubclass, this ); - jQuerySubclass.superclass = this; - jQuerySubclass.fn = jQuerySubclass.prototype = this(); - jQuerySubclass.fn.constructor = jQuerySubclass; - jQuerySubclass.subclass = this.subclass; - jQuerySubclass.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { - context = jQuerySubclass(context); + deferred.resolveWith( deferred, args ); } - - return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); - }; - jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; - var rootjQuerySubclass = jQuerySubclass(document); - return jQuerySubclass; - }, - - browser: {} -}); - -// Create readyList deferred -readyList = jQuery._Deferred(); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -browserMatch = jQuery.uaMatch( userAgent ); -if ( browserMatch.browser ) { - jQuery.browser[ browserMatch.browser ] = true; - jQuery.browser.version = browserMatch.version; -} - -// Deprecated, use jQuery.browser.webkit instead -if ( jQuery.browser.webkit ) { - jQuery.browser.safari = true; -} - -if ( indexOf ) { - jQuery.inArray = function( elem, array ) { - return indexOf.call( array, elem ); - }; -} - -// IE doesn't match non-breaking spaces with \s -if ( rnotwhite.test( "\xA0" ) ) { - trimLeft = /^[\s\xA0]+/; - trimRight = /[\s\xA0]+$/; -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); - -// Cleanup functions for the document ready method -if ( document.addEventListener ) { - DOMContentLoaded = function() { - document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - jQuery.ready(); - }; - -} else if ( document.attachEvent ) { - DOMContentLoaded = function() { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( document.readyState === "complete" ) { - document.detachEvent( "onreadystatechange", DOMContentLoaded ); - jQuery.ready(); + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); } - }; -} - -// The DOM ready check for Internet Explorer -function doScrollCheck() { - if ( jQuery.isReady ) { - return; + return deferred.promise(); } +}); - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - document.documentElement.doScroll("left"); - } catch(e) { - setTimeout( doScrollCheck, 1 ); - return; - } - - // and execute any waiting functions - jQuery.ready(); -} - -// Expose jQuery to the global object -return jQuery; -})(); (function() { @@ -1157,7 +1155,8 @@ return jQuery; boxModel: null, inlineBlockNeedsLayout: false, shrinkWrapBlocks: false, - reliableHiddenOffsets: true + reliableHiddenOffsets: true, + reliableMarginRight: true }; input.checked = true; @@ -1175,15 +1174,15 @@ return jQuery; script = document.createElement("script"), id = "script" + jQuery.now(); + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) try { script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); } catch(e) {} root.insertBefore( script, root.firstChild ); - // Make sure that the execution of code works by injecting a script - // tag with appendChild/createTextNode - // (IE doesn't support this, fails, and uses .text instead) if ( window[ id ] ) { _scriptEval = true; delete window[ id ]; @@ -1192,8 +1191,6 @@ return jQuery; } root.removeChild( script ); - // release memory in IE - root = script = id = null; } return _scriptEval; @@ -1278,6 +1275,17 @@ return jQuery; jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; div.innerHTML = ""; + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( document.defaultView && document.defaultView.getComputedStyle ) { + div.style.width = "1px"; + div.style.marginRight = "0"; + jQuery.support.reliableMarginRight = ( parseInt(document.defaultView.getComputedStyle(div, null).marginRight, 10) || 0 ) === 0; + } + body.removeChild( div ).style.display = "none"; div = tds = null; }); @@ -1301,8 +1309,6 @@ return jQuery; el.setAttribute(eventName, "return;"); isSupported = typeof el[eventName] === "function"; } - el = null; - return isSupported; }; @@ -2194,10 +2200,10 @@ jQuery.event = { } if ( !eventHandle ) { - elemData.handle = eventHandle = function() { + elemData.handle = eventHandle = function( e ) { // Handle the second event of a trigger and when // an event is called after a page has unloaded - return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.handle.apply( eventHandle.elem, arguments ) : undefined; }; @@ -2504,7 +2510,7 @@ jQuery.event = { target[ "on" + targetType ] = null; } - jQuery.event.triggered = true; + jQuery.event.triggered = event.type; target[ targetType ](); } @@ -2515,7 +2521,7 @@ jQuery.event = { target[ "on" + targetType ] = old; } - jQuery.event.triggered = false; + jQuery.event.triggered = undefined; } } }, @@ -2785,7 +2791,7 @@ var withinElement = function( event ) { // Chrome does something similar, the parentNode property // can be accessed but is null. - if ( parent !== document && !parent.parentNode ) { + if ( parent && parent !== document && !parent.parentNode ) { return; } // Traverse up the tree @@ -2992,19 +2998,33 @@ function trigger( type, elem, args ) { // Create "bubbling" focus and blur events if ( document.addEventListener ) { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0; + jQuery.event.special[ fix ] = { setup: function() { - this.addEventListener( orig, handler, true ); + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } }, teardown: function() { - this.removeEventListener( orig, handler, true ); + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } } }; - function handler( e ) { - e = jQuery.event.fix( e ); + function handler( donor ) { + // Donor event is always a native one; fix it and switch its type. + // Let focusin/out handler cancel the donor focus/blur event. + var e = jQuery.event.fix( donor ); e.type = fix; - return jQuery.event.handle.call( this, e ); + e.originalEvent = {}; + jQuery.event.trigger( e, null, e.target ); + if ( e.isDefaultPrevented() ) { + donor.preventDefault(); + } } }); } @@ -3918,10 +3938,12 @@ var Expr = Sizzle.selectors = { }, text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) // use getAttribute instead to test this case - return "text" === elem.getAttribute( 'type' ); + return "text" === type && ( attr === type || attr === null ); }, + radio: function( elem ) { return "radio" === elem.type; }, @@ -4496,19 +4518,23 @@ if ( document.querySelectorAll ) { (function(){ var html = document.documentElement, - matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, - pseudoWorks = false; + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; - try { - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( document.documentElement, "[test!='']:sizzle" ); + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); - } catch( pseudoError ) { - pseudoWorks = true; - } + } catch( pseudoError ) { + pseudoWorks = true; + } - if ( matches ) { Sizzle.matchesSelector = function( node, expr ) { // Make sure that attribute selectors are quoted expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); @@ -4516,7 +4542,15 @@ if ( document.querySelectorAll ) { if ( !Sizzle.isXML( node ) ) { try { if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { - return matches.call( node, expr ); + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } } } catch(e) {} } @@ -5260,7 +5294,9 @@ jQuery.fn.extend({ } }); } else { - return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; } }, @@ -5707,7 +5743,8 @@ function evalScript( i, elem ) { var ralpha = /alpha\([^)]*\)/i, ropacity = /opacity=([^)]*)/, rdashAlpha = /-([a-z])/ig, - rupper = /([A-Z])/g, + // fixed for IE9, see #8346 + rupper = /([A-Z]|^ms)/g, rnumpx = /^-?\d+(?:px)?$/i, rnum = /^-?\d/, @@ -5944,6 +5981,28 @@ if ( !jQuery.support.opacity ) { }; } +jQuery(function() { + // This hook cannot be added until DOM ready because the support test + // for it is not run until after DOM ready + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + var ret; + jQuery.swap( elem, { "display": "inline-block" }, function() { + if ( computed ) { + ret = curCSS( elem, "margin-right", "marginRight" ); + } else { + ret = elem.style.marginRight; + } + }); + return ret; + } + }; + } +}); + if ( document.defaultView && document.defaultView.getComputedStyle ) { getComputedStyle = function( elem, newName, name ) { var ret, defaultView, computedStyle; @@ -6048,7 +6107,7 @@ var r20 = /%20/g, rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /(?:^file|^widget|\-extension):$/, + rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|widget):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\/\//, rquery = /\?/, @@ -6060,7 +6119,7 @@ var r20 = /%20/g, rucHeadersFunc = function( _, $1, $2 ) { return $1 + $2.toUpperCase(); }, - rurl = /^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/, + rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, // Keep a copy of the old load method _load = jQuery.fn.load, @@ -6102,7 +6161,7 @@ try { } // Segment location into parts -ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ); +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport function addToPrefiltersOrTransports( structure ) { @@ -6360,7 +6419,6 @@ jQuery.extend({ cache: null, traditional: false, headers: {}, - crossDomain: null, */ accepts: { @@ -6645,7 +6703,7 @@ jQuery.extend({ s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax ); // Determine if a cross-domain request is in order - if ( !s.crossDomain ) { + if ( s.crossDomain == null ) { parts = rurl.exec( s.url.toLowerCase() ); s.crossDomain = !!( parts && ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] || @@ -7024,7 +7082,7 @@ function ajaxConvert( s, response ) { var jsc = jQuery.now(), - jsre = /(\=)\?(&|$)|()\?\?()/i; + jsre = /(\=)\?(&|$)|\?\?/i; // Default jsonp settings jQuery.ajaxSetup({ @@ -7285,11 +7343,12 @@ if ( jQuery.support.ajax ) { xhr.overrideMimeType( s.mimeType ); } - // Requested-With header - // Not set for crossDomain requests with no content - // (see why at http://trac.dojotoolkit.org/ticket/9486) - // Won't change header if already provided - if ( !( s.crossDomain && !s.hasContent ) && !headers["X-Requested-With"] ) { + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { headers[ "X-Requested-With" ] = "XMLHttpRequest"; } @@ -7979,8 +8038,8 @@ if ( "getBoundingClientRect" in document.documentElement ) { win = getWindow(doc), clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, - scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ), - scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft), + scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop, + scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft, top = box.top + scrollTop - clientTop, left = box.left + scrollLeft - clientLeft; @@ -8093,7 +8152,6 @@ jQuery.offset = { this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); body.removeChild( container ); - body = container = innerDiv = checkDiv = table = td = null; jQuery.offset.initialize = jQuery.noop; }, @@ -8123,10 +8181,10 @@ jQuery.offset = { curOffset = curElem.offset(), curCSSTop = jQuery.css( elem, "top" ), curCSSLeft = jQuery.css( elem, "left" ), - calculatePosition = (position === "absolute" && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1), + calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1, props = {}, curPosition = {}, curTop, curLeft; - // need to be able to calculate position if either top or left is auto and position is absolute + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed if ( calculatePosition ) { curPosition = curElem.position(); } diff --git a/web-app/js/jquery/jquery-1.5.2.min.js b/web-app/js/jquery/jquery-1.5.2.min.js new file mode 100644 index 0000000..f78f96a --- /dev/null +++ b/web-app/js/jquery/jquery-1.5.2.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Mar 31 15:28:23 2011 -0400 + */ +(function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}function b$(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bZ(){try{return new a.XMLHttpRequest}catch(b){}}function bY(){d(a).unload(function(){for(var a in bW)bW[a](0,1)})}function bS(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function P(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function H(a,b){return(a&&a!=="*"?a+".":"")+b.replace(t,"`").replace(u,"&")}function G(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p=[],q=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function E(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function y(){return!0}function x(){return!1}function i(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function h(a,c,e){if(e===b&&a.nodeType===1){e=a.getAttribute("data-"+c);if(typeof e==="string"){try{e=e==="true"?!0:e==="false"?!1:e==="null"?null:d.isNaN(e)?g.test(e)?d.parseJSON(e):e:parseFloat(e)}catch(f){}d.data(a,c,e)}else e=b}return e}var c=a.document,d=function(){function G(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(G,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x,y,z=Object.prototype.toString,A=Object.prototype.hasOwnProperty,B=Array.prototype.push,C=Array.prototype.slice,D=String.prototype.trim,E=Array.prototype.indexOf,F={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.2",length:0,size:function(){return this.length},toArray:function(){return C.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?B.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),x.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(C.apply(this,arguments),"slice",C.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:B,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;x.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=d._Deferred();if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",y,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",y),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&G()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):F[z.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!A.call(a,"constructor")&&!A.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||A.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1?f.call(arguments,0):c,--g||h.resolveWith(h,f.call(b,0))}}var b=arguments,c=0,e=b.length,g=e,h=e<=1&&a&&d.isFunction(a.promise)?a:d.Deferred();if(e>1){for(;c
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0,reliableMarginRight:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e)}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(a.style.width="1px",a.style.marginRight="0",d.support.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(a,null).marginRight,10)||0)===0),b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function");return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}}();var g=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!i(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,j=g?b[d.expando]:d.expando;if(!h[j])return;if(c){var k=e?h[j][f]:h[j];if(k){delete k[c];if(!i(k))return}}if(e){delete h[j][f];if(!i(h[j]))return}var l=h[j][f];d.support.deleteExpando||h!=a?delete h[j]:h[j]=null,l?(h[j]={},g||(h[j].toJSON=d.noop),h[j][f]=l):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var f=this[0].attributes,g;for(var i=0,j=f.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var j=i?f:0,k=i?f+1:h.length;j=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=m.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&n.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var k=a.getAttributeNode("tabIndex");return k&&k.specified?k.value:o.test(a.nodeName)||p.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var l=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return l===null?b:l}h&&(a[c]=e);return a[c]}});var r=/\.(.*)$/,s=/^(?:textarea|input|select)$/i,t=/\./g,u=/ /g,v=/[^\w\s.|`]/g,w=function(a){return a.replace(v,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=x;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(a){return typeof d!=="undefined"&&d.event.triggered!==a.type?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=x);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),w).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(r,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=a.type,l[m]())}catch(p){}k&&(l["on"+m]=k),d.event.triggered=b}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},D=function D(a){var c=a.target,e,f;if(s.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=C(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:D,beforedeactivate:D,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&D.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&D.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",C(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in B)d.event.add(this,c+".specialChange",B[c]);return s.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return s.test(this.nodeName)}},B=d.event.special.change.filters,B.focus=B.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function f(a){var c=d.event.fix(a);c.type=b,c.originalEvent={},d.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var e=0;d.event.special[b]={setup:function(){e++===0&&c.addEventListener(a,f,!0)},teardown:function(){--e===0&&c.removeEventListener(a,f,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return"text"===c&&(b===c||b===null)},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=N.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(P(c[0])||P(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=M.call(arguments);I.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!O[a]?d.unique(f):f,(this.length>1||K.test(e))&&J.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var R=/ jQuery\d+="(?:\d+|null)"/g,S=/^\s+/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,U=/<([\w:]+)/,V=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};Z.optgroup=Z.option,Z.tbody=Z.tfoot=Z.colgroup=Z.caption=Z.thead,Z.th=Z.td,d.support.htmlSerialize||(Z._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(R,""):null;if(typeof a!=="string"||X.test(a)||!d.support.leadingWhitespace&&S.test(a)||Z[(U.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(T,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){ba(a,e),f=bb(a),g=bb(e);for(h=0;f[h];++h)ba(f[h],g[h])}if(b){_(a,e);if(c){f=bb(a),g=bb(e);for(h=0;f[h];++h)_(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||W.test(i)){if(typeof i==="string"){i=i.replace(T,"<$1>");var j=(U.exec(i)||["",""])[1].toLowerCase(),k=Z[j]||Z._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=V.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&S.test(i)&&m.insertBefore(b.createTextNode(S.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bd=/alpha\([^)]*\)/i,be=/opacity=([^)]*)/,bf=/-([a-z])/ig,bg=/([A-Z]|^ms)/g,bh=/^-?\d+(?:px)?$/i,bi=/^-?\d/,bj={position:"absolute",visibility:"hidden",display:"block"},bk=["Left","Right"],bl=["Top","Bottom"],bm,bn,bo,bp=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bm(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bm)return bm(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bf,bp)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bq(a,b,e):d.swap(a,bj,function(){f=bq(a,b,e)});if(f<=0){f=bm(a,b,b),f==="0px"&&bo&&(f=bo(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bh.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return be.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bd.test(f)?f.replace(bd,e):c.filter+" "+e}}),d(function(){d.support.reliableMarginRight||(d.cssHooks.marginRight={get:function(a,b){var c;d.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bn=function(a,c,e){var f,g,h;e=e.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bo=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bh.test(d)&&bi.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bm=bn||bo,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var br=/%20/g,bs=/\[\]$/,bt=/\r?\n/g,bu=/#.*$/,bv=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bw=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bx=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,by=/^(?:GET|HEAD)$/,bz=/^\/\//,bA=/\?/,bB=/)<[^<]*)*<\/script>/gi,bC=/^(?:select|textarea)/i,bD=/\s+/,bE=/([?&])_=[^&]*/,bF=/(^|\-)([a-z])/g,bG=function(a,b,c){return b+c.toUpperCase()},bH=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bI=d.fn.load,bJ={},bK={},bL,bM;try{bL=c.location.href}catch(bN){bL=c.createElement("a"),bL.href="",bL=bL.href}bM=bH.exec(bL.toLowerCase())||[],d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bI)return bI.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bB,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bC.test(this.nodeName)||bw.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bt,"\r\n")}}):{name:b.name,value:c.replace(bt,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bL,isLocal:bx.test(bM[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bO(bJ),ajaxTransport:bO(bK),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bR(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bS(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bF,bG)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bu,"").replace(bz,bM[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bD),e.crossDomain==null&&(q=bH.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bM[1]||q[2]!=bM[2]||(q[3]||(q[1]==="http:"?80:443))!=(bM[3]||(bM[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bP(bJ,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!by.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(bA.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bE,"$1_="+w);e.url=x+(x===e.url?(bA.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bP(bK,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bQ(g,a[g],c,f);return e.join("&").replace(br,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bT=d.now(),bU=/(\=)\?(&|$)|\?\?/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bT++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bU.test(b.url)||f&&bU.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bU,l),b.url===j&&(f&&(k=k.replace(bU,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bV=d.now(),bW,bX;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bZ()||b$()}:bZ,bX=d.ajaxSettings.xhr(),d.support.ajax=!!bX,d.support.cors=bX&&"withCredentials"in bX,bX=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),!a.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bW[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bW||(bW={},bY()),h=bV++,g.onreadystatechange=bW[h]=c):c()},abort:function(){c&&c(0,1)}}}});var b_={},ca=/^(?:toggle|show|hide)$/,cb=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cc,cd=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(ce("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:ce("show",1),slideUp:ce("hide",1),slideToggle:ce("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!cc&&(cc=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=(e==="absolute"||e==="fixed")&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=ch.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!ch.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=ci(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=ci(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file From 4aac593a3dcdd89269d861b0838ebf54af8109ce Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 5 May 2011 17:57:25 +0100 Subject: [PATCH 03/48] upgrade jQuery to 1.6 --- JqueryGrailsPlugin.groovy | 2 +- .../grails/plugins/jquery/JQueryConfig.groovy | 2 +- web-app/js/jquery/jquery-1.5.2.min.js | 16 - .../jquery/{jquery-1.5.2.js => jquery-1.6.js} | 2311 ++++++++++------- web-app/js/jquery/jquery-1.6.min.js | 16 + 5 files changed, 1419 insertions(+), 928 deletions(-) delete mode 100644 web-app/js/jquery/jquery-1.5.2.min.js rename web-app/js/jquery/{jquery-1.5.2.js => jquery-1.6.js} (80%) create mode 100644 web-app/js/jquery/jquery-1.6.min.js diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index feeaa55..2a4b07f 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -24,7 +24,7 @@ import org.codehaus.groovy.grails.commons.ConfigurationHolder class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.5.2" + def version = "1.6" static SHIPPED_SRC_DIR = 'jquery' diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index d40e342..0c94f39 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -27,7 +27,7 @@ public class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.5.2' + static SHIPPED_VERSION = '1.6' def init() { ApplicationHolder.application.metadata.findAll{ key, value -> diff --git a/web-app/js/jquery/jquery-1.5.2.min.js b/web-app/js/jquery/jquery-1.5.2.min.js deleted file mode 100644 index f78f96a..0000000 --- a/web-app/js/jquery/jquery-1.5.2.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.5.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu Mar 31 15:28:23 2011 -0400 - */ -(function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}function b$(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bZ(){try{return new a.XMLHttpRequest}catch(b){}}function bY(){d(a).unload(function(){for(var a in bW)bW[a](0,1)})}function bS(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function P(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function H(a,b){return(a&&a!=="*"?a+".":"")+b.replace(t,"`").replace(u,"&")}function G(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p=[],q=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function E(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function y(){return!0}function x(){return!1}function i(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function h(a,c,e){if(e===b&&a.nodeType===1){e=a.getAttribute("data-"+c);if(typeof e==="string"){try{e=e==="true"?!0:e==="false"?!1:e==="null"?null:d.isNaN(e)?g.test(e)?d.parseJSON(e):e:parseFloat(e)}catch(f){}d.data(a,c,e)}else e=b}return e}var c=a.document,d=function(){function G(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(G,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x,y,z=Object.prototype.toString,A=Object.prototype.hasOwnProperty,B=Array.prototype.push,C=Array.prototype.slice,D=String.prototype.trim,E=Array.prototype.indexOf,F={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.2",length:0,size:function(){return this.length},toArray:function(){return C.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?B.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),x.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(C.apply(this,arguments),"slice",C.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:B,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;x.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=d._Deferred();if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",y,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",y),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&G()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):F[z.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!A.call(a,"constructor")&&!A.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||A.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1?f.call(arguments,0):c,--g||h.resolveWith(h,f.call(b,0))}}var b=arguments,c=0,e=b.length,g=e,h=e<=1&&a&&d.isFunction(a.promise)?a:d.Deferred();if(e>1){for(;c
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0,reliableMarginRight:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e)}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(a.style.width="1px",a.style.marginRight="0",d.support.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(a,null).marginRight,10)||0)===0),b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function");return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}}();var g=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!i(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,j=g?b[d.expando]:d.expando;if(!h[j])return;if(c){var k=e?h[j][f]:h[j];if(k){delete k[c];if(!i(k))return}}if(e){delete h[j][f];if(!i(h[j]))return}var l=h[j][f];d.support.deleteExpando||h!=a?delete h[j]:h[j]=null,l?(h[j]={},g||(h[j].toJSON=d.noop),h[j][f]=l):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var f=this[0].attributes,g;for(var i=0,j=f.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var j=i?f:0,k=i?f+1:h.length;j=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=m.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&n.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var k=a.getAttributeNode("tabIndex");return k&&k.specified?k.value:o.test(a.nodeName)||p.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var l=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return l===null?b:l}h&&(a[c]=e);return a[c]}});var r=/\.(.*)$/,s=/^(?:textarea|input|select)$/i,t=/\./g,u=/ /g,v=/[^\w\s.|`]/g,w=function(a){return a.replace(v,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=x;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(a){return typeof d!=="undefined"&&d.event.triggered!==a.type?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=x);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),w).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(r,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=a.type,l[m]())}catch(p){}k&&(l["on"+m]=k),d.event.triggered=b}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},D=function D(a){var c=a.target,e,f;if(s.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=C(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:D,beforedeactivate:D,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&D.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&D.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",C(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in B)d.event.add(this,c+".specialChange",B[c]);return s.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return s.test(this.nodeName)}},B=d.event.special.change.filters,B.focus=B.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function f(a){var c=d.event.fix(a);c.type=b,c.originalEvent={},d.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var e=0;d.event.special[b]={setup:function(){e++===0&&c.addEventListener(a,f,!0)},teardown:function(){--e===0&&c.removeEventListener(a,f,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return"text"===c&&(b===c||b===null)},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=N.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(P(c[0])||P(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=M.call(arguments);I.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!O[a]?d.unique(f):f,(this.length>1||K.test(e))&&J.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var R=/ jQuery\d+="(?:\d+|null)"/g,S=/^\s+/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,U=/<([\w:]+)/,V=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};Z.optgroup=Z.option,Z.tbody=Z.tfoot=Z.colgroup=Z.caption=Z.thead,Z.th=Z.td,d.support.htmlSerialize||(Z._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(R,""):null;if(typeof a!=="string"||X.test(a)||!d.support.leadingWhitespace&&S.test(a)||Z[(U.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(T,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){ba(a,e),f=bb(a),g=bb(e);for(h=0;f[h];++h)ba(f[h],g[h])}if(b){_(a,e);if(c){f=bb(a),g=bb(e);for(h=0;f[h];++h)_(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||W.test(i)){if(typeof i==="string"){i=i.replace(T,"<$1>");var j=(U.exec(i)||["",""])[1].toLowerCase(),k=Z[j]||Z._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=V.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&S.test(i)&&m.insertBefore(b.createTextNode(S.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bd=/alpha\([^)]*\)/i,be=/opacity=([^)]*)/,bf=/-([a-z])/ig,bg=/([A-Z]|^ms)/g,bh=/^-?\d+(?:px)?$/i,bi=/^-?\d/,bj={position:"absolute",visibility:"hidden",display:"block"},bk=["Left","Right"],bl=["Top","Bottom"],bm,bn,bo,bp=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bm(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bm)return bm(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bf,bp)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bq(a,b,e):d.swap(a,bj,function(){f=bq(a,b,e)});if(f<=0){f=bm(a,b,b),f==="0px"&&bo&&(f=bo(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bh.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return be.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bd.test(f)?f.replace(bd,e):c.filter+" "+e}}),d(function(){d.support.reliableMarginRight||(d.cssHooks.marginRight={get:function(a,b){var c;d.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bn=function(a,c,e){var f,g,h;e=e.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bo=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bh.test(d)&&bi.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bm=bn||bo,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var br=/%20/g,bs=/\[\]$/,bt=/\r?\n/g,bu=/#.*$/,bv=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bw=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bx=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,by=/^(?:GET|HEAD)$/,bz=/^\/\//,bA=/\?/,bB=/)<[^<]*)*<\/script>/gi,bC=/^(?:select|textarea)/i,bD=/\s+/,bE=/([?&])_=[^&]*/,bF=/(^|\-)([a-z])/g,bG=function(a,b,c){return b+c.toUpperCase()},bH=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bI=d.fn.load,bJ={},bK={},bL,bM;try{bL=c.location.href}catch(bN){bL=c.createElement("a"),bL.href="",bL=bL.href}bM=bH.exec(bL.toLowerCase())||[],d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bI)return bI.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bB,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bC.test(this.nodeName)||bw.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bt,"\r\n")}}):{name:b.name,value:c.replace(bt,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bL,isLocal:bx.test(bM[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bO(bJ),ajaxTransport:bO(bK),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bR(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bS(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bF,bG)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bu,"").replace(bz,bM[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bD),e.crossDomain==null&&(q=bH.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bM[1]||q[2]!=bM[2]||(q[3]||(q[1]==="http:"?80:443))!=(bM[3]||(bM[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bP(bJ,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!by.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(bA.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bE,"$1_="+w);e.url=x+(x===e.url?(bA.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bP(bK,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bQ(g,a[g],c,f);return e.join("&").replace(br,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bT=d.now(),bU=/(\=)\?(&|$)|\?\?/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bT++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bU.test(b.url)||f&&bU.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bU,l),b.url===j&&(f&&(k=k.replace(bU,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bV=d.now(),bW,bX;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bZ()||b$()}:bZ,bX=d.ajaxSettings.xhr(),d.support.ajax=!!bX,d.support.cors=bX&&"withCredentials"in bX,bX=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),!a.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bW[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bW||(bW={},bY()),h=bV++,g.onreadystatechange=bW[h]=c):c()},abort:function(){c&&c(0,1)}}}});var b_={},ca=/^(?:toggle|show|hide)$/,cb=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cc,cd=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(ce("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:ce("show",1),slideUp:ce("hide",1),slideToggle:ce("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!cc&&(cc=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=(e==="absolute"||e==="fixed")&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=ch.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!ch.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=ci(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=ci(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/web-app/js/jquery/jquery-1.5.2.js b/web-app/js/jquery/jquery-1.6.js similarity index 80% rename from web-app/js/jquery/jquery-1.5.2.js rename to web-app/js/jquery/jquery-1.6.js index ae0234d..9a13ab9 100644 --- a/web-app/js/jquery/jquery-1.5.2.js +++ b/web-app/js/jquery/jquery-1.6.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.5.2 + * jQuery JavaScript Library v1.6 * http://jquery.com/ * * Copyright 2011, John Resig @@ -11,12 +11,14 @@ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * - * Date: Thu Mar 31 15:28:23 2011 -0400 + * Date: Mon May 2 13:50:00 2011 -0400 */ (function( window, undefined ) { // Use the correct document accordingly with window argument (sandbox) -var document = window.document; +var document = window.document, + navigator = window.navigator, + location = window.location; var jQuery = (function() { // Define a local copy of jQuery @@ -36,7 +38,7 @@ var jQuery = function( selector, context ) { // A simple way to check for HTML strings or ID strings // (both of which we optimize for) - quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, // Check if a string has a non-whitespace character in it rnotwhite = /\S/, @@ -107,7 +109,7 @@ jQuery.fn = jQuery.prototype = { if ( selector === "body" && !context && document.body ) { this.context = document; this[0] = document.body; - this.selector = "body"; + this.selector = selector; this.length = 1; return this; } @@ -115,7 +117,13 @@ jQuery.fn = jQuery.prototype = { // Handle HTML strings if ( typeof selector === "string" ) { // Are we dealing with HTML string or an ID? - match = quickExpr.exec( selector ); + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } // Verify a match, and that no context was specified for #id if ( match && (match[1] || !context) ) { @@ -196,7 +204,7 @@ jQuery.fn = jQuery.prototype = { selector: "", // The current version of jQuery being used - jquery: "1.5.2", + jquery: "1.6", // The default length of a jQuery object is 0 length: 0, @@ -372,9 +380,11 @@ jQuery.extend = jQuery.fn.extend = function() { jQuery.extend({ noConflict: function( deep ) { - window.$ = _$; + if ( window.$ === jQuery ) { + window.$ = _$; + } - if ( deep ) { + if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } @@ -388,15 +398,19 @@ jQuery.extend({ // the ready event fires. See #6781 readyWait: 1, - // Handle when the DOM is ready - ready: function( wait ) { - // A third-party is pushing the ready event forwards - if ( wait === true ) { - jQuery.readyWait--; + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); } + }, - // Make sure that the DOM is not already loaded - if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Handle when the DOM is ready + ready: function( wait ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). if ( !document.body ) { return setTimeout( jQuery.ready, 1 ); @@ -446,7 +460,7 @@ jQuery.extend({ } else if ( document.attachEvent ) { // ensure firing before onload, // maybe late but safe also for iframes - document.attachEvent("onreadystatechange", DOMContentLoaded); + document.attachEvent( "onreadystatechange", DOMContentLoaded ); // A fallback to window.onload, that will always work window.attachEvent( "onload", jQuery.ready ); @@ -534,20 +548,21 @@ jQuery.extend({ // Make sure leading/trailing whitespace is removed (IE can't handle it) data = jQuery.trim( data ); + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + // Make sure the incoming data is actual JSON // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test(data.replace(rvalidescape, "@") - .replace(rvalidtokens, "]") - .replace(rvalidbraces, "")) ) { + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { - // Try to use the native JSON parser first - return window.JSON && window.JSON.parse ? - window.JSON.parse( data ) : - (new Function("return " + data))(); + return (new Function( "return " + data ))(); - } else { - jQuery.error( "Invalid JSON: " + data ); } + jQuery.error( "Invalid JSON: " + data ); }, // Cross-browser xml parsing @@ -574,24 +589,17 @@ jQuery.extend({ noop: function() {}, - // Evalulates a script in a global context + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context globalEval: function( data ) { - if ( data && rnotwhite.test(data) ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, - script = document.createElement( "script" ); - - if ( jQuery.support.scriptEval() ) { - script.appendChild( document.createTextNode( data ) ); - } else { - script.text = data; - } - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); + if ( data && rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); } }, @@ -603,7 +611,7 @@ jQuery.extend({ each: function( object, callback, args ) { var name, i = 0, length = object.length, - isObj = length === undefined || jQuery.isFunction(object); + isObj = length === undefined || jQuery.isFunction( object ); if ( args ) { if ( isObj ) { @@ -629,8 +637,11 @@ jQuery.extend({ } } } else { - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } } } @@ -661,7 +672,7 @@ jQuery.extend({ // The extra typeof function check is to prevent crashes // in Safari 2 (See: #3039) // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 - var type = jQuery.type(array); + var type = jQuery.type( array ); if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { push.call( ret, array ); @@ -674,8 +685,9 @@ jQuery.extend({ }, inArray: function( elem, array ) { - if ( array.indexOf ) { - return array.indexOf( elem ); + + if ( indexOf ) { + return indexOf.call( array, elem ); } for ( var i = 0, length = array.length; i < length; i++ ) { @@ -725,15 +737,30 @@ jQuery.extend({ // arg is for internal usage only map: function( elems, callback, arg ) { - var ret = [], value; + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; // Go through the array, translating each of the items to their - // new value (or values). - for ( var i = 0, length = elems.length; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); - if ( value != null ) { - ret[ ret.length ] = value; + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } } } @@ -744,31 +771,30 @@ jQuery.extend({ // A global GUID counter for objects guid: 1, - proxy: function( fn, proxy, thisObject ) { - if ( arguments.length === 2 ) { - if ( typeof proxy === "string" ) { - thisObject = fn; - fn = thisObject[ proxy ]; - proxy = undefined; + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } - } else if ( proxy && !jQuery.isFunction( proxy ) ) { - thisObject = proxy; - proxy = undefined; - } + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; } - if ( !proxy && fn ) { + // Simulated bind + var args = slice.call( arguments, 2 ), proxy = function() { - return fn.apply( thisObject || this, arguments ); + return fn.apply( context, args.concat( slice.call( arguments ) ) ); }; - } // Set the guid of unique handler to the same of original handler, so it can be removed - if ( fn ) { - proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - } + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - // So proxy can be declared as an argument return proxy; }, @@ -820,24 +846,24 @@ jQuery.extend({ }, sub: function() { - function jQuerySubclass( selector, context ) { - return new jQuerySubclass.fn.init( selector, context ); + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); } - jQuery.extend( true, jQuerySubclass, this ); - jQuerySubclass.superclass = this; - jQuerySubclass.fn = jQuerySubclass.prototype = this(); - jQuerySubclass.fn.constructor = jQuerySubclass; - jQuerySubclass.subclass = this.subclass; - jQuerySubclass.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { - context = jQuerySubclass(context); + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); } - return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); }; - jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; - var rootjQuerySubclass = jQuerySubclass(document); - return jQuerySubclass; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; }, browser: {} @@ -859,12 +885,6 @@ if ( jQuery.browser.webkit ) { jQuery.browser.safari = true; } -if ( indexOf ) { - jQuery.inArray = function( elem, array ) { - return indexOf.call( array, elem ); - }; -} - // IE doesn't match non-breaking spaces with \s if ( rnotwhite.test( "\xA0" ) ) { trimLeft = /^[\s\xA0]+/; @@ -917,7 +937,7 @@ return jQuery; var // Promise methods - promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ), // Static reference to slice sliceDeferred = [].slice; @@ -1016,10 +1036,37 @@ jQuery.extend({ deferred.done( doneCallbacks ).fail( failCallbacks ); return this; }, + always: function() { + return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); + }, fail: failDeferred.done, rejectWith: failDeferred.resolveWith, reject: failDeferred.resolve, isRejected: failDeferred.isResolved, + pipe: function( fnDone, fnFail ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject ); + } else { + newDefer[ action ]( returned ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { @@ -1035,7 +1082,7 @@ jQuery.extend({ } return obj; } - } ); + }); // Make sure only one callback list will be used deferred.done( failDeferred.cancel ).fail( deferred.cancel ); // Unexpose cancel @@ -1087,46 +1134,61 @@ jQuery.extend({ +jQuery.support = (function() { -(function() { - - jQuery.support = {}; - - var div = document.createElement("div"); + var div = document.createElement( "div" ), + all, + a, + select, + opt, + input, + marginDiv, + support, + fragment, + body, + bodyStyle, + tds, + events, + eventName, + i, + isSupported; - div.style.display = "none"; - div.innerHTML = "
a"; + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
a"; - var all = div.getElementsByTagName("*"), - a = div.getElementsByTagName("a")[0], - select = document.createElement("select"), - opt = select.appendChild( document.createElement("option") ), - input = div.getElementsByTagName("input")[0]; + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; // Can't get basic test support if ( !all || !all.length || !a ) { - return; + return {}; } - jQuery.support = { + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: div.firstChild.nodeType === 3, + leadingWhitespace: ( div.firstChild.nodeType === 3 ), // Make sure that tbody elements aren't automatically inserted // IE will insert them into empty tables - tbody: !div.getElementsByTagName("tbody").length, + tbody: !div.getElementsByTagName( "tbody" ).length, // Make sure that link elements get serialized correctly by innerHTML // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName("link").length, + htmlSerialize: !!div.getElementsByTagName( "link" ).length, // Get the style information from getAttribute - // (IE uses .cssText insted) - style: /red/.test( a.getAttribute("style") ), + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), // Make sure that URLs aren't manipulated // (IE normalizes it by default) - hrefNormalized: a.getAttribute("href") === "/a", + hrefNormalized: ( a.getAttribute( "href" ) === "/a" ), // Make sure that element opacity exists // (IE uses filter instead) @@ -1140,188 +1202,183 @@ jQuery.extend({ // Make sure that if no value is specified for a checkbox // that it defaults to "on". // (WebKit defaults to "" instead) - checkOn: input.value === "on", + checkOn: ( input.value === "on" ), // Make sure that a selected-by-default option has a working selected property. // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) optSelected: opt.selected, + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, deleteExpando: true, - optDisabled: false, - checkClone: false, noCloneEvent: true, - noCloneChecked: true, - boxModel: null, inlineBlockNeedsLayout: false, shrinkWrapBlocks: false, - reliableHiddenOffsets: true, reliableMarginRight: true }; + // Make sure checked status is properly cloned input.checked = true; - jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + support.noCloneChecked = input.cloneNode( true ).checked; // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as diabled) + // (WebKit marks them as disabled) select.disabled = true; - jQuery.support.optDisabled = !opt.disabled; - - var _scriptEval = null; - jQuery.support.scriptEval = function() { - if ( _scriptEval === null ) { - var root = document.documentElement, - script = document.createElement("script"), - id = "script" + jQuery.now(); - - // Make sure that the execution of code works by injecting a script - // tag with appendChild/createTextNode - // (IE doesn't support this, fails, and uses .text instead) - try { - script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); - } catch(e) {} - - root.insertBefore( script, root.firstChild ); - - if ( window[ id ] ) { - _scriptEval = true; - delete window[ id ]; - } else { - _scriptEval = false; - } - - root.removeChild( script ); - } - - return _scriptEval; - }; + support.optDisabled = !opt.disabled; // Test to see if it's possible to delete an expando from an element // Fails in Internet Explorer try { delete div.test; - - } catch(e) { - jQuery.support.deleteExpando = false; + } catch( e ) { + support.deleteExpando = false; } if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { - div.attachEvent("onclick", function click() { + div.attachEvent( "onclick", function click() { // Cloning a node shouldn't copy over any // bound event handlers (IE does this) - jQuery.support.noCloneEvent = false; - div.detachEvent("onclick", click); + support.noCloneEvent = false; + div.detachEvent( "onclick", click ); }); - div.cloneNode(true).fireEvent("onclick"); + div.cloneNode( true ).fireEvent( "onclick" ); } - div = document.createElement("div"); - div.innerHTML = ""; + // Check if a radio maintains it's value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; - var fragment = document.createDocumentFragment(); + input.setAttribute("checked", "checked"); + div.appendChild( input ); + fragment = document.createDocumentFragment(); fragment.appendChild( div.firstChild ); // WebKit doesn't clone checked state correctly in fragments - jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + div.innerHTML = ""; // Figure out if the W3C box model works as expected - // document.body must exist before we can do this - jQuery(function() { - var div = document.createElement("div"), - body = document.getElementsByTagName("body")[0]; + div.style.width = div.style.paddingLeft = "1px"; + + // We use our own, invisible, body + body = document.createElement( "body" ); + bodyStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + // Set background to avoid IE crashes when removing (#9028) + background: "none" + }; + for ( i in bodyStyle ) { + body.style[ i ] = bodyStyle[ i ]; + } + body.appendChild( div ); + document.documentElement.appendChild( body ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); + } - // Frameset documents with no body should not run this code - if ( !body ) { - return; - } + div.innerHTML = "
t
"; + tds = div.getElementsByTagName( "td" ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + div.innerHTML = ""; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( document.defaultView && document.defaultView.getComputedStyle ) { + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( document.defaultView.getComputedStyle( marginDiv, null ).marginRight, 10 ) || 0 ) === 0; + } - div.style.width = div.style.paddingLeft = "1px"; - body.appendChild( div ); - jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; - - if ( "zoom" in div.style ) { - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - // (IE < 8 does this) - div.style.display = "inline"; - div.style.zoom = 1; - jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; - - // Check if elements with layout shrink-wrap their children - // (IE 6 does this) - div.style.display = ""; - div.innerHTML = "
"; - jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; - } - - div.innerHTML = "
t
"; - var tds = div.getElementsByTagName("td"); - - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - // (only IE 8 fails this test) - jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; - - tds[0].style.display = ""; - tds[1].style.display = "none"; - - // Check if empty table cells still have offsetWidth/Height - // (IE < 8 fail this test) - jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; - div.innerHTML = ""; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. For more - // info see bug #3333 - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - if ( document.defaultView && document.defaultView.getComputedStyle ) { - div.style.width = "1px"; - div.style.marginRight = "0"; - jQuery.support.reliableMarginRight = ( parseInt(document.defaultView.getComputedStyle(div, null).marginRight, 10) || 0 ) === 0; - } - - body.removeChild( div ).style.display = "none"; - div = tds = null; - }); + // Remove the body element we added + body.innerHTML = ""; + document.documentElement.removeChild( body ); // Technique from Juriy Zaytsev // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ - var eventSupported = function( eventName ) { - var el = document.createElement("div"); - eventName = "on" + eventName; - - // We only care about the case where non-standard event systems - // are used, namely in IE. Short-circuiting here helps us to - // avoid an eval call (in setAttribute) which can cause CSP - // to go haywire. See: https://developer.mozilla.org/en/Security/CSP - if ( !el.attachEvent ) { - return true; + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for( i in { + submit: 1, + change: 1, + focusin: 1 + } ) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; } + } - var isSupported = (eventName in el); - if ( !isSupported ) { - el.setAttribute(eventName, "return;"); - isSupported = typeof el[eventName] === "function"; - } - return isSupported; - }; + return support; +})(); - jQuery.support.submitBubbles = eventSupported("submit"); - jQuery.support.changeBubbles = eventSupported("change"); +// Keep track of boxModel +jQuery.boxModel = jQuery.support.boxModel; - // release memory in IE - div = all = a = null; -})(); -var rbrace = /^(?:\{.*\}|\[.*\])$/; +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([a-z])([A-Z])/g; jQuery.extend({ cache: {}, @@ -1544,12 +1601,13 @@ jQuery.fn.extend({ data = jQuery.data( this[0] ); if ( this[0].nodeType === 1 ) { - var attr = this[0].attributes, name; + var attr = this[0].attributes, name; for ( var i = 0, l = attr.length; i < l; i++ ) { name = attr[i].name; if ( name.indexOf( "data-" ) === 0 ) { - name = name.substr( 5 ); + name = jQuery.camelCase( name.substring(5) ); + dataAttr( this[0], name, data[ name ] ); } } @@ -1603,7 +1661,9 @@ function dataAttr( elem, key, data ) { // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { - data = elem.getAttribute( "data-" + key ); + name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase(); + + data = elem.getAttribute( name ); if ( typeof data === "string" ) { try { @@ -1642,35 +1702,76 @@ function isEmptyDataObject( obj ) { -jQuery.extend({ - queue: function( elem, type, data ) { - if ( !elem ) { - return; - } +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery.data( elem, deferDataKey, undefined, true ); + if ( defer && + ( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) && + ( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery.data( elem, queueDataKey, undefined, true ) && + !jQuery.data( elem, markDataKey, undefined, true ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.resolve(); + } + }, 0 ); + } +} - type = (type || "fx") + "queue"; - var q = jQuery._data( elem, type ); +jQuery.extend({ - // Speed up dequeue by getting out quickly if this is just a lookup - if ( !data ) { - return q || []; + _mark: function( elem, type ) { + if ( elem ) { + type = (type || "fx") + "mark"; + jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); } + }, - if ( !q || jQuery.isArray(data) ) { - q = jQuery._data( elem, type, jQuery.makeArray(data) ); - - } else { - q.push( data ); + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); + if ( count ) { + jQuery.data( elem, key, count, true ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } } + }, - return q; + queue: function( elem, type, data ) { + if ( elem ) { + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type, undefined, true ); + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data), true ); + } else { + q.push( data ); + } + } + return q || []; + } }, dequeue: function( elem, type ) { type = type || "fx"; var queue = jQuery.queue( elem, type ), - fn = queue.shift(); + fn = queue.shift(), + defer; // If the fx queue is dequeued, always remove the progress sentinel if ( fn === "inprogress" ) { @@ -1691,6 +1792,7 @@ jQuery.extend({ if ( !queue.length ) { jQuery.removeData( elem, type + "queue", true ); + handleQueueMarkDefer( elem, type, "queue" ); } } }); @@ -1705,7 +1807,7 @@ jQuery.fn.extend({ if ( data === undefined ) { return jQuery.queue( this[0], type ); } - return this.each(function( i ) { + return this.each(function() { var queue = jQuery.queue( this, type, data ); if ( type === "fx" && queue[0] !== "inprogress" ) { @@ -1718,7 +1820,6 @@ jQuery.fn.extend({ jQuery.dequeue( this, type ); }); }, - // Based off of the plugin by Clint Helfers, with permission. // http://blindsignals.com/index.php/2009/07/jquery-delay/ delay: function( time, type ) { @@ -1732,9 +1833,40 @@ jQuery.fn.extend({ }, time ); }); }, - clearQueue: function( type ) { return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark"; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { + count++; + tmp.done( resolve ); + } + } + resolve(); + return defer.promise(); } }); @@ -1742,51 +1874,50 @@ jQuery.fn.extend({ var rclass = /[\n\t\r]/g, - rspaces = /\s+/, + rspace = /\s+/, rreturn = /\r/g, - rspecialurl = /^(?:href|src|style)$/, rtype = /^(?:button|input)$/i, rfocusable = /^(?:button|input|object|select|textarea)$/i, rclickable = /^a(?:rea)?$/i, - rradiocheck = /^(?:radio|checkbox)$/i; - -jQuery.props = { - "for": "htmlFor", - "class": "className", - readonly: "readOnly", - maxlength: "maxLength", - cellspacing: "cellSpacing", - rowspan: "rowSpan", - colspan: "colSpan", - tabindex: "tabIndex", - usemap: "useMap", - frameborder: "frameBorder" -}; + rspecial = /^(?:data-|aria-)/, + rinvalidChar = /\:/, + formHook; jQuery.fn.extend({ attr: function( name, value ) { return jQuery.access( this, name, value, true, jQuery.attr ); }, - removeAttr: function( name, fn ) { - return this.each(function(){ - jQuery.attr( this, name, "" ); - if ( this.nodeType === 1 ) { - this.removeAttribute( name ); - } + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.prop ); + }, + + removeProp: function( name ) { + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} }); }, addClass: function( value ) { - if ( jQuery.isFunction(value) ) { + if ( jQuery.isFunction( value ) ) { return this.each(function(i) { var self = jQuery(this); - self.addClass( value.call(this, i, self.attr("class")) ); + self.addClass( value.call(this, i, self.attr("class") || "") ); }); } if ( value && typeof value === "string" ) { - var classNames = (value || "").split( rspaces ); + var classNames = (value || "").split( rspace ); for ( var i = 0, l = this.length; i < l; i++ ) { var elem = this[i]; @@ -1822,7 +1953,7 @@ jQuery.fn.extend({ } if ( (value && typeof value === "string") || value === undefined ) { - var classNames = (value || "").split( rspaces ); + var classNames = (value || "").split( rspace ); for ( var i = 0, l = this.length; i < l; i++ ) { var elem = this[i]; @@ -1863,7 +1994,7 @@ jQuery.fn.extend({ i = 0, self = jQuery( this ), state = stateVal, - classNames = value.split( rspaces ); + classNames = value.split( rspace ); while ( (className = classNames[ i++ ]) ) { // check each className given, space seperated list @@ -1895,82 +2026,36 @@ jQuery.fn.extend({ }, val: function( value ) { + var hooks, ret, + elem = this[0]; + if ( !arguments.length ) { - var elem = this[0]; - if ( elem ) { - if ( jQuery.nodeName( elem, "option" ) ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type === "select-one"; - - // Nothing was selected - if ( index < 0 ) { - return null; - } - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - // Don't return options that are disabled or in a disabled optgroup - if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && - (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; - // Get the specific value for the option - value = jQuery(option).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - // Fixes Bug #2551 -- select.val() broken in IE after form.reset() - if ( one && !values.length && options.length ) { - return jQuery( options[ index ] ).val(); - } - - return values; + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; } - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { - return elem.getAttribute("value") === null ? "on" : elem.value; - } - - // Everything else, we just grab the value return (elem.value || "").replace(rreturn, ""); - } return undefined; } - var isFunction = jQuery.isFunction(value); + var isFunction = jQuery.isFunction( value ); - return this.each(function(i) { - var self = jQuery(this), val = value; + return this.each(function( i ) { + var self = jQuery(this), val; if ( this.nodeType !== 1 ) { return; } if ( isFunction ) { - val = value.call(this, i, self.val()); + val = value.call( this, i, self.val() ); + } else { + val = value; } // Treat null/undefined as ""; convert numbers to string @@ -1978,34 +2063,88 @@ jQuery.fn.extend({ val = ""; } else if ( typeof val === "number" ) { val += ""; - } else if ( jQuery.isArray(val) ) { - val = jQuery.map(val, function (value) { + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { return value == null ? "" : value + ""; }); } - if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { - this.checked = jQuery.inArray( self.val(), val ) >= 0; + hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || ("set" in hooks && hooks.set( this, val, "value" ) === undefined) ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { - } else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(val); + // Get the specific value for the option + value = jQuery( option ).val(); - jQuery( "option", this ).each(function() { + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; }); if ( !values.length ) { - this.selectedIndex = -1; + elem.selectedIndex = -1; } - - } else { - this.value = val; + return values; } - }); - } -}); + } + }, -jQuery.extend({ attrFn: { val: true, css: true, @@ -2016,124 +2155,288 @@ jQuery.extend({ height: true, offset: true }, - + + attrFix: { + // Always normalize to ensure hook usage + tabindex: "tabIndex", + readonly: "readOnly" + }, + attr: function( elem, name, value, pass ) { + var nType = elem.nodeType; + // don't get/set attributes on text, comment and attribute nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { return undefined; } if ( pass && name in jQuery.attrFn ) { - return jQuery(elem)[name](value); + return jQuery( elem )[ name ]( value ); } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Normalize the name if needed + name = notxml && jQuery.attrFix[ name ] || name; - var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), - // Whether we are setting (or getting) - set = value !== undefined; + // Get the appropriate hook, or the formHook + // if getSetAttribute is not supported and we have form objects in IE6/7 + hooks = jQuery.attrHooks[ name ] || + ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ? + formHook : + undefined ); - // Try to normalize/fix the name - name = notxml && jQuery.props[ name ] || name; + if ( value !== undefined ) { - // Only do all the following if this is a node (faster for style) - if ( elem.nodeType === 1 ) { - // These attributes require special treatment - var special = rspecialurl.test( name ); - - // Safari mis-reports the default selected property of an option - // Accessing the parent's selectedIndex property fixes it - if ( name === "selected" && !jQuery.support.optSelected ) { - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } + if ( value === null || (value === false && !rspecial.test( name )) ) { + jQuery.removeAttr( elem, name ); + return undefined; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + + // Set boolean attributes to the same name + if ( value === true && !rspecial.test( name ) ) { + value = name; } + + elem.setAttribute( name, "" + value ); + return value; } - // If applicable, access the attribute via the DOM 0 way - // 'in' checks fail in Blackberry 4.7 #6931 - if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { - if ( set ) { - // We can't allow the type property to be changed (since it causes problems in IE) - if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { - jQuery.error( "type property can't be changed" ); - } + } else { - if ( value === null ) { - if ( elem.nodeType === 1 ) { - elem.removeAttribute( name ); - } + if ( hooks && "get" in hooks && notxml ) { + return hooks.get( elem, name ); - } else { - elem[ name ] = value; - } - } + } else { - // browsers index elements by id/name on forms, give priority to attributes. - if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { - return elem.getAttributeNode( name ).nodeValue; - } + ret = elem.getAttribute( name ); + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + } + }, + + removeAttr: function( elem, name ) { + if ( elem.nodeType === 1 ) { + name = jQuery.attrFix[ name ] || name; + + if ( jQuery.support.getSetAttribute ) { + // Use removeAttribute in browsers that support it + elem.removeAttribute( name ); + } else { + jQuery.attr( elem, name, "" ); + elem.removeAttributeNode( elem.getAttributeNode( name ) ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.getAttribute("value"); + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + tabIndex: { + get: function( elem ) { // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - if ( name === "tabIndex" ) { - var attributeNode = elem.getAttributeNode( "tabIndex" ); - - return attributeNode && attributeNode.specified ? - attributeNode.value : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } + var attributeNode = elem.getAttributeNode("tabIndex"); + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + }, + + propFix: {}, + + prop: function( elem, name, value ) { + var nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return undefined; + } + + var ret, hooks, + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // Try to normalize/fix the name + name = notxml && jQuery.propFix[ name ] || name; + + hooks = jQuery.propHooks[ name ]; + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return (elem[ name ] = value); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) { + return ret; + + } else { return elem[ name ]; } + } + }, + + propHooks: {} +}); + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !jQuery.support.getSetAttribute ) { + jQuery.attrFix = jQuery.extend( jQuery.attrFix, { + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder" + }); + + // Use this for any attribute on a form in IE6/7 + formHook = jQuery.attrHooks.name = jQuery.attrHooks.value = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + if ( name === "value" && !jQuery.nodeName( elem, "button" ) ) { + return elem.getAttribute( name ); + } + ret = elem.getAttributeNode( name ); + // Return undefined if not specified instead of empty string + return ret && ret.specified ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Check form objects in IE (multiple bugs related) + // Only use nodeValue if the attribute node exists on the form + var ret = elem.getAttributeNode( name ); + if ( ret ) { + ret.nodeValue = value; + return value; + } + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} - if ( !jQuery.support.style && notxml && name === "style" ) { - if ( set ) { - elem.style.cssText = "" + value; - } - return elem.style.cssText; +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; } + }); + }); +} - if ( set ) { - // convert the value to a string (all browsers do this but IE) see #1070 - elem.setAttribute( name, "" + value ); - } +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return (elem.style.cssText = "" + value); + } + }; +} - // Ensure that missing attributes return undefined - // Blackberry 4.7 returns "" from getAttribute #6938 - if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { - return undefined; - } +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; - var attr = !jQuery.support.hrefNormalized && notxml && special ? - // Some attributes require a special call on IE - elem.getAttribute( name, 2 ) : - elem.getAttribute( name ); + if ( parent ) { + parent.selectedIndex; - // Non-existent attributes return null, we normalize to undefined - return attr === null ? undefined : attr; + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } } - // Handle everything which isn't a DOM element node - if ( set ) { - elem[ name ] = value; + }); +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); + } } - return elem[ name ]; - } + }); }); -var rnamespaces = /\.(.*)$/, +var hasOwn = Object.prototype.hasOwnProperty, + rnamespaces = /\.(.*)$/, rformElems = /^(?:textarea|input|select)$/i, rperiod = /\./g, - rspace = / /g, + rspaces = / /g, rescape = /[^\w\s.|`]/g, fcleanup = function( nm ) { return nm.replace(rescape, "\\$&"); @@ -2153,17 +2456,6 @@ jQuery.event = { return; } - // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) - // Minor release fix for bug #8018 - try { - // For whatever reason, IE has trouble passing the window object - // around, causing it to be cloned in the process - if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { - elem = window; - } - } - catch ( e ) {} - if ( handler === false ) { handler = returnFalse; } else if ( !handler ) { @@ -2201,9 +2493,9 @@ jQuery.event = { if ( !eventHandle ) { elemData.handle = eventHandle = function( e ) { - // Handle the second event of a trigger and when - // an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? jQuery.event.handle.apply( eventHandle.elem, arguments ) : undefined; }; @@ -2273,7 +2565,7 @@ jQuery.event = { // Add the function to the element's handler list handlers.push( handleObj ); - // Keep track of which events have been used, for global triggering + // Keep track of which events have been used, for event optimization jQuery.event.global[ type ] = true; } @@ -2406,182 +2698,185 @@ jQuery.event = { } } }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, - // bubbling is internal - trigger: function( event, data, elem /*, bubbling */ ) { + trigger: function( event, data, elem, onlyHandlers ) { // Event object or event type var type = event.type || event, - bubbling = arguments[3]; + namespaces = [], + exclusive; - if ( !bubbling ) { - event = typeof event === "object" ? - // jQuery.Event object - event[ jQuery.expando ] ? event : - // Object literal - jQuery.extend( jQuery.Event(type), event ) : - // Just the event type (string) - jQuery.Event(type); + if ( type.indexOf("!") >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } - if ( type.indexOf("!") >= 0 ) { - event.type = type = type.slice(0, -1); - event.exclusive = true; - } + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } - // Handle a global trigger - if ( !elem ) { - // Don't bubble custom events when global (to avoid too much overhead) - event.stopPropagation(); - - // Only trigger if we've ever bound an event for it - if ( jQuery.event.global[ type ] ) { - // XXX This code smells terrible. event.js should not be directly - // inspecting the data cache - jQuery.each( jQuery.cache, function() { - // internalKey variable is just used to make it easier to find - // and potentially change this stuff later; currently it just - // points to jQuery.expando - var internalKey = jQuery.expando, - internalCache = this[ internalKey ]; - if ( internalCache && internalCache.events && internalCache.events[ type ] ) { - jQuery.event.trigger( event, data, internalCache.handle.elem ); - } - }); - } - } + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } - // Handle triggering a single element + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); - // don't do events on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { - return undefined; - } + event.type = type; + event.exclusive = exclusive; + event.namespace = namespaces.join("."); + event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)"); + + // triggerHandler() and global events don't bubble or run the default action + if ( onlyHandlers || !elem ) { + event.preventDefault(); + event.stopPropagation(); + } - // Clean up in case it is reused - event.result = undefined; - event.target = elem; + // Handle a global trigger + if ( !elem ) { + // TODO: Stop taunting the data cache; remove global events and always attach to document + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + return; + } - // Clone the incoming data, if any - data = jQuery.makeArray( data ); - data.unshift( event ); + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; } - event.currentTarget = elem; + // Clean up the event in case it is being reused + event.result = undefined; + event.target = elem; - // Trigger the event, it is assumed that "handle" is a function - var handle = jQuery._data( elem, "handle" ); + // Clone any incoming data and prepend the event, creating the handler arg list + data = data ? jQuery.makeArray( data ) : []; + data.unshift( event ); - if ( handle ) { - handle.apply( elem, data ); - } + var cur = elem, + // IE doesn't like method names with a colon (#3533, #8272) + ontype = type.indexOf(":") < 0 ? "on" + type : ""; - var parent = elem.parentNode || elem.ownerDocument; + // Fire event on the current element, then bubble up the DOM tree + do { + var handle = jQuery._data( cur, "handle" ); - // Trigger an inline bound script - try { - if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { - if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { - event.result = false; - event.preventDefault(); - } + event.currentTarget = cur; + if ( handle ) { + handle.apply( cur, data ); } - // prevent IE from throwing an error for some elements with some event types, see #3533 - } catch (inlineError) {} + // Trigger an inline bound script + if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) { + event.result = false; + event.preventDefault(); + } - if ( !event.isPropagationStopped() && parent ) { - jQuery.event.trigger( event, data, parent, true ); + // Bubble up to document, then to window + cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window; + } while ( cur && !event.isPropagationStopped() ); - } else if ( !event.isDefaultPrevented() ) { + // If nobody prevented the default action, do it now + if ( !event.isDefaultPrevented() ) { var old, - target = event.target, - targetType = type.replace( rnamespaces, "" ), - isClick = jQuery.nodeName( target, "a" ) && targetType === "click", - special = jQuery.event.special[ targetType ] || {}; + special = jQuery.event.special[ type ] || {}; - if ( (!special._default || special._default.call( elem, event ) === false) && - !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction)() check here because IE6/7 fails that test. + // IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch. try { - if ( target[ targetType ] ) { - // Make sure that we don't accidentally re-trigger the onFOO events - old = target[ "on" + targetType ]; + if ( ontype && elem[ type ] ) { + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; if ( old ) { - target[ "on" + targetType ] = null; + elem[ ontype ] = null; } - jQuery.event.triggered = event.type; - target[ targetType ](); + jQuery.event.triggered = type; + elem[ type ](); } - - // prevent IE from throwing an error for some elements with some event types, see #3533 - } catch (triggerError) {} + } catch ( ieError ) {} if ( old ) { - target[ "on" + targetType ] = old; + elem[ ontype ] = old; } jQuery.event.triggered = undefined; } } + + return event.result; }, handle: function( event ) { - var all, handlers, namespaces, namespace_re, events, - namespace_sort = [], - args = jQuery.makeArray( arguments ); - - event = args[0] = jQuery.event.fix( event || window.event ); + event = jQuery.event.fix( event || window.event ); + // Snapshot the handlers list since a called handler may add/remove events. + var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0), + run_all = !event.exclusive && !event.namespace, + args = Array.prototype.slice.call( arguments, 0 ); + + // Use the fix-ed Event rather than the (read-only) native event + args[0] = event; event.currentTarget = this; - // Namespaced event handlers - all = event.type.indexOf(".") < 0 && !event.exclusive; - - if ( !all ) { - namespaces = event.type.split("."); - event.type = namespaces.shift(); - namespace_sort = namespaces.slice(0).sort(); - namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - event.namespace = event.namespace || namespace_sort.join("."); - - events = jQuery._data(this, "events"); - - handlers = (events || {})[ event.type ]; - - if ( events && handlers ) { - // Clone the handlers to prevent manipulation - handlers = handlers.slice(0); - - for ( var j = 0, l = handlers.length; j < l; j++ ) { - var handleObj = handlers[ j ]; - - // Filter the functions by class - if ( all || namespace_re.test( handleObj.namespace ) ) { - // Pass in a reference to the handler function itself - // So that we can later remove it - event.handler = handleObj.handler; - event.data = handleObj.data; - event.handleObj = handleObj; - - var ret = handleObj.handler.apply( this, args ); - - if ( ret !== undefined ) { - event.result = ret; - if ( ret === false ) { - event.preventDefault(); - event.stopPropagation(); - } + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Triggered event must 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event. + if ( run_all || event.namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); } + } - if ( event.isImmediatePropagationStopped() ) { - break; - } + if ( event.isImmediatePropagationStopped() ) { + break; } } } - return event.result; }, @@ -2620,8 +2915,9 @@ jQuery.event = { // Calculate pageX/Y if missing and clientX/Y available if ( event.pageX == null && event.clientX != null ) { - var doc = document.documentElement, - body = document.body; + var eventDocument = event.target.ownerDocument || document, + doc = eventDocument.documentElement, + body = eventDocument.body; event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); @@ -2700,10 +2996,10 @@ jQuery.removeEvent = document.removeEventListener ? } }; -jQuery.Event = function( src ) { +jQuery.Event = function( src, props ) { // Allow instantiation without the 'new' keyword if ( !this.preventDefault ) { - return new jQuery.Event( src ); + return new jQuery.Event( src, props ); } // Event object @@ -2721,6 +3017,11 @@ jQuery.Event = function( src ) { this.type = src; } + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + // timeStamp is buggy for some events on Firefox(#3843) // So we won't rely on the native value this.timeStamp = jQuery.now(); @@ -2838,7 +3139,7 @@ if ( !jQuery.support.submitBubbles ) { jQuery.event.special.submit = { setup: function( data, namespaces ) { - if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + if ( !jQuery.nodeName( this, "form" ) ) { jQuery.event.add(this, "click.specialSubmit", function( e ) { var elem = e.target, type = elem.type; @@ -2887,7 +3188,7 @@ if ( !jQuery.support.changeBubbles ) { }).join("-") : ""; - } else if ( elem.nodeName.toLowerCase() === "select" ) { + } else if ( jQuery.nodeName( elem, "select" ) ) { val = elem.selectedIndex; } @@ -2927,9 +3228,9 @@ if ( !jQuery.support.changeBubbles ) { beforedeactivate: testChange, click: function( e ) { - var elem = e.target, type = elem.type; + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) { testChange.call( this, e ); } }, @@ -2937,9 +3238,9 @@ if ( !jQuery.support.changeBubbles ) { // Change has to be called before submit // Keydown will be called before keypress, which is used in submit-event delegation keydown: function( e ) { - var elem = e.target, type = elem.type; + var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) || (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || type === "select-multiple" ) { testChange.call( this, e ); @@ -2996,12 +3297,12 @@ function trigger( type, elem, args ) { } // Create "bubbling" focus and blur events -if ( document.addEventListener ) { +if ( !jQuery.support.focusinBubbles ) { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - + // Attach a single capturing handler while someone wants focusin/focusout var attaches = 0; - + jQuery.event.special[ fix ] = { setup: function() { if ( attaches++ === 0 ) { @@ -3031,6 +3332,8 @@ if ( document.addEventListener ) { jQuery.each(["bind", "one"], function( i, name ) { jQuery.fn[ name ] = function( type, data, fn ) { + var handler; + // Handle object literals if ( typeof type === "object" ) { for ( var key in type ) { @@ -3039,15 +3342,20 @@ jQuery.each(["bind", "one"], function( i, name ) { return this; } - if ( jQuery.isFunction( data ) || data === false ) { + if ( arguments.length === 2 || data === false ) { fn = data; data = undefined; } - var handler = name === "one" ? jQuery.proxy( fn, function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }) : fn; + if ( name === "one" ) { + handler = function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }; + handler.guid = fn.guid || jQuery.guid++; + } else { + handler = fn; + } if ( type === "unload" && name !== "one" ) { this.one( type, data, fn ); @@ -3085,7 +3393,7 @@ jQuery.fn.extend({ undelegate: function( selector, types, fn ) { if ( arguments.length === 0 ) { - return this.unbind( "live" ); + return this.unbind( "live" ); } else { return this.die( types, null, fn, selector ); @@ -3100,35 +3408,34 @@ jQuery.fn.extend({ triggerHandler: function( type, data ) { if ( this[0] ) { - var event = jQuery.Event( type ); - event.preventDefault(); - event.stopPropagation(); - jQuery.event.trigger( event, data, this[0] ); - return event.result; + return jQuery.event.trigger( type, data, this[0], true ); } }, toggle: function( fn ) { // Save reference to arguments for access in closure var args = arguments, - i = 1; + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; while ( i < args.length ) { - jQuery.proxy( fn, args[ i++ ] ); + args[ i++ ].guid = guid; } - return this.click( jQuery.proxy( fn, function( event ) { - // Figure out which function to execute - var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; - jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); - - // Make sure that clicks stop - event.preventDefault(); - - // and execute the function - return args[ lastToggle ].apply( this, arguments ) || false; - })); + return this.click( toggler ); }, hover: function( fnOver, fnOut ) { @@ -3157,8 +3464,16 @@ jQuery.each(["live", "die"], function( i, name ) { return this; } - if ( jQuery.isFunction( data ) ) { - fn = data; + if ( name === "die" && !types && + origSelector && origSelector.charAt(0) === "." ) { + + context.unbind( origSelector ); + + return this; + } + + if ( data === false || jQuery.isFunction( data ) ) { + fn = data || returnFalse; data = undefined; } @@ -3180,7 +3495,7 @@ jQuery.each(["live", "die"], function( i, name ) { preType = type; - if ( type === "focus" || type === "blur" ) { + if ( liveMap[ type ] ) { types.push( liveMap[ type ] + namespaces ); type = type + namespaces; @@ -3251,6 +3566,11 @@ function liveHandler( event ) { if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { event.type = handleObj.preType; related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + + // Make sure not to accidentally match a child element with the same selector + if ( related && jQuery.contains( elem, related ) ) { + related = elem; + } } if ( !related || related !== elem ) { @@ -3289,7 +3609,7 @@ function liveHandler( event ) { } function liveConvert( type, selector ) { - return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&"); } jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + @@ -3314,6 +3634,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl }); + /*! * Sizzle CSS Selector Engine * Copyright 2011, The Dojo Foundation @@ -3941,42 +4262,49 @@ var Expr = Sizzle.selectors = { var attr = elem.getAttribute( "type" ), type = elem.type; // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) // use getAttribute instead to test this case - return "text" === type && ( attr === type || attr === null ); + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); }, radio: function( elem ) { - return "radio" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; }, checkbox: function( elem ) { - return "checkbox" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; }, file: function( elem ) { - return "file" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; }, + password: function( elem ) { - return "password" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; }, submit: function( elem ) { - return "submit" === elem.type; + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; }, image: function( elem ) { - return "image" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; }, reset: function( elem ) { - return "reset" === elem.type; + return elem.nodeName.toLowerCase() === "input" && "reset" === elem.type; }, button: function( elem ) { - return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; }, input: function( elem ) { return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; } }, setFilters: { @@ -4739,17 +5067,30 @@ var runtil = /Until$/, jQuery.fn.extend({ find: function( selector ) { + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + var ret = this.pushStack( "", "find", selector ), - length = 0; + length, n, r; - for ( var i = 0, l = this.length; i < l; i++ ) { + for ( i = 0, l = this.length; i < l; i++ ) { length = ret.length; jQuery.find( selector, this[i], ret ); if ( i > 0 ) { // Make sure that the results are unique - for ( var n = length; n < ret.length; n++ ) { - for ( var r = 0; r < length; r++ ) { + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { if ( ret[r] === ret[n] ) { ret.splice(n--, 1); break; @@ -4782,12 +5123,15 @@ jQuery.fn.extend({ }, is: function( selector ) { - return !!selector && jQuery.filter( selector, this ).length > 0; + return !!selector && ( typeof selector === "string" ? + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); }, closest: function( selectors, context ) { var ret = [], i, l, cur = this[0]; - + + // Array if ( jQuery.isArray( selectors ) ) { var match, selector, matches = {}, @@ -4797,8 +5141,8 @@ jQuery.fn.extend({ for ( i = 0, l = selectors.length; i < l; i++ ) { selector = selectors[i]; - if ( !matches[selector] ) { - matches[selector] = jQuery.expr.match.POS.test( selector ) ? + if ( !matches[ selector ] ) { + matches[ selector ] = POS.test( selector ) ? jQuery( selector, context || this.context ) : selector; } @@ -4806,9 +5150,9 @@ jQuery.fn.extend({ while ( cur && cur.ownerDocument && cur !== context ) { for ( selector in matches ) { - match = matches[selector]; + match = matches[ selector ]; - if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { ret.push({ selector: selector, elem: cur, level: level }); } } @@ -4821,8 +5165,10 @@ jQuery.fn.extend({ return ret; } - var pos = POS.test( selectors ) ? - jQuery( selectors, context || this.context ) : null; + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; for ( i = 0, l = this.length; i < l; i++ ) { cur = this[i]; @@ -4834,14 +5180,14 @@ jQuery.fn.extend({ } else { cur = cur.parentNode; - if ( !cur || !cur.ownerDocument || cur === context ) { + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { break; } } } } - ret = ret.length > 1 ? jQuery.unique(ret) : ret; + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; return this.pushStack( ret, "closest", selectors ); }, @@ -4864,7 +5210,7 @@ jQuery.fn.extend({ add: function( selector, context ) { var set = typeof selector === "string" ? jQuery( selector, context ) : - jQuery.makeArray( selector ), + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), all = jQuery.merge( this.get(), set ); return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? @@ -5002,6 +5348,11 @@ jQuery.extend({ // Implement the identical functionality for filter and not function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + if ( jQuery.isFunction( qualifier ) ) { return jQuery.grep(elements, function( elem, i ) { var retVal = !!qualifier.call( elem, i, elem ); @@ -5042,6 +5393,7 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, rnocache = /<(?:script|object|embed|option|style)/i, // checked="checked" or checked rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, wrapMap = { option: [ 1, "" ], legend: [ 1, "
", "
" ], @@ -5102,7 +5454,7 @@ jQuery.fn.extend({ } return elem; - }).append(this); + }).append( this ); } return this; @@ -5410,21 +5762,27 @@ function cloneCopyEvent( src, dest ) { } } -function cloneFixAttributes(src, dest) { +function cloneFixAttributes( src, dest ) { + var nodeName; + // We do not need to do anything for non-Elements if ( dest.nodeType !== 1 ) { return; } - var nodeName = dest.nodeName.toLowerCase(); - // clearAttributes removes the attributes, which we don't want, // but also removes the attachEvent events, which we *do* want - dest.clearAttributes(); + if ( dest.clearAttributes ) { + dest.clearAttributes(); + } // mergeAttributes, in contrast, only merges back on the // original attributes, not the events - dest.mergeAttributes(src); + if ( dest.mergeAttributes ) { + dest.mergeAttributes( src ); + } + + nodeName = dest.nodeName.toLowerCase(); // IE6-8 fail to clone children inside object elements that use // the proprietary classid attribute value (rather than the type @@ -5474,11 +5832,10 @@ jQuery.buildFragment = function( args, nodes, scripts ) { args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { cacheable = true; + cacheresults = jQuery.fragments[ args[0] ]; - if ( cacheresults ) { - if ( cacheresults !== 1 ) { - fragment = cacheresults; - } + if ( cacheresults && cacheresults !== 1 ) { + fragment = cacheresults; } } @@ -5536,6 +5893,21 @@ function getAll( elem ) { } } +// Used in clean, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( elem.type === "checkbox" || elem.type === "radio" ) { + elem.defaultChecked = elem.checked; + } +} +// Finds all inputs and passes them to fixDefaultChecked +function findInputs( elem ) { + if ( jQuery.nodeName( elem, "input" ) ) { + fixDefaultChecked( elem ); + } else if ( elem.getElementsByTagName ) { + jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked ); + } +} + jQuery.extend({ clone: function( elem, dataAndEvents, deepDataAndEvents ) { var clone = elem.cloneNode(true), @@ -5582,8 +5954,11 @@ jQuery.extend({ // Return the cloned set return clone; -}, + }, + clean: function( elems, context, fragment, scripts ) { + var checkScriptType; + context = context || document; // !context.createElement fails in IE with an error but returns typeof 'object' @@ -5603,54 +5978,67 @@ jQuery.extend({ } // Convert html string into DOM nodes - if ( typeof elem === "string" && !rhtml.test( elem ) ) { - elem = context.createTextNode( elem ); - - } else if ( typeof elem === "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(rxhtmlTag, "<$1>"); + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); - // Trim whitespace, otherwise indexOf won't work as expected - var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), - wrap = wrapMap[ tag ] || wrapMap._default, - depth = wrap[0], - div = context.createElement("div"); + // Trim whitespace, otherwise indexOf won't work as expected + var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), + wrap = wrapMap[ tag ] || wrapMap._default, + depth = wrap[0], + div = context.createElement("div"); - // Go to html and back, then peel off extra wrappers - div.innerHTML = wrap[1] + elem + wrap[2]; + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; - // Move to the right depth - while ( depth-- ) { - div = div.lastChild; - } + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } - // Remove IE's autoinserted from table fragments - if ( !jQuery.support.tbody ) { + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { - // String was a , *may* have spurious - var hasBody = rtbody.test(elem), - tbody = tag === "table" && !hasBody ? - div.firstChild && div.firstChild.childNodes : + // String was a
, *may* have spurious + var hasBody = rtbody.test(elem), + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : - // String was a bare or - wrap[1] === "
" && !hasBody ? - div.childNodes : - []; + // String was a bare or + wrap[1] === "
" && !hasBody ? + div.childNodes : + []; - for ( var j = tbody.length - 1; j >= 0 ; --j ) { - if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { - tbody[ j ].parentNode.removeChild( tbody[ j ] ); + for ( var j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } } } - } + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } - // IE completely kills leading whitespace when innerHTML is used - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + elem = div.childNodes; } + } - elem = div.childNodes; + // Resets defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + var len; + if ( !jQuery.support.appendChecked ) { + if ( elem[0] && typeof (len = elem.length) === "number" ) { + for ( i = 0; i < len; i++ ) { + findInputs( elem[i] ); + } + } else { + findInputs( elem ); + } } if ( elem.nodeType ) { @@ -5661,13 +6049,18 @@ jQuery.extend({ } if ( fragment ) { + checkScriptType = function( elem ) { + return !elem.type || rscriptType.test( elem.type ); + }; for ( i = 0; ret[i]; i++ ) { if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); } else { if ( ret[i].nodeType === 1 ) { - ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); + var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType ); + + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); } fragment.appendChild( ret[i] ); } @@ -5747,6 +6140,8 @@ var ralpha = /alpha\([^)]*\)/i, rupper = /([A-Z]|^ms)/g, rnumpx = /^-?\d+(?:px)?$/i, rnum = /^-?\d/, + rrelNum = /^[+\-]=/, + rrelNumFilter = /[^+\-\.\de]+/g, cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssWidth = [ "Left", "Right" ], @@ -5797,7 +6192,9 @@ jQuery.extend({ "fontWeight": true, "opacity": true, "zoom": true, - "lineHeight": true + "lineHeight": true, + "widows": true, + "orphans": true }, // Add in properties whose names you wish to fix before @@ -5815,20 +6212,27 @@ jQuery.extend({ } // Make sure that we're working with the right name - var ret, origName = jQuery.camelCase( name ), + var ret, type, origName = jQuery.camelCase( name ), style = elem.style, hooks = jQuery.cssHooks[ origName ]; name = jQuery.cssProps[ origName ] || origName; // Check if we're setting a value if ( value !== undefined ) { + type = typeof value; + // Make sure that NaN and null values aren't set. See: #7116 - if ( typeof value === "number" && isNaN( value ) || value == null ) { + if ( type === "number" && isNaN( value ) || value == null ) { return; } + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && rrelNum.test( value ) ) { + value = +value.replace( rrelNumFilter, "" ) + parseFloat( jQuery.css( elem, name ) ); + } + // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( typeof value === "number" && !jQuery.cssNumber[ origName ] ) { + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { value += "px"; } @@ -5853,11 +6257,17 @@ jQuery.extend({ }, css: function( elem, name, extra ) { + var ret, hooks; + // Make sure that we're working with the right name - var ret, origName = jQuery.camelCase( name ), - hooks = jQuery.cssHooks[ origName ]; + name = jQuery.camelCase( name ); + hooks = jQuery.cssHooks[ name ]; + name = jQuery.cssProps[ name ] || name; - name = jQuery.cssProps[ origName ] || origName; + // cssFloat needs a special treatment + if ( name === "cssFloat" ) { + name = "float"; + } // If a hook was provided get the computed value from there if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { @@ -5865,7 +6275,7 @@ jQuery.extend({ // Otherwise, if a way to get the computed value exists, use that } else if ( curCSS ) { - return curCSS( elem, name, origName ); + return curCSS( elem, name ); } }, @@ -5956,27 +6366,28 @@ if ( !jQuery.support.opacity ) { jQuery.cssHooks.opacity = { get: function( elem, computed ) { // IE uses filters for opacity - return ropacity.test((computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "") ? - (parseFloat(RegExp.$1) / 100) + "" : + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( parseFloat( RegExp.$1 ) / 100 ) + "" : computed ? "1" : ""; }, set: function( elem, value ) { - var style = elem.style; + var style = elem.style, + currentStyle = elem.currentStyle; // IE has trouble with opacity if it does not have layout // Force it by setting the zoom level style.zoom = 1; // Set the alpha filter to set the opacity - var opacity = jQuery.isNaN(value) ? + var opacity = jQuery.isNaN( value ) ? "" : "alpha(opacity=" + value * 100 + ")", - filter = style.filter || ""; + filter = currentStyle && currentStyle.filter || style.filter || ""; - style.filter = ralpha.test(filter) ? - filter.replace(ralpha, opacity) : - style.filter + ' ' + opacity; + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; } }; } @@ -6004,7 +6415,7 @@ jQuery(function() { }); if ( document.defaultView && document.defaultView.getComputedStyle ) { - getComputedStyle = function( elem, newName, name ) { + getComputedStyle = function( elem, name ) { var ret, defaultView, computedStyle; name = name.replace( rupper, "-$1" ).toLowerCase(); @@ -6115,10 +6526,6 @@ var r20 = /%20/g, rselectTextarea = /^(?:select|textarea)/i, rspacesAjax = /\s+/, rts = /([?&])_=[^&]*/, - rucHeaders = /(^|\-)([a-z])/g, - rucHeadersFunc = function( _, $1, $2 ) { - return $1 + $2.toUpperCase(); - }, rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, // Keep a copy of the old load method @@ -6149,9 +6556,9 @@ var r20 = /%20/g, ajaxLocParts; // #8138, IE may throw an exception when accessing -// a field from document.location if document.domain has been set +// a field from window.location if document.domain has been set try { - ajaxLocation = document.location.href; + ajaxLocation = location.href; } catch( e ) { // Use the href attribute of an A element // since IE will modify it given document.location @@ -6199,7 +6606,7 @@ function addToPrefiltersOrTransports( structure ) { }; } -//Base inspection function for prefilters and transports +// Base inspection function for prefilters and transports function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, dataType /* internal */, inspected /* internal */ ) { @@ -6348,7 +6755,7 @@ jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".sp jQuery.fn[ o ] = function( f ){ return this.bind( o, f ); }; -} ); +}); jQuery.each( [ "get", "post" ], function( i, method ) { jQuery[ method ] = function( url, data, callback, type ) { @@ -6367,7 +6774,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) { dataType: type }); }; -} ); +}); jQuery.extend({ @@ -6493,6 +6900,7 @@ jQuery.extend({ ifModifiedKey, // Headers (they are sent all at once) requestHeaders = {}, + requestHeadersNames = {}, // Response headers responseHeadersString, responseHeaders, @@ -6516,7 +6924,9 @@ jQuery.extend({ // Caches the header setRequestHeader: function( name, value ) { if ( !state ) { - requestHeaders[ name.toLowerCase().replace( rucHeaders, rucHeadersFunc ) ] = value; + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; } return this; }, @@ -6764,24 +7174,27 @@ jQuery.extend({ // Set the correct header, if data is being sent if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - requestHeaders[ "Content-Type" ] = s.contentType; + jqXHR.setRequestHeader( "Content-Type", s.contentType ); } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { ifModifiedKey = ifModifiedKey || s.url; if ( jQuery.lastModified[ ifModifiedKey ] ) { - requestHeaders[ "If-Modified-Since" ] = jQuery.lastModified[ ifModifiedKey ]; + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); } if ( jQuery.etag[ ifModifiedKey ] ) { - requestHeaders[ "If-None-Match" ] = jQuery.etag[ ifModifiedKey ]; + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); } } // Set the Accepts header for the server, depending on the dataType - requestHeaders.Accept = s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) : - s.accepts[ "*" ]; + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) : + s.accepts[ "*" ] + ); // Check for headers option for ( i in s.headers ) { @@ -6857,7 +7270,7 @@ jQuery.extend({ // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); - } ); + }); } else { // If traditional, encode the "old" way (the way 1.3.2 or older @@ -6873,7 +7286,7 @@ jQuery.extend({ }); function buildParams( prefix, obj, traditional, add ) { - if ( jQuery.isArray( obj ) && obj.length ) { + if ( jQuery.isArray( obj ) ) { // Serialize array item. jQuery.each( obj, function( i, v ) { if ( traditional || rbracket.test( prefix ) ) { @@ -6893,16 +7306,9 @@ function buildParams( prefix, obj, traditional, add ) { }); } else if ( !traditional && obj != null && typeof obj === "object" ) { - // If we see an array here, it is empty and should be treated as an empty - // object - if ( jQuery.isArray( obj ) || jQuery.isEmptyObject( obj ) ) { - add( prefix, "" ); - // Serialize object item. - } else { - for ( var name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } + for ( var name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); } } else { @@ -7095,13 +7501,12 @@ jQuery.ajaxSetup({ // Detect, normalize options and install callbacks for jsonp requests jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - var dataIsString = ( typeof s.data === "string" ); + var inspectData = s.contentType === "application/x-www-form-urlencoded" && + ( typeof s.data === "string" ); if ( s.dataTypes[ 0 ] === "jsonp" || - originalSettings.jsonpCallback || - originalSettings.jsonp != null || s.jsonp !== false && ( jsre.test( s.url ) || - dataIsString && jsre.test( s.data ) ) ) { + inspectData && jsre.test( s.data ) ) ) { var responseContainer, jsonpCallback = s.jsonpCallback = @@ -7109,20 +7514,12 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { previous = window[ jsonpCallback ], url = s.url, data = s.data, - replace = "$1" + jsonpCallback + "$2", - cleanUp = function() { - // Set callback back to previous value - window[ jsonpCallback ] = previous; - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( previous ) ) { - window[ jsonpCallback ]( responseContainer[ 0 ] ); - } - }; + replace = "$1" + jsonpCallback + "$2"; if ( s.jsonp !== false ) { url = url.replace( jsre, replace ); if ( s.url === url ) { - if ( dataIsString ) { + if ( inspectData ) { data = data.replace( jsre, replace ); } if ( s.data === data ) { @@ -7140,8 +7537,15 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { responseContainer = [ response ]; }; - // Install cleanUp function - jqXHR.then( cleanUp, cleanUp ); + // Clean-up function + jqXHR.always(function() { + // Set callback back to previous value + window[ jsonpCallback ] = previous; + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( previous ) ) { + window[ jsonpCallback ]( responseContainer[ 0 ] ); + } + }); // Use data converter to retrieve json after script execution s.converters["script json"] = function() { @@ -7157,7 +7561,7 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { // Delegate to script return "script"; } -} ); +}); @@ -7187,7 +7591,7 @@ jQuery.ajaxPrefilter( "script", function( s ) { s.type = "GET"; s.global = false; } -} ); +}); // Bind script tag hack transport jQuery.ajaxTransport( "script", function(s) { @@ -7215,7 +7619,7 @@ jQuery.ajaxTransport( "script", function(s) { // Attach handlers for all browsers script.onload = script.onreadystatechange = function( _, isAbort ) { - if ( !script.readyState || /loaded|complete/.test( script.readyState ) ) { + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { // Handle memory leak in IE script.onload = script.onreadystatechange = null; @@ -7246,27 +7650,20 @@ jQuery.ajaxTransport( "script", function(s) { } }; } -} ); - - +}); -var // #5280: next active xhr id and list of active xhrs' callbacks - xhrId = jQuery.now(), - xhrCallbacks, - // XHR used to determine supports properties - testXHR; -// #5280: Internet Explorer will keep connections alive if we don't abort on unload -function xhrOnUnloadAbort() { - jQuery( window ).unload(function() { +var // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject ? function() { // Abort all pending requests for ( var key in xhrCallbacks ) { xhrCallbacks[ key ]( 0, 1 ); } - }); -} + } : false, + xhrId = 0, + xhrCallbacks; // Functions to create xhrs function createStandardXHR() { @@ -7296,15 +7693,13 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject ? // For all other browsers, use the standard XMLHttpRequest object createStandardXHR; -// Test if we can create an xhr object -testXHR = jQuery.ajaxSettings.xhr(); -jQuery.support.ajax = !!testXHR; - -// Does this browser support crossDomain XHR requests -jQuery.support.cors = testXHR && ( "withCredentials" in testXHR ); - -// No need for the temporary xhr anymore -testXHR = undefined; +// Determine support properties +(function( xhr ) { + jQuery.extend( jQuery.support, { + ajax: !!xhr, + cors: !!xhr && ( "withCredentials" in xhr ) + }); +})( jQuery.ajaxSettings.xhr() ); // Create transport if the browser can provide an xhr if ( jQuery.support.ajax ) { @@ -7387,7 +7782,9 @@ if ( jQuery.support.ajax ) { // Do not keep as active anymore if ( handle ) { xhr.onreadystatechange = jQuery.noop; - delete xhrCallbacks[ handle ]; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } } // If it's an abort @@ -7448,15 +7845,18 @@ if ( jQuery.support.ajax ) { if ( !s.async || xhr.readyState === 4 ) { callback(); } else { - // Create the active xhrs callbacks list if needed - // and attach the unload handler - if ( !xhrCallbacks ) { - xhrCallbacks = {}; - xhrOnUnloadAbort(); + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; } - // Add to list of active xhrs callbacks - handle = xhrId++; - xhr.onreadystatechange = xhrCallbacks[ handle ] = callback; + xhr.onreadystatechange = callback; } }, @@ -7474,6 +7874,7 @@ if ( jQuery.support.ajax ) { var elemdisplay = {}, + iframe, iframeDoc, rfxtypes = /^(?:toggle|show|hide)$/, rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, timerId, @@ -7484,7 +7885,11 @@ var elemdisplay = {}, [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], // opacity animations [ "opacity" ] - ]; + ], + fxNow, + requestAnimationFrame = window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame; jQuery.fn.extend({ show: function( speed, easing, callback ) { @@ -7496,19 +7901,22 @@ jQuery.fn.extend({ } else { for ( var i = 0, j = this.length; i < j; i++ ) { elem = this[i]; - display = elem.style.display; - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !jQuery._data(elem, "olddisplay") && display === "none" ) { - display = elem.style.display = ""; - } + if ( elem.style ) { + display = elem.style.display; + + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !jQuery._data(elem, "olddisplay") && display === "none" ) { + display = elem.style.display = ""; + } - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { - jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { + jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); + } } } @@ -7516,10 +7924,13 @@ jQuery.fn.extend({ // to avoid the constant reflow for ( i = 0; i < j; i++ ) { elem = this[i]; - display = elem.style.display; - if ( display === "" || display === "none" ) { - elem.style.display = jQuery._data(elem, "olddisplay") || ""; + if ( elem.style ) { + display = elem.style.display; + + if ( display === "" || display === "none" ) { + elem.style.display = jQuery._data(elem, "olddisplay") || ""; + } } } @@ -7533,17 +7944,21 @@ jQuery.fn.extend({ } else { for ( var i = 0, j = this.length; i < j; i++ ) { - var display = jQuery.css( this[i], "display" ); + if ( this[i].style ) { + var display = jQuery.css( this[i], "display" ); - if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) { - jQuery._data( this[i], "olddisplay", display ); + if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) { + jQuery._data( this[i], "olddisplay", display ); + } } } // Set the display of the elements in a second loop // to avoid the constant reflow for ( i = 0; i < j; i++ ) { - this[i].style.display = "none"; + if ( this[i].style ) { + this[i].style.display = "none"; + } } return this; @@ -7581,32 +7996,43 @@ jQuery.fn.extend({ var optall = jQuery.speed(speed, easing, callback); if ( jQuery.isEmptyObject( prop ) ) { - return this.each( optall.complete ); + return this.each( optall.complete, [ false ] ); } return this[ optall.queue === false ? "each" : "queue" ](function() { // XXX 'this' does not always have a nodeName when running the // test suite - var opt = jQuery.extend({}, optall), p, + if ( optall.queue === false ) { + jQuery._mark( this ); + } + + var opt = jQuery.extend({}, optall), isElement = this.nodeType === 1, hidden = isElement && jQuery(this).is(":hidden"), - self = this; + name, val, p, + display, e, + parts, start, end, unit; + + // will store per property easing and be used to determine when an animation is complete + opt.animatedProperties = {}; for ( p in prop ) { - var name = jQuery.camelCase( p ); + // property name normalization + name = jQuery.camelCase( p ); if ( p !== name ) { prop[ name ] = prop[ p ]; delete prop[ p ]; - p = name; } - if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) { + val = prop[name]; + + if ( val === "hide" && hidden || val === "show" && !hidden ) { return opt.complete.call(this); } - if ( isElement && ( p === "height" || p === "width" ) ) { + if ( isElement && ( name === "height" || name === "width" ) ) { // Make sure that nothing sneaks out // Record all 3 overflow attributes because IE does not // change the overflow attribute when overflowX and @@ -7622,7 +8048,7 @@ jQuery.fn.extend({ this.style.display = "inline-block"; } else { - var display = defaultDisplay(this.nodeName); + display = defaultDisplay(this.nodeName); // inline-level elements accept inline-block; // block-level elements need to be inline with layout @@ -7637,38 +8063,37 @@ jQuery.fn.extend({ } } - if ( jQuery.isArray( prop[p] ) ) { - // Create (if needed) and add to specialEasing - (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; - prop[p] = prop[p][0]; - } + // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default) + opt.animatedProperties[name] = jQuery.isArray( val ) ? + val[1]: + opt.specialEasing && opt.specialEasing[name] || opt.easing || 'swing'; } if ( opt.overflow != null ) { this.style.overflow = "hidden"; } - opt.curAnim = jQuery.extend({}, prop); + for ( p in prop ) { + e = new jQuery.fx( this, opt, p ); - jQuery.each( prop, function( name, val ) { - var e = new jQuery.fx( self, opt, name ); + val = prop[p]; if ( rfxtypes.test(val) ) { - e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + e[ val === "toggle" ? hidden ? "show" : "hide" : val ](); } else { - var parts = rfxnum.exec(val), - start = e.cur(); + parts = rfxnum.exec(val); + start = e.cur(); if ( parts ) { - var end = parseFloat( parts[2] ), - unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" ); + end = parseFloat( parts[2] ); + unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" ); // We need to compute starting value if ( unit !== "px" ) { - jQuery.style( self, name, (end || 1) + unit); + jQuery.style( this, p, (end || 1) + unit); start = ((end || 1) / e.cur()) * start; - jQuery.style( self, name, start + unit); + jQuery.style( this, p, start + unit); } // If a +=/-= token was provided, we're doing a relative animation @@ -7682,7 +8107,7 @@ jQuery.fn.extend({ e.custom( start, val, "" ); } } - }); + } // For JS strict compliance return true; @@ -7690,15 +8115,19 @@ jQuery.fn.extend({ }, stop: function( clearQueue, gotoEnd ) { - var timers = jQuery.timers; - if ( clearQueue ) { this.queue([]); } this.each(function() { + var timers = jQuery.timers, + i = timers.length; + // clear marker counters if we know they won't be + if ( !gotoEnd ) { + jQuery._unmark( true, this ); + } // go in reverse order so anything added to the queue during the loop is ignored - for ( var i = timers.length - 1; i >= 0; i-- ) { + while ( i-- ) { if ( timers[i].elem === this ) { if (gotoEnd) { // force the next step to be the last @@ -7720,6 +8149,17 @@ jQuery.fn.extend({ }); +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout( clearFxNow, 0 ); + return ( fxNow = jQuery.now() ); +} + +function clearFxNow() { + fxNow = undefined; +} + +// Generate parameters to create a standard animation function genFx( type, num ) { var obj = {}; @@ -7758,10 +8198,13 @@ jQuery.extend({ // Queueing opt.old = opt.complete; - opt.complete = function() { + opt.complete = function( noUnmark ) { if ( opt.queue !== false ) { - jQuery(this).dequeue(); + jQuery.dequeue( this ); + } else if ( noUnmark !== false ) { + jQuery._unmark( this ); } + if ( jQuery.isFunction( opt.old ) ) { opt.old.call( this ); } @@ -7786,9 +8229,7 @@ jQuery.extend({ this.elem = elem; this.prop = prop; - if ( !options.orig ) { - options.orig = {}; - } + options.orig = options.orig || {}; } }); @@ -7820,9 +8261,10 @@ jQuery.fx.prototype = { // Start an animation from one number to another custom: function( from, to, unit ) { var self = this, - fx = jQuery.fx; + fx = jQuery.fx, + raf; - this.startTime = jQuery.now(); + this.startTime = fxNow || createFxNow(); this.start = from; this.end = to; this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" ); @@ -7836,7 +8278,20 @@ jQuery.fx.prototype = { t.elem = this.elem; if ( t() && jQuery.timers.push(t) && !timerId ) { - timerId = setInterval(fx.tick, fx.interval); + // Use requestAnimationFrame instead of setInterval if available + if ( requestAnimationFrame ) { + timerId = 1; + raf = function() { + // When timerId gets set to null at any point, this stops + if ( timerId ) { + requestAnimationFrame( raf ); + fx.tick(); + } + }; + requestAnimationFrame( raf ); + } else { + timerId = setInterval( fx.tick, fx.interval ); + } } }, @@ -7867,60 +8322,64 @@ jQuery.fx.prototype = { // Each step of an animation step: function( gotoEnd ) { - var t = jQuery.now(), done = true; + var t = fxNow || createFxNow(), + done = true, + elem = this.elem, + options = this.options, + i, n; - if ( gotoEnd || t >= this.options.duration + this.startTime ) { + if ( gotoEnd || t >= options.duration + this.startTime ) { this.now = this.end; this.pos = this.state = 1; this.update(); - this.options.curAnim[ this.prop ] = true; + options.animatedProperties[ this.prop ] = true; - for ( var i in this.options.curAnim ) { - if ( this.options.curAnim[i] !== true ) { + for ( i in options.animatedProperties ) { + if ( options.animatedProperties[i] !== true ) { done = false; } } if ( done ) { // Reset the overflow - if ( this.options.overflow != null && !jQuery.support.shrinkWrapBlocks ) { - var elem = this.elem, - options = this.options; + if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) { jQuery.each( [ "", "X", "Y" ], function (index, value) { elem.style[ "overflow" + value ] = options.overflow[index]; - } ); + }); } // Hide the element if the "hide" operation was done - if ( this.options.hide ) { - jQuery(this.elem).hide(); + if ( options.hide ) { + jQuery(elem).hide(); } // Reset the properties, if the item has been hidden or shown - if ( this.options.hide || this.options.show ) { - for ( var p in this.options.curAnim ) { - jQuery.style( this.elem, p, this.options.orig[p] ); + if ( options.hide || options.show ) { + for ( var p in options.animatedProperties ) { + jQuery.style( elem, p, options.orig[p] ); } } // Execute the complete function - this.options.complete.call( this.elem ); + options.complete.call( elem ); } return false; } else { - var n = t - this.startTime; - this.state = n / this.options.duration; - - // Perform the easing function, defaults to swing - var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; - var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); - this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); - this.now = this.start + ((this.end - this.start) * this.pos); + // classical easing cannot be used with an Infinity duration + if ( options.duration == Infinity ) { + this.now = t; + } else { + n = t - this.startTime; + this.state = n / options.duration; + // Perform the easing function, defaults to swing + this.pos = jQuery.easing[options.animatedProperties[this.prop]](this.state, n, 0, 1, options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + } // Perform the next step of the animation this.update(); } @@ -7931,11 +8390,11 @@ jQuery.fx.prototype = { jQuery.extend( jQuery.fx, { tick: function() { - var timers = jQuery.timers; - - for ( var i = 0; i < timers.length; i++ ) { + var timers = jQuery.timers, + i = timers.length; + while ( i-- ) { if ( !timers[i]() ) { - timers.splice(i--, 1); + timers.splice(i, 1); } } @@ -7981,17 +8440,45 @@ if ( jQuery.expr && jQuery.expr.filters ) { }; } +// Try to restore the default display value of an element function defaultDisplay( nodeName ) { + if ( !elemdisplay[ nodeName ] ) { - var elem = jQuery("<" + nodeName + ">").appendTo("body"), - display = elem.css("display"); + + var elem = jQuery( "<" + nodeName + ">" ).appendTo( "body" ), + display = elem.css( "display" ); elem.remove(); + // If the simple way fails, + // get element's real default display by attaching it to a temp iframe if ( display === "none" || display === "" ) { - display = "block"; + // No iframe to use yet, so create it + if ( !iframe ) { + iframe = document.createElement( "iframe" ); + iframe.frameBorder = iframe.width = iframe.height = 0; + } + + document.body.appendChild( iframe ); + + // Create a cacheable copy of the iframe document on first call. + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake html + // document to it, Webkit & Firefox won't allow reusing the iframe document + if ( !iframeDoc || !iframe.createElement ) { + iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; + iframeDoc.write( "" ); + } + + elem = iframeDoc.createElement( nodeName ); + + iframeDoc.body.appendChild( elem ); + + display = jQuery.css( elem, "display" ); + + document.body.removeChild( iframe ); } + // Store the correct default display elemdisplay[ nodeName ] = display; } @@ -8181,17 +8668,19 @@ jQuery.offset = { curOffset = curElem.offset(), curCSSTop = jQuery.css( elem, "top" ), curCSSLeft = jQuery.css( elem, "left" ), - calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1, + calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, props = {}, curPosition = {}, curTop, curLeft; // need to be able to calculate position if either top or left is auto and position is either absolute or fixed if ( calculatePosition ) { curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; } - curTop = calculatePosition ? curPosition.top : parseInt( curCSSTop, 10 ) || 0; - curLeft = calculatePosition ? curPosition.left : parseInt( curCSSLeft, 10 ) || 0; - if ( jQuery.isFunction( options ) ) { options = options.call( elem, i, curOffset ); } @@ -8260,29 +8749,16 @@ jQuery.fn.extend({ jQuery.each( ["Left", "Top"], function( i, name ) { var method = "scroll" + name; - jQuery.fn[ method ] = function(val) { - var elem = this[0], win; - - if ( !elem ) { - return null; - } + jQuery.fn[ method ] = function( val ) { + var elem, win; - if ( val !== undefined ) { - // Set the scroll offset - return this.each(function() { - win = getWindow( this ); + if ( val === undefined ) { + elem = this[ 0 ]; - if ( win ) { - win.scrollTo( - !i ? val : jQuery(win).scrollLeft(), - i ? val : jQuery(win).scrollTop() - ); + if ( !elem ) { + return null; + } - } else { - this[ method ] = val; - } - }); - } else { win = getWindow( elem ); // Return the scroll offset @@ -8291,6 +8767,21 @@ jQuery.each( ["Left", "Top"], function( i, name ) { win.document.body[ method ] : elem[ method ]; } + + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery( win ).scrollLeft(), + i ? val : jQuery( win ).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); }; }); diff --git a/web-app/js/jquery/jquery-1.6.min.js b/web-app/js/jquery/jquery-1.6.min.js new file mode 100644 index 0000000..c72011d --- /dev/null +++ b/web-app/js/jquery/jquery-1.6.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.6 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon May 2 13:50:00 2011 -0400 + */ +(function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",b=a.getElementsByTagName("*"),d=a.getElementsByTagName("a")[0];if(!b||!b.length||!d)return{};e=c.createElement("select"),f=e.appendChild(c.createElement("option")),g=a.getElementsByTagName("input")[0],i={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.55$/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:g.value==="on",optSelected:f.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,i.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,i.optDisabled=!f.disabled;try{delete a.test}catch(r){i.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function click(){i.noCloneEvent=!1,a.detachEvent("onclick",click)}),a.cloneNode(!0).fireEvent("onclick")),g=c.createElement("input"),g.value="t",g.setAttribute("type","radio"),i.radioValue=g.value==="t",g.setAttribute("checked","checked"),a.appendChild(g),j=c.createDocumentFragment(),j.appendChild(a.firstChild),i.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",k=c.createElement("body"),l={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(p in l)k.style[p]=l[p];k.appendChild(a),c.documentElement.appendChild(k),i.appendChecked=g.checked,i.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,i.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",i.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",m=a.getElementsByTagName("td"),q=m[0].offsetHeight===0,m[0].style.display="",m[1].style.display="none",i.reliableHiddenOffsets=q&&m[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(h=c.createElement("div"),h.style.width="0",h.style.marginRight="0",a.appendChild(h),i.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(h,null).marginRight,10)||0)===0),k.innerHTML="",c.documentElement.removeChild(k);if(a.attachEvent)for(p in{submit:1,change:1,focusin:1})o="on"+p,q=o in a,q||(a.setAttribute(o,"return;"),q=typeof a[o]=="function"),i[p+"Bubbles"]=q;return i}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[c]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||"set"in c&&c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b=a.selectedIndex,c=[],d=a.options,e=a.type==="select-one";if(b<0)return null;for(var g=e?b:0,h=e?b+1:d.length;g=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex",readonly:"readOnly"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c]||(v&&(f.nodeName(a,"form")||u.test(c))?v:b);if(d!==b){if(d===null||d===!1&&!t.test(c)){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;d===!0&&!t.test(c)&&(d=c),a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.getAttribute("value");a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),f.support.getSetAttribute||(f.attrFix=f.extend(f.attrFix,{"for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder"}),v=f.attrHooks.name=f.attrHooks.value=f.valHooks.button={get:function(a,c){var d;if(c==="value"&&!f.nodeName(a,"button"))return a.getAttribute(c);d=a.getAttributeNode(c);return d&&d.specified?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=Object.prototype.hasOwnProperty,x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function J(a){var c=a.target,d,e;if(!!y.test(c.nodeName)&&!c.readOnly){d=f._data(c,"_change_data"),e=I(c),(a.type!=="focusout"||c.type!=="radio")&&f._data(c,"_change_data",e);if(d===b||e===d)return;if(d!=null||e)a.type="change",a.liveFired=b,f.event.trigger(a,arguments[1],c)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){return a.nodeName.toLowerCase()==="input"&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!be[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[];for(var i=0,j;(j=a[i])!=null;i++){typeof j=="number"&&(j+="");if(!j)continue;if(typeof j=="string")if(!ba.test(j))j=b.createTextNode(j);else{j=j.replace(Z,"<$1>");var k=($.exec(j)||["",""])[1].toLowerCase(),l=be[k]||be._default,m=l[0],n=b.createElement("div");n.innerHTML=l[1]+j+l[2];while(m--)n=n.lastChild;if(!f.support.tbody){var o=_.test(j),p=k==="table"&&!o?n.firstChild&&n.firstChild.childNodes:l[1]===""&&!o?n.childNodes:[];for(var q=p.length-1;q>=0;--q)f.nodeName(p[q],"tbody")&&!p[q].childNodes.length&&p[q].parentNode.removeChild(p[q])}!f.support.leadingWhitespace&&Y.test(j)&&n.insertBefore(b.createTextNode(Y.exec(j)[0]),n.firstChild),j=n.childNodes}var r;if(!f.support.appendChecked)if(j[0]&&typeof (r=j.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV;try{bU=e.href}catch(bW){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bX(bS),ajaxTransport:bX(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?b$(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b_(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bY(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bY(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bZ(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var ca=f.now(),cb=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+ca++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cb.test(b.url)||e&&cb.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cb,l),b.url===j&&(e&&(k=k.replace(cb,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cc=a.ActiveXObject?function(){for(var a in ce)ce[a](0,1)}:!1,cd=0,ce;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cf()||cg()}:cf,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cc&&delete ce[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cd,cc&&(ce||(ce={},f(a).unload(cc)),ce[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ch={},ci,cj,ck=/^(?:toggle|show|hide)$/,cl=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cm,cn=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],co,cp=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cs("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a=f.timers,b=a.length;while(b--)a[b]()||a.splice(b,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cm),cm=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cu=/^t(?:able|d|h)$/i,cv=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cw(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cu.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cv.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cv.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cw(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cw(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file From 53145be02153f9dbf4c0a73e9da01495a87a9712 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 5 May 2011 18:01:58 +0100 Subject: [PATCH 04/48] removed intellij project files --- .gitignore | 1 + grails-jquery-grailsPlugins.iml | 31 ------------------- grails-jquery.iml | 54 --------------------------------- 3 files changed, 1 insertion(+), 85 deletions(-) delete mode 100644 grails-jquery-grailsPlugins.iml delete mode 100644 grails-jquery.iml diff --git a/.gitignore b/.gitignore index 3b5fa83..d605818 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ out/* target/* .idea/* +*.iml diff --git a/grails-jquery-grailsPlugins.iml b/grails-jquery-grailsPlugins.iml deleted file mode 100644 index f9c28c6..0000000 --- a/grails-jquery-grailsPlugins.iml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/grails-jquery.iml b/grails-jquery.iml deleted file mode 100644 index a1b8331..0000000 --- a/grails-jquery.iml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - file://$MODULE_DIR$/web-app/WEB-INF/applicationContext.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From a5835d56553a59564cb078a0e2235dc89b958d3b Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 5 May 2011 23:08:27 +0100 Subject: [PATCH 05/48] 1.6 generated files --- grails-jquery-1.6.zip | Bin 0 -> 181109 bytes plugin.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 grails-jquery-1.6.zip diff --git a/grails-jquery-1.6.zip b/grails-jquery-1.6.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b4b074aa302485ee476aae54ab1d1c08e0eddf0 GIT binary patch literal 181109 zcma&NQ*>t0*XEm4Y}-!W7!}*LQE}eb72CFL+cqk;ZQDsDIrVj)ak~HC=y670tTFc9 zSL&lEk48kio`A%vsz5nnk`LFMy(Dh>p97k)DgsarrIS` z;Q*;&X4vl+f?r9095Pxw)4^6z-5GY;y+UO@IsEiEQHG`OO=|XTcXwC3|GpzUX8HGt zh$8F z(JBdxYsA4J6dRcb(x%-dfp$h}<@=u?M^;I4O&LSV)SN8Gwi?CtN!W?VvWYoFz(Vv) zod*auL)i#8RYw-Oc(&`JTB4wlB)XiNsC{(#&f|%8dy8H*^B>Zvz>CRpWAdFBntGM1Z+OeWFNzZEUwNmVi#o&E-u#hW6z6rGI~ zer-g1D&#XhtnhW<{%a4ak$u<3+IIRviXF3O!g>14_&x~Q(;Ym$OZIn($oa+3aC{c2 zleQ=v#LzKOp1rv}5_`js2@Np;pg9TT9hto^DuM|V-DF8O7FA?QcQ75VK;B(UlX4&V zx#VI&%WzOe0Dh`2i4b1It5&qgOL24g0OeKXQV&m#slr}bOd5{9?;_R(*&-D3+^sxn zy3_U-af_6`J{3c&0cMU(>MiK<%Wr+(Y3wi}>(jy`BaXpgOXY5Rv~U! z+?<^IDptJvddk!e-%zCAaoQ0$ndECIHkX20EGoav9ih{T71CqLFzy_Yw0MV~^E1jD zQLCIyHZE^fG(#$jW3>jpgo0HxBa*^7$))~xdISYyQ=GB5Tq1@lsUA^?_-tB(76fz* z$=~q5sF41KT`X5PBEiJCxtq=(#z|`qM{5p7*nv_Sra#tpiIQ=s8Ri)B88$*1Wbeo& zdPrTX5CZ#?ZyRC`f ziGu~Un1z$AePTbd+y9b`=zV^5Slx}ML?R8K@G;#J0*X2R~4D;&MSf{F*TvGK7d=GB+Y)oPs>(VAE3P3*w(2dmDOr&{J0 zXxVi&E}Ra*XE+(YVXoxFk^p5^6D%lYH&)CdRbzchmmGKLm$9?grat`GC|@H}ne<;! zPb-eoG|QF;<@xdmnrxqzkvGN`F4ypaXns^0Rq#tb2qdu3|5D>-Fala|YSn4#d~Y7! zf&Q_=YfOxoSH`3S7?mnM{HhRR8O%9GGtT79q~{E%z3Hf6YmwktGe<&#FRc*JuSgG; zh+$8q$kK>!slI)uO^}$8Ke6k({cM8}d3&-OEF+K2;T-u>C`7=kTE2bJtOEj>zn0DJ zjpXd<{;j4+`-L$mt*-IY2|dNFSMOMD3aAV4X4F4{bZqViPK8Fo8NSh{l5#|a9vH87 zWXEmq-j{52US=an+;|2?rW~0b7<%c>9^&7SoqP(6X5WowzGTmp3Akas(WR3Sd)*!B zm}<6Wzkab6^f)Z<{rsT`CUe*G;%iKTgD4m|YO;*p!e2kT=RzZ;w?7v~R+90ew!SK~ z(IopRC;SHBB@@E_()a5=ls^QWN;}IRF)lt&!0K^BhVQOvPgun06_{h}V3c}aUGcB2i&XQwwnGp~;!kF)(kZ=;j{ts#@AHJqc) zwX;n^yTF<~p)6tEW2?7k2VN??p*s`(RK}keYmAgjpeOy!%ZFUt3$eU8O5HzP}qacWN=Zo!mwA2dJ8&C*Duac^>pVIyg4Q_3VZ;0> zI(VShTzQP2dOxL3dahg=&^XPlC{oyTzNpQoLMy7PhUo2F9qo7GxalfUSx%nrOsM5{ zaQ~tY&5geu7&J_0z^2p#_*LnQ#2XeidT8qCIDSWi4Nw`?c4qJN6S1HXMIAM6Y_~u{ zV_&hiF{7m#ep0|)4<+|JM^64)gRiN-1tF-y`@WHN7C%I-IlTERv%DCg&F)zFhr&7K z;z19Y673_~$kfn+U+GjM3i(mCq0W%888LM748=UxU93zG;_ z^%>7fe}Rd9TOR=HWxxz?NpMYfP%hCMZS7BdZ|0Y>t|7+f#IIkaJwrtEpHf(SS4Lvz zzw>iQGF_ZGi>jKP;5Ec$!7*iX{LG@!9KjKO6!4G8TB(&+4GVuYn`HXrPg$v$QELBA8Tx|J~qx7Z*3b%>?kK2*cVzZlBVggPc~EAT!Y^ zDgxnVgpIm#sM*aQ4n}Ra(MGmKWT|ZU>=0M- zWe|v7UwI;{7(siV@+Uk#2w2X4+Wo@R6xQ9DCLk%p{;1dG*Wb~UgwcGphfqW1Hkwi( zGGPSbz&)yStbQ*h)|w3UD~y`Ks*{RB_TG+=Xy~ZPXpWbwYd`az%?PiISDb^ObLg)M z;<@Gi-TtGkC!t|k1g$fk1u<4)#)A@6l_x9J`S;zDj{#-5R%1EfXfelx$iAn`RhQ$fD#J-r@RaO?R9S&f!n8C)%tXk3<-Cid z8?3?7qE}H_+6_YY__1ZL3r;cqbItjLIoQOpJxHur(%9N19dZk06hA2{{s9)B>W|2D zMJysJ4|JVUACzSBeiW<_6%~lH{AVQ;A%GjeQCG$oC<>BTCsgq2L+L|7C|uf2#1^e8 zTIHF$0(Lvy@SF%Jt;pk zF1alztUrg}3-g=XMq-hTo(0IubyO@3^YP7G{|%I)x&5Ag)zHjakNE*c-WiDwCd{Sq zQ7d-wQzi>+Ji^B1UW%D@+-nCoo}h^`Uspk#_KoLYXMJ+TKT=g1>o3A5ZX_I(qKmAM zV56h7VS?+HcqQ3R5tgW-JXr9hqi*VSJE8J{&|W3f#YI(pTn30VQ9@tP%&F$R(&O+fr=)8pU8-$y9wPrZGPsqu`>c1QJp;-M z*R(QrVANJ^DoFgX`k;^T?YS_ zf=Z7K5fG&)sJ1$GT)0#(r}K0+%9s z3jS%IhLq|60?EnOA#K8uET=4rxcnwZG~6dxdZS3R!2xEzc_fj*GSIKcU(am|2j{P( zctmLe7t;xVBLa;K*u$OF=`>}Zo?QhG15=rRc>EmwK`C5qMclUx!X8(yX?b4?DaMh{ z&oG0cghc{H;Mpit3Nc7S72bX0jh|NpPM-vil1RJhRg%89SA-ftUanYA8e8(Dzr#BY zN6?f6k{NF_4y+vJZK@I}0KFde2I|pB1Vl8w{fW=%Ijut+@qkrTcPs!sga)65okn=% z?zL5K^H9^@AV6%tcs3)>iXqkYCGw>;73AA#l%4E$^fOGcWLIAJTIcf6h7gYg=3>IA zY;LgZA}XHxkz(dixMCOjv7jOD+liK$ysklc9_5H=M9f&z4{6sgw@{L0oK@R)u}iYr zZJSmKHA}Fc5Q*BED}){+;YyQ0-t{Lt9t1o&Wx6*wp{Mvq0?LFb+Gi*SXG{Gsp7H_H zYHL0XLbEA#sdT|x`_7vW@f1XOX`Al5nGN=>-(E~Ls+zHU+%^#ZGj#0G`A^v?&Dl=M z>WkJU_*C!D5JMTLM#pwib}^{3lG6*xMoPjM|BFKB45>BU`lDbEpwN^P-0g4u8|xdT zeGL9|%-kjS!gP;lZy+9A3M)s9iaC@gHARhYW|e zKQQDam;<@oOYLy}DvVDHLRh?x(%FT@i{_F^b0cao`j~_ejMVph1QV zvLgQZ`J~dN&z(rA7i&KACN)yI0LOjQ*7*W&nurM3TMZS)<}WHExQpePg0VaeuC4X% zg&phUv5h_RMbpr-DWu46=Aau3e~}cMM{YlO+>`fifpy7tdrQ9#8FEcxkX7F6q3%w! zwpZ3BCSv_r_m%c{Uh`Q&Qn3D%TUs1ulotM^a(bcPWLthY8Vgmo!F~ET;a%i#6XZ7$}G8=*(~4*CZK8a^a35~?j?599q6o*N&P$USo7i34~-Gy_ci zxj0O%MJ)R_w!)Wlxv>X3g*x zpxdkKgZOx2XLtu|0&i94&Be&bJQn(vP=B$!>kqd8`12~da1OqjY8-S{Y~Gl zDTBqM%;Eb%%lf}h&kI-g{Ajth8aKXyCJ*|UL|8AqtN?zx>(o{&UuJHs+!I>2{k;P( z3Vwkq{+((&@3;FES_}kt5}U|CHY7iH>}$MOl6`ILn&u2n3R?9afJd@Gi%I{n+lfZG z6G1#pu1bOv4WJ{Rvo3#g2psh>#~H$+MJzb+r)fy2IfwS0(nNI4Ylpp1vYa0s8v)S` zM_*-xgeEeA_r_reNZRSVc%#yWbYSM;IX9l|Tf-P9!(fX(*kv+f51UQ(V@Nn6TvIUv z=5x%bvvcKnjXq?Xf@LDUJUx#o13#T};w7ur#FcZ0^u>PiiQC(mwpeTUUlJqGqG=?T z@E@=3_@EhWBs<0Ma@I~`?(;ew6L`L zNTHpTZ2d}dE@Hmcwd{s;2AER)mDHs2c|~gv{GW=;%y=66t@KU(1(Ot}wDT(@6+}T| zQ4|6`oF4c=c`aUx9$CQP5-Tx&QnW_1p|Rj=X?og8Qkv9W8q`_en z_5k`A#Eymwne~y?R#L$aiJUsz;x2Oyt^eh7+5nqfyWyw|LB9)4LgELun|Ye_13E)j z$sv0QdrG|4pmP`>A~Nbshyx)(!RKwn!9pn2M&8h`U_k%WXX|bh@Ek!_*Qp__$*BpG zX-9|W7k`ig5evDt=>DD$X-am1trIjx){sD4N#PQtWv7CDa$MD(*Y2&0yU5YS=C{fN z(f>lC_-r?Rwp@=*-G3-#`fp+WTZZ=b))vNw&K7pI4EBz8_NI=`7N$-rE{xKXlQinL za`aNNQgl+Pk`t3sN6LuubV|1h3`$IFDokwkEbNUeEXwvS2#88dEKF>>(sb0bGEf%_ zv@-O7>B*VKpNp)^tWYwC6vrj&!Y02PVP#Yz0qr3FYd`;mXiAS#djl{aAhjI-T)Kbz zF|jjtVgwr6TQG{6ni>AKc2+brwlV~oGX5W|J9B3n>nj}_r*%oxuj$$}HOrOf?D(ke z_DUIWjUQtpT-);0W7pnNFwB0aB=z$kcUwoj`ZH1FY#yLlSjwpl71odQTjxF{o+VGv zi@A@6qwn4(c{NKn`EwU8H$8zx9R*$8XVek4XMYE3@72Jx@~_O#62VruDuk<)_(37U9?i^|kQnWDdLgE_(=+62ro znqzeE3#nwTns@e*h*uIvY=%Q6EDt;jh^C%me6`YPzT?gKb_B;`I#jJ6T0g zBAF9H_8%MKa-MdPe2aZqdGpSSA6(CN_#w}_T@`Ay#Mjyha-k9ZE*FT{bn;F#OFGn8LOucOs^O9?D12xLF@8OtV|-*xApeF6TfdT2 zAcl+zltbouac2itvrXo893+4UJOSFOLg{b@aa$(X zN6#=QHin-^!wspOwKRzMY2=I?kc`$4@Hx-Rn4PO!smQ6djUvYp6?Kl=5+Q01lqVXz z3tExXmC8v$pBD#FI#JyQAT!YADO2-C#+}cT+fd@+>ST;f*m4SkUCHUNCRXx7{N&u= z$VjlWqjY(V0jDh=w(e6?n-d(EU*`jB4lS`wlRJ|Zw!8UVxsimcp&=j>H`~1}x$yMS zPmr}gdJw;CI7-axvvp&2d?Od`VV?e&i>LygjKfx|^nv&sYVeW{x^YF1eQI&wpn|)a z*+Sq_cTz9P(D7z_9D)K9cqQZufmQ3supP!g3NBAt?dr>6E{zCJgh=s7$#1sHgz_ml zdX^S=qqopzibH5^-{x@FLRg(D!{Zfq1`Y0uU#i!;z)W$nP#jdk#Gs82I=?VB7 zjjv^3rxxn|iY?GV+_{4gEGGq<$+{Xd4J>Qh7jf+&-Us)a+|yxq-)d4VM4C@jUyG^* zpjjf38x>y4chWE+e?hx9GG|(n*vTQs)fZ z|G~GjV-o$4BRutf1=lR}p60qi&ycIjZep_7X+Qw|IU^u2@#BZulsJUMlNPj`sj~J} z%CURdAR|Rgw%)AzG1^}m*bCzEbsUsiiM5$lVTYpzQwD~WqL82lI`RQIDbgXCPdLQ$ zKI}me*qv|2@3w9ZkNtGEIACR)&-QR+F*pSaK2FKgM-3;e^el`>YJ-a;^7SM4Ew4#B zM0Jnh@6Zn9`;*{uycCxmPX}Gen-V6Dw(Y_~sYOB*S=$y29W~>;RE`RVO4z}jpHAAH zUnzS5&QtSodBrZZd-|Bf>k1LSiFmYBHq1!z1}7a8pEjM9;@yw}B22SG#;ze{93s`J zGB*zQ4*6W5>0w;CB$Q6sW>(3;6&e`gPp&VkC_2cnuE5L}sjcqR($aL~gUOo2PoK2E zq(F9e&j`sdGy;hGa@`ly@g!#DFB8;H8)PQ&0$03;5`+p3h?-(QpY91{s5huacS4FE zP>z8N&xCv434bLt8K%Js9G2_D6iA}I734TRax>bvSQi+68%#9Gr10I@W94A$`EKXW z1eGguoEh`-2C`GSUnV$O9p=`eA!t4w?9Qe^Q8g*3bEFst%f8G*ne>Y|*qD8#_p@K% zX{>DkDf~XOGIw#c(6aMwn@ZeD0M-g=wk$7e1eZ<3t6M{6wPOL?qXO;^LSVpz0>_QX zY;6BcYA2q%V*zT_kp#J~^gtr4CfQN|R>uZo@WNVpg0}qfH4@@UMqAD%%-?jL6PZIS zvN3DWu*-+h;Tzh;TlCsGf#{H)MQPVukPSF&UvdX9NG*?B@OA##fK~=A^UCBC$Ng@R z9c8Z|{*Lo;v@EDS{DoG-2XJAZNAQhbt1M0U!*T{^IewMk*PjAs3rC!qp@=a>DfX}6 zn?k$WyG%wnRQUX$tx%leC^GcVci@YJdF)cQHa)-9i>(RxB!7V<#R>2g+FcfUJ91}H zv*^24kvaO_MlKD+z@DAjtbm2Ff#N+j@o+1HAfge{Cq)H%z@VhUk^mZ8EfYfL2n6_+>@EJ0U`p}GKf;cl6FJ9AvP zQqT3TPhFrjFD_K+8knW+#qMQ(b$P8IN3SEOr6TPDXsMEEv2ld==iiXyP{fv+V?xRd z(LD3U&TL<#5I2BOOKDy+G^$c7CdEYX*X#ykrS z!af789DjXl7SdGv&eq%lE+xnxe`9Wd^6RGsxw8KLp)8yTyi@Arps_*hZK_pjaHhiN!ohyJ&2 zub&7qiUJOr%u+gG)RZ=r0W@{PbTOJ|O(Z6N7QE1LSegOFETp9_JR*je1T%^mOEthC z`AaW~WX-Um1nnyLO63F3p|o4iBL@nvoi9z)a+ME8WSe0S@cnA;A3~Q+B!|?sUeH{y zRe+$Z)fZ?IirjG#$+5Cek|Lv01d*qlJ!+@&R`z=)I}2I=;zueCwF{ zPzyQ26&JWo`RPYO%aiZs7hBbrZLNY6tEQbJHaY$$%vvm9uw;qLGC3G|S zP*Z6KTnw}aH&`iNN=#oRyA}J9o0X5PKVd(`5I-TwzV%kW|C=6UCi+9x4hjPD@B;*d z_Ww^0+W${oNN?t7Xk*IoUsBLJVa#@e2|47(1J=dwSy|MWjH|f-gx>j59nSA8x5m5igzqR1MsA>&eTST*LFqkNNg z#6*FW)~79(SGFV;CxxK*wd5@`T;vAQ!nQ=$iaozFkt(icJaQsanN8d+*em=UC61oY z67~f&)7Yznp(`CRO6?su8boznr3_S{H6Iq&99Gygl|LM3vtDL*EHKkC!p-dORy)f(;Wlr<34|oPenTPi$q2RH)dE?w5$-9e)1})6TjL+DPrac@+v4TO zjUzu}cwu?*owTBfF;$sd^zVqRuY6)t15MpBrH*d~8%ME8bvJD6}1IB9Ug4$q~JQ5d6V2mtRFP`)7llL%-Aqj=ZB zK|tsc{;mI;6X5jQ#>UXm{ePT+W{nG{b#dhHX?=%wSzJ%<{km-V(&nNV!GT$$erO7d zcM7LGFm$2>5AMFE#P4p;QYZtF@ivty@=ar+UhmE8b+02tp1soeP>;P&km&7Js87TJ zND?AD?x41O9o;UgmKsHB^Mp|rd9-nuJFlo);qgnLFngw)lhcCia8?kg)*lLA3Ac>n zDx5Ls4FnZ}aw2iE&N(JiI<7`N_Ci_)3Fmjg6L`Hzh-i0PuQ#XRq33yW2(`hk7h$Nk z>2Ba2RLfQo={WN_{O9b02%JEC0!FX&S>DZe$PYU|x~vI$;9CH5cs$F>KmwmM%ao8Z z<823~E&EtZSvli?4=2cYJ-7P3TNZC#umP(aAC^VOHv54^MEs`N%bmQR8X&t*L5bTd@PXHK@TYxt5sFQ?4mi$<{R$8ex|xxGZdK+ zrHtDo@w%52#O6*I6 zkUVA z;P!nHDXD2M=kl_0150YdzNv`eMp(fBmt344f*&^6qF4mVJr)I4f&5_++Tc%xWnvt! zr%qURUZ6JpCNes%Ac`KPod}K-l!9ulio}8y1prg4;b^@n&-2I&K7DkG9=4yc-vQh} zU6F7aYaEE}P$McDl=QkTvEf??1|8T~ zp!vwFV2jNqtif+0k2daN6Z~s`E*el~7$Qn6w1_`YF{-<+_wYb__Qr;F7S^ViZV{VA zv}`BA*>V6l8!dxe=ja-g7GO-HKA!Gyq`dWJRa zV0<_c-FiH|u&GBuk=Nn;DqU?jDrkNKKZ3GA4#xoS3EZXQ`xKJNaUo$@{I-hF&{QoVv_cX$~Y)@Azq`d)P0x{mGpX+L5N z7dqZU2roTb&jV<;Dj{@){N&jg$eJp`wN6IWN5E-W3#P$}{_yR?e*gSEJjcL|h>PW} z>87JJps-3CZh#C$Hn;5xQj0(R+z)YPMzk6;RlRjTh(~bFP2#f@xSySaE8+DsHt}2u z{h?SM1D#62DB$WO3ZM@wBm9EnXI#48XIYAcY)LR%@l_VaA?unqFZ*2!DKDofD!`+J z(wKn0T{|xKbN5_8{|od#i=WPQ-2)ce(WD@agI+2 z`BP@b*3(f5C)9GY!VGH~L*vTG#+1O>>+}rK-XEhHwQRD5eb-!3ps|J|VW;V3%o$Ob zF9!W%n*m&m6QR{Yji^7`^-$pEDW+jOE@@RjL8&GKjFcSHt0~H?zXfOC#r9r#Bm7e70PtP?K6C}b}NQkj1`t7j{RhI!CaPrMs@#S9Ux}GI?9~^yrFZ)H>p8v zvtIp`u?6i3-p~F7lm_+#p-VJUQ{^3vg{G1z-}eF?ys|mbI%AA9c#=%kU~?ZoN)`?) zb#xe<4u``ph^e@G5k^C7n*emlvKlRMK{F2GAoP9#c(Asr_7MHNRPzDp@&)t$Eja5x zqr-)h6O3OzqD#gr-ff#HP*AJk0CU5!=qD)MGRb0>6B>)!+Jy+w{B)fX`KA{D{_rDw z70P$FW?@T)V`)dZ*JYJlwi`t+7v?6J)N9rmP_2GeRR!Al;^}c5t=(pGn`UtB`rqdm`jnJiY1711`hFb{87oG*}`bJ-;M?v_w?$)b}FtRf@!6fJ^<0ujQ+x-uDx4AHwgsmC>I@_ujsUE*)1~D(a}GcQ zwNrbQI@YYa?bg$ik=9+kU_gvTR1!{zN)&0j+>-*JFatGB7TtR|u`-(BM?pfRTT z?)l-{Dfor&jC~pUR+U%q!#FA!EB#B>vcG!2-ZbVxo4??MXYqd753?!EdPQPNk3X@; zGh4cJX>2o^u%FABr5=<8oA@J>5EnVoyK(Lo@7E_^$kix1nM=ye{4dX%5P+|TewQD2&1^)!O$@L&^@c(RU2s^`NOIDfueySp1yxZ5(+F|R`&yj zbgdj|W{dnHoXBqQ8pF)`g+`3g){-Vwe2^@j@(d5rtUFk1l$`pG{4CL876S`^RuLxm zHAl&a+8z#nZB}`w0M+_M zSd~BnT?y5$LqAo5IDX(h095}faag!54}`hKa_lW`^?a>=I+-zT2zEqHpaAVT7{d{N z5TgrLwU0YmHzQLKUry4l(=o?GFDG8tcv1!rj3y!T!fv?z-uqYH$+h-6es)3(1+-WqFeywth$ zBMY~h&t-&rfpW?@D|W|{yyz}vjiKFT;(}o54p02lxX7}TM3`eG0MC-#+uvSt1x0V` z`r^f3Vd2jXObuD!{!n4A9cML%9Amx3Z{{$(qiPFi&i)=1-BMrG-(|o%o0K35|_sKz2!GP$g9HMwpc$q`#_MJGI0UHw6;kGd|sA*w>;pYMgWPiq}z2c9Znz+f4jeJV`F#b(0+A6bZu9hW7wykv}3M7cvIN`!zxz-+KVvxbi$;i2J zWjAfVKDN{21yKzq#>7WKEu2r%Pqy3bL>`IgN-w;z*Jd9ey|K4k-(B?-GcumPDk?2f zfMZw!LAhsCu*`_fD%b~p#(HeK0nzlS(Q09Yufu{=v08>k4kd6L8+jG?SWW<;*;ByzY6pu zpZ}Vjvn`LPF0yY1=uU#>Y{tML$}yW1Az`T$NGbgj@abmiZWceQW;_#^n>L3T#%sY=Y9ed;KI{(yw^{IZG=--JqB$nYPR4#5wD z#R638CzOc8u!^WS(jAi2aLe#Rs~UqzW-@2`GOf!P% zWGI&r?yUWA1aj{iQV;&{OXF{R`@nw6sM4{KgGPlJ+;2OOUwiQKh2+SXYHtMq*!Y?0 z%SUqA%rG(Pkc9rzjI1nwL&3)1kdA;}b$&6P$^~oV#VGCQEtPHPIL2s31ieIErDV>v zZOcwiFXZhKg@iLQq@bZ(TxqFn4p`Y^Ayf)<`F$Te6BjuDrnUd( z>>f_N0xa|wwr-Ik_wKwbo%=Y!qc4H}XFg2m)3Z)*p}}wd6Y$Y8rKV`_dY zN-@wle=_G3RdRG3Yqj0!%UK;kHkHvLESKAIjVN9K3=>R77TegR# z7KTgX5vPzl=3wG5<;EaLM>&f*qstuJ<4IN2FmBlv;)dhrvkfgOzv_N67Ez#@EyNaZ z2VJ+_z8o|V&sBu4wIL=Gj`L56qMb>hy@_mUvgnx3DGa^^BqxHlO?$@wsafyf6Figp zP<&o#h8YzJhgYp?k_pxMGzILed?_DumhZe?3#373axVWtr^XXY0n*!`bi~GasQHvZVD%!9n}^$pP~qT zuKndcX8j;qGt*j{@>G$+bGaO_(tEs!RM>P@tB%Xg%v!Cv?R3najb`1};IU@0)25lz z!bUOyR9jdS!sWhYTV?%>oeV_SzQ`KS>1RUbu`_Pzo(L&uE_i(`GJ=k>t|uY4nWkn> zcenn%ZiX(T(KFtjopsl94EMFbHYbmNZu4yYSwK-yt%TWKaBNDFIjTg%_OiKq?uTbm z{H>kgVjg=pM0(?!s?Xu-(#zYhbcDeT#ZG+TNAYN^&YSFlHN%zD2^VX<-1qDeqh|E| zJBogT_2zwr(U@b{9;py3zLI>?3Db-6$*k}mVU3xG?Wlt=EUXFG;B^%3QOX{(BRAO87(BvP z#>J*`H|l#Z`?KiI$z!4Mr%cSb2{RPkrY&Zzf#4ElmvCZ-t-_mITaa7dENhZc=Epr} zhfR=FgsIPoYcb&~NEcrhk>9Fs;>L@X7iw)PQ83aQb7gPT?H}CR#yC+%0|CeE_$v=0 zOXAvwhUXs(k5~SmNlE~xBAl&{nv*uqM1VEoaTp89+)5G>eRV0KmWBdR19_H?c}3OA z@`bR<(OY8J}$&{!sG0?V2~CzO(DDTW4&1;fhhWu*X1CY0pr0!BQ90zx$iS4Ek6?5 zM|{msN(tV4`F#JI$!+-MaoqXOvtlZdsPPnny9K{LAnI>CJ9`^586wiLQjO=+% zHIA-^2^reujOK9q>%`=SNbLK<&2vssKc)(2f&=;dP}I64VRJRWfR|S<=*!t<n*=k|I-P25Ih&Wgdgm@(V~ z#Efs#?b6SW|AwgcEclQ+{}5H|pU=(ke{~4{yV0Hb&*-k{-FHl9dv=~3bK%Zj7K8$A zSTrgkO;0jL^jq)P|8aDrz(G7KqL9@iEG7@uBAG^bE>sr`rAL8(%aWUF16q|^c>l2gV)IPAhW2ut`-08Kf?w6n_s=p{ekM>oXc zE|Ne;tI30k!miW7o8XHbJ*h5(RWF&wb;2eO8-48VnNiH@tVHDXei487R4fl@Nb$J| z!Mv~bTk>yp_wlTuTCJs@-ndZ$S!6EBs;p9cYK3^AN;v~IQ?U4SR6pHBBbpeUnK zz{M}dc1ZDi78@CUR3iTUY|V`DvWf^m#yFG3gAEL)(|atX6uNCiEEW z>pLRFgfFC%W5Mlr!CI-7MrKI=Wsb{|ffOx53q4mCI7#~EYp`W zzZ7&IOFB_sZqipRPpt^eErksrOqCg5fgIV5m!yODS~}|*F#nN0)aK8FEvJ=m$QH5h zjM%!=<0q^95hF@nBv!)ErYm8dG4`?8w<4G|TfkJOprJQzvkMNI$famP{Ffroj(t$# z&L?ZQ3z?Vp8|{^*DjTedBM&;CUc0G4iWe$to~P`W0?BREO43~VtLeQTOs7<4HMah6 z)uLsd&D(T;l2%HDcR3$tdq8G5SCzXn3#bl7G0R)0v+`lzh_jxobo2Gx)(-4sNPddF0tow0zMi)qCy_Y8LQM`>IMd?ngr6D4l z$Qg#X>aq|fSe18WH5K(&6U7q`@dd%8{(c*3)se5{ZRUU#BQ@zu2&;mUK7CMD$d?6{ zRmdpHRCG88#`1d;&S1@wIk&K>@qiS&Ry+}xUPG(4Aj148lCIEhQQll%?iF#>y=f~1 zyfl}K{pDEXy}})rGo7He-%+c4?{ocz=D_3#;g#vX6IIOlHr?0@yRo?Yg2p0BwiL-0UrkNxvsGX?vcpaPWDJQwREU+vH0c~JZTH4@{>ptAg zCGU2t*700G=z>1dP&a2q>@FJ{tFfSfX{e;lb_UHf?dj=)D9_zXMP9O#3Is^|nCyP(E8_J0Z7wIdA zgG|rmU2H*He(YZkDB^Vo@T$-3TpNziIDbUo*Y?* zr&@e|3`30jzoKH3R?2RjEM!M@m0vm!jQ>g5H61NTl>ct^Uh)3-kl_E;FP%&sT`Y`E zo&I0aR{5W={{ywJbiV(gHp+K)uaSbgYl{vU&c}R@j32+CqkV+Gw6x=j{(X?9U`(9z zywPRL+YV1BElf4JU=L^86DuS0I}7Xk*k(@y z!^KnoTv`cQSPFuZkInL-78l4TcIFKz!K|P4@E3{tArO%j4wrO1 zaNi?Zddl~eN+;<7e`P6W$rIPsx6Fq57ts@b8C~vrj`#6%T1}JnS8!yna&E$YqpXD-rwo~lRm=_3oVO}e# zhN?aRM0FQyec?lX5Fen$RK24{s7y|f@MTMp`CjPIFO;F0PebM(99Xi~dieBAlrVVx zuA=pYlBh#=rzS43O;}Lt?nxAeOvCWEt#5Jy2^XmXAYwY-{e4ti!yklsXgwav-Cj_q7NXxtvgrPtwuE$sbod?_iN< z9FZAC!=OPW7jbmE@mk37LXbjH-?4L9513G!N$t6h{km(dQp0^eS{IdWI|!>&WN5om zEh0b(7$ihgk{n!Y+>g$vH_L1x z{88_u_>_aV`2FpIo#0J1cr9EuQn@FUXw=cEn!CIK;kYrgwice_#5o97O@~~^$s&~y z4T+YN^oGkMtCLSLv5v=nuV#Y*h3|Ah+N|Mqww(tZWutZ!t1~%UN4>YDcp+9(m$8eoy4C^vd*X^e z8=Zc-smSfks7MmWd>H7VwNzA4K5np06~eYYjW*MyrO(B!GxJF9 zT0YP0DJ*+532q(2bB*CJ&uceUQo-K|GVPcp^JeFe|5_#{VJxz2DDAJ>F4>z>F67PF zG{~Iwb4+nU4|chr9y6@tbP3~iHIukP6>YeMuER^7NI{VMb8XWJ9SDiltv10(*N4q3 zZ^Sc9LjM0S_D(^%McKA)Vx?`{wryvwv~AnAZF8k<+ty0kwt2I5)joGu-LoTZ%>Q*h z{1GF@?7g+Gw+?@U;-t~G4}O*qeGe((8SZBNvWv;UclulLIytuM?;X=U%LLJ1yaDd6 zfS2^ZO|U$ z4N6kbPd@|jEcJvQM9P+Ox0PkJLT>C#Ijvcv)$WgRO-)| zrbIo0;=C}H+45TTlX^@j+r|SNk7E&9nuB-6Jnoafrs|pHqw}97<)iGts;=@a(fm6X zWp3=)qmgy5i3r^=cajH#Sh*sXYB4K@YffHw!f(M&8r}Sn^zAnGuuN_PKE;!bk$Sgl zUi%!&;@xkDOvTyVh#g~5z&S8mZ&S+RA#2%&p-?gmyk?VMq4roSeewPf&IfzSS5t|B z?v9DSf%!59AXdc5qYCOW!oHS?BQL8}k=eq#B5e{HaB#Ur8fJ9~yA2b!F$`+3kb}sL z08xqbIkZU2cAR7wMVhZg{STXBreoJECkRT&-(B@ZB6IkLO3Y#)?kg38e09}ny^wOz z21`co!Fv*?@3sMwJR+y1*F(R4_H*ohJ_EZk_i)ERm(;U7LvW{PQEjJA&l&ItU4tf2|eKd zchm|1d2!SVTuG5=z|M{(VM!nyRe~zN91-GE-#JWk-~GeB!b=liuq7A3!hO;t<1ZHh zpU7lNW7z$Tl*aJ-A~^w1B`2Gv_t%j=t?#`sZZ5Or{Y~PqImr#gZC}1ElTWd$y0U)> zL(eSlq$NQkQcJKOzmwZdFsn{FVsP^otuf?as50fU!bC-)WgQA~IF_eUI`*lns-Z8L zjct6aw)FO7RkIiTn={88*P8Qpjb+&I6N_-O`!o7PnBY0hbufigHJPfN7(gn~E=@;? z{a~Yci*0b0C-5^yo8(5hCo~;}t&O#Fa(%UGpRU<+bU!tb59f@;RxzzR4W|zs=gQrB zD*mT=fuQfK`1bNqPx1!+Rf7ZNxXzDW?f{ z$W=uT4z12QNQA4(<8BU0&LW1@wlIIb8R&IrQj`Z-jWL-{2j}Aza3goHkWs~x8hs)Y z+l%Xkw06NE5FtbdgZ(h^1<6gcGOLUAf(IDz>==%(Q7g{b>zf@ip2G4wV_6kol^LQ` z&w8*s9E-4ZXwQXTh;`zv$Jm<|w` z20i5+@z>cAsX!xNKVV0XC}chjMtULPgLw!O4%hp2J-?B<74Cj7jYxQyv8Z49KO24u z>2^zZZwDF_P7?)y20t%fFJIG@ciD&n*VtIoC#owf9fT~b$A2(gXrq5Zu96J&5y9q1 z0j@^PesR3>+8q3knW=xwC@~xgjO_d|4ps=Z!Gb|h$~yx zGA|H7(}F<(K_bIvENf7LP?SHWp>}QTd#elh!S0XJzBC3`_Xw}gd+TQOZ9fj@Txfjg z+gx_6sIBK$uYela!Dq5i7*^ZkP^RoNkVuw^F<}CCAq9bsAA%0J{D-u-vU2uWdEz}s zxL`f}!~=}PeWy{j+ThAOv^()P{m&$eNtkfaWQJo#(I45!0!7Ad$>K_3)2ZE(8MvsL z85o5`i{WgvRr1>g)TmDAEEqXBBWG_ z#Pfi3cJ%;{yV3#q5Cl^SGu;C%X}n(wrZcDu4zbyG^bwex#v^3y1&2vw!G7-Tw z1yQtszM`r~<9rdFy(tNREui`Q1SiDCrCw^Z6uOz{fvN^|^tU1{?~sKMM#%f5R|d?+ z<{Go?vh^GrOYeyF5|djyrG-7ztM!NLuc?p2W}lm4R3Od4Y8{Cr_AkE?R=pIQX##oQv& zAW2o?F1H+r*-~`EeH@g>!f|&|0}gt5rQK%Nv>TSab^7I``&jQKyqyNfK*gS^&}YCS zBWVvw?K*H5h0KnCx`_5vy1>i>GRu$n?W=}LP2)t~R>FS@e7PJCuk0s&-yL3#bcSDj zj<}f6POH5eD3?oi5ApyJNJH}%k^i*Hf^XEi9Vq!yC;*@=p*+3{*>e5uc@Za->#B6Z z+t4EY1B6AcC&)o@oe{Fj^|71-ypyjWdZ>zEM!}99A?et6)rDjJ=Qj!U{s;vzek`5V zdPyBD)0dy)4Ged2eeFg=SQz`l!yjaQQxBdKYC5j zicApEX*VCao4==7PKk6z{-eNtxczd z)c@{}^|&t4f9vII)NzI1s!S($HA1v5?`bx--{R`(@&btIet%YA$A#VXQFh+W_M_L> z#*UE26vca|73Sr0F>e1uuXzt#?;WK0(Q6>3Nc^(|sP{pS44830Ab`)GQ)$F%u0+kW zN{lWYBp`eXe1v}8bD@X3bo01PT{J_{PF85^X|lTRr{L+7x!EG_FK-`Wb5v_@@)^rYBn0@u5056KO{GUD#x=yizwrh3|@F1SR8iNUHR{XOrJ4zJwOt{f{LL*>-!#8 z7gZpMuuwy?lBqITgL4KZE+(#;T%&ukifxB&I4iS`O<3qHX08^RS;~;xt9E1b6w5NO zp0iYCI}8ZISWkU^uYp=mOf$#nR61zGE}ippOCBSp0p}_rt9Sn`THO)MJDm`5MO<2{|{-5i;b)f_6KDOYWY_t!yz1HjEr)%Ot z!~;;Hl6Ow!Lg+8gJNDz?B{xvi>1cLo@UnV5B~ks1QG~V!M1Q!*`btiKbQXNiFeK#k zwa1XVg~A;rN$Yl0nd2;E^qkR+$wio^W9uJUX!E){Q1}b79!+i=j%^p!3(HSjoZgoJN9eQP#9%8k2pSO$7n<~W3O|jiksNt!+ zHg!1>!skYAPI6aiKt1_DQn`I|!J%X6-#i5#up!DA68#fXZ$#TD+=?eZ?L{3)eO*ai z$>Mw`(Zm2dM+>W&TS3uW4oI?RLIy#`GINXu9Si!5XdynM7rhvBB5Y>U099ct8V|r~#1&@Pj3AM<#?x<637CvbnRD0Cw*t1OeTgH+-XB80uB}B~Z zb=9s6*5S)S>A;rTCZ`zUI$0&H3y!lbmy1l|$pNnMEAIAc;fkSvT2F0c?8e>VZN~;i z8~QH!kk!g(L)- z*U}%s##CM+@VwazQKU@Sk;(v_dmb!H-Xj87tBA|2YqUxXbUcU_11GXu@wO{0w;-iS z-@SK<`!|g`JJsN`ocxIjyf2sb(W0(OEoE+jB$hdxrNQW((dZk29JO-Q-i7Iw)pWxU zK-L$R`e^le@utX`d{^mP=CJsvP=s2kmboS@+f#)?x8-MYx&3(e?&WqJyvmIZ#Sb@t z{I?h;_ZQQ^S10ibYdbr~=*FBP8z{Aw!tj2O+}fpDoIl!NU<~cx&#=NpizL(G(4hC9 zeGT$laS+ax334v`v7FD$Ol`(3ZuRrTOO7#5_ZgJXrp0qQCQ)v_^0>qK9it;pqQcTS zGFEujLiT{6><0B7`&xNxYwXh0=T93SG7q7cx&%!-)ptECswhopSx92e9V- z?(L%qSR~j<_L0hAZX?ZZ)PAz%)!nl-n+{uJ=`T(unsw_97o9AV`A~=ys2Sf{7KnA= zsIk907xb3Tm3#86xF+`R>#{MHT!2zNet+$-;&vI=RbPlM@fqxGBK@i(_$y7vtT-Xu zFU&D=9O%(DMHLkxk&R!5RoaN3&f3M5)NdZXPKaAqbZG%$7(Q7NDfHMp>o#A1iB|1CjQ|9BuW4xD_N z76VDBYzaFhHe$kWzDeJB-X$~@Nb{AjM-m4xqJbYzzB|7O> z)`L}50z+LZ9(y{SberNI8sF-3o$fBxC_bO`Foa0A7aylo%Mx>-kTF^G(=_C{q3@(3 ziBO?D>YWF0b&6sI#;J!7WwgNN2CI;Z$dNWn9rGAqp*=X&Q&$(f@mo|r=tNVt$GV9P zQMREK@=IN$x!2DJ)vfXu*mH2iK?6WM#=Ahsm=i*LuPL>?M2=1*rbB0v5?m4%cMvY1 zc*p*ED&3UJ%Y*x9abFx{bDhDDA3!Ea6I0y)Z?P!1w`_2sS^0Bl@If1yTVy?0-LVnU zPv#A_=Luc|QJYma?(n5LQoUP?6N0@5pZ(_Gc496J0Nlzapx-#jneM@NM1*`&Yc9WD zj3aKE706`Acgh+QC!d^Ab$1_Av^(2-%S1{O2@uOimoc#As= zW3oHS1L{$fF7w#RG{s6Q`B=$=`q znYYgg0dRP?sj-JSGk+(hbdfOjY~u#eFdj|qzyD*rL=|J7`rrqh@88NB~txcyrN z_dhE)%}dWUcEsH_(C&8-eNw) zRM~lgUC3Z;xOQ5JS7gw82>szFL>j;v^Yq=GcS2yxwap&bzg_8C3gTIHqPsCEd6KvhGC3_#A<|ER zy;SOt7L!Gz08;&O6Uo3t4>B8t00zCxz%idZ_5erwazlhQ8+Jk7Z*etIfsrdJPdUkXe|4$Jt-N zd94&Gdf>xclkH)T)_%EF!GVQy6sVesJL zYk^-C`ihQvFW`S?GY@po#h4kWAg4#Ljjm-XGZ(uCxCF1c>&r&Y|3WT+Ws{-L?wT++ zD&w-jFZCAAnMWgLgv4AqY7ZsS)Zg)m^J1l+IxB2kEc121f`C#^iX?7wZd?O9Am_o8W9gy9+3+oMc5uy@o%EN|IKk zWn3TFQxwSr0RX2>fLE;?&c1D_bV!5B9lSZYQL5LNwQbta9K5{;7|g_;vqwOOpmnn` z-645Vauq`Xk*G2nx@fQ=rR6aS$S2H2443trvkQi%^C$q0NxSt|WM@=jX2|ShqcW;L z*5~Wd@s(zyN(0u>gai#fas)FnMOVvKT)vl5>HewD&bb{wGJUZ{FUVU_-b||WRze%v zBM;YQI42Rv6iqsac1SBAyH!66MxHJ4zaPE)F(CWt&8{2(K~j8AMJY-l>z7#$hvV8ZsJ^)y^M_}tWG zc3o+S;b!a~EQJ^tdux z7XAij%yJ6{AeIKPr%<*&Yn0)I$FG4y?22`2X8f|Y93%*CO1ErwxI!1KlL8g`YuxO& zn4%%wN&aJa=_Zzv_})Bu1nI#(&=Q@f#H!yr)Ai8m=;uz}pkB~sFnn3-0x@hl@OilT z@yFEi*08Q`jBS>BOM>tKANoA7$5y~pjEi`xJu zsFc8b+axLS4kVI<6w9&{c-Oj$vPXqJC<7soA^w&NkFr6qxvvtB^>H$>tf&Sbc&D4r z;iRij6>Q;90~pCpp(uHjfm@;n@Jp0)*f+Cj9_b}&*=*O(Yslu%%`9#x1c(|hq$A@- zX%fmdcq&J2r&uF7R;M4IZ_=lELZ!#^tt14Xq047|w>~+JeF({rFs@=<)Pygs>EKy1 zF8=uyKrD*>Nlx1RhRULK=N^LCTr3c^l90!>1q^w-M;a5hFEBz&$h)h|T-2I4xRg6f zFJ9q{)HAj1{j?=E#R{{$NMLW#a`4o!i_5ZsC1@CHOGVz23*$O!$7e6)KQ#Dy!oBLE zo&M|3kfkXnvFtOT@o7TvUK3Kguu=cECT$dl;PI%%Da7QI>){?a7d@A8YVPN~Umu}w z*A0Hb;j7vA1z1dv%aAZFM;;Ag$We|Q@6>5}a3sh!b@Fjx73ZT$yd3-h6z(?FM-D!A z5eQs@bQ=oezKIz1QGIvh8O@-p&pAarb;S`b31hA}DR?Bcf*v8D{Mex5!nozSx1d%Y zq3Z_?Ha|&CKFM|M2HtjhP4uvfFS8ZgbOfdFukwzd886sFZ*5*m1+M_yoJ}*Oc-As$!-QST^_lr80;wB|_WT@@(>`%$9VB!xgKu9XW2fQJP9QY>%`m>-^ z;WEYLHWbXSlsS5lP+p>nETD3*t>Byr(jjlzhLJ#14!9TyOR@OtF}TR~564PR6)HZU zRCkJrkkz+bzJspCkmntSiZ;O)qcdNGL~Mi)7!?LHSq%~TecQE&%|9L)uwg%K^% z%S?Y~u&mm)hbAse!qM(wOzX^nnBKEOsED5hA~I z;iLlc+&!Gv*7Rbt3qP(AM48h`1%895MIrrz1bV=#>vUOV*=vb??WFpp1k1) zH_4(2K#M;Jr(C=OOPF&}Tj&n1@Ygb57N;Ve)~naHM8co1sv^s!8?qzCUMacKeFu4< z6i=SS6I24+v2N9G6GLC_MJ*nxl}GWeS`NJKYu|W(rE2UBk)XcEVhD9-w{*!nBs!EF z&8osrm?NHlnN00_ngo$Qy#fel4k90=ScP}b7#C>*bI)4nbQ9Jh7t zfGc(?v;;61GK;pHr-frc4FKi3^+w!*Q23rsEkUCL^U2Tl_XM#}s!H&?ZcLwA-a+zWIZjDLUD;0TF)N;-(EV`y*mqe*-ig0aIbVz9(yN9ug2t=() z*eiIiOz5uBOD3wFryRy`qyKBI7m-NC+76#(7pm_z<rEM zpfdieNHUSa9ed5N?*+c#cg+@6`NBz>NyZlg1jIDBDfExr7HICZdyw6#Ql|F zDZgIz^CKvOWoMUXy=Chd?tzBxq*%43ri3Sn+}`ZcCO; z|0BMI{3pJ}oV&bxozhV1C%)y=eX1dJg+Hi&$qSChp4gVd2lFcYn?`(}xo|cc${I1t zST4GBPekFR^CW$E%SB3mH6rpLnD(%~x^e8DbS3;+TAL1SZp&&P6P{*G%K~ylft&?7 z(DOJkFy}lEkXiOIsr7gy>ct$jK4%_#los+eqThh`8{FuJ&SiW0BiyI&zAk?Z?-RBqD`wc{J^E04QWI)3m7$N=^KYzwKNkRc zN}*3b#;MfL`jvkVcl`ghk^g-z{@phHc3fjc{@(NrF4tK;a1kXwwP_i8n$|;F!5)ZO zuYUhSRtvy3>|*Rc;PScsOuWvIc+&cCCdHq!l{(|;u}!bTK49}t$o>2Wa*tsSV!iX%Evu*7`}(J5yT$w|f5`>oT!%h4t-;y07c=B#M9_j$%k zjP-bw7>MX*K3=!{ zI+J~c$d0YpvV!R@{)3+zb<3YoV%h82fClve`eXIxt;Rj`koc8@$-!I1#Y9h>W`!tr zDgJlDeS>yH@k<^}=>eWA&_H>$1qv?SITo5??rD&$8I@Bd9Tdua=JE00oOc&m@2WyK z2T2V|jRjWi8sotZ_XK>r?eIUe;~ca?87TCZT?cUoOD8iL&sYJ>*@jc-7CpUvTNuay zxm045=uLaI4aKyAuXxZ)roLQL6sWx+FIx-f^`!cg@J zX9+;{!z(wLiQF!}j8sr-{z!#d{ zWRUlvC+BzNygrQ`wiV*sTor4j<^dOuN{`RhhIAZmv%lIfgl0%^*mz_%_ z9$F%>!Qe<1$iM$JlCN!SdS7hK*WEEU!}Nqq)CT~QZ9;J|25xg!18qNL$DOWmrU<(o zQ49I}Aucv*sZgrLh<8|9?{=HJZbj9KJNZB*WAC&By?EJmF<`FU0u$|7|f&lsnXpjTTvJ&3?>J&-cfyBT0BNKzbZe!UIT|*D5$f_ zw*JbdFPSYN2op#M2n#uMsyzZ831-jsLAI#{((vx21oUUUwTJMjd546ig@a-hx#W1W zxHRH50$R@c(2aE-o5s;O2BKgLVHK$Q5UL^Qh4f06ZwZdsr9g`kcl8NK{l^p1XCFE~9)T9MijgWd$ml5~ zfwyJU^js}SDO!^tkr`gKrN;grHagj0Qa)QSCZ@gs`-$m|(iyAyv8L$cI)pw?ZWp8Z zq2aQq@jM^k%yx8V3#&lO2snHmt+zm{V`wPHGUvZF&o_#bu^>dnn&-3POCJAz>Mbb! zYF>`$d-8x_8}($J64Bdq1E@TM?E6UNX{3gV{p0_16^5p8=IBe%?8Yi7%pP}fD6J>L zu>WCb-1~}TB7@VTb;(sm+eCuNQeM_a_ZW%T_b`H^=k89I$h2#=tO4o5HogVp5Ni#k zh?@j*D9RBvuEbNdL7Ig z@J@ur%J$wY^@jGAyi^TCH&`NVhX3VMoEsNMD;3gX2o{Bh0HO}T<}H#= zc6Oe1U1}OS_awSrNLTx~sk+rQF1Xb9NNow#+enG!1ZAKro59lNbFn-?sqVtBiu`Xz)dwlT4(D^#%&ui@d2VQ!{C{WgC5^pbYge@U$MTTJ? z(9pvUuMH}poyfX?cG+Ub!b60F1sqzEbszzXqp`-<;!2AV-d7MqTGkdg`Z8Z`Bo@cr zcM@D5E+RdZzU65sHYB5bW?I9bV52l`=UcJ_KV>OgdEm>{VWewLbezIc4|V{9A)KwDhiramP4 z>jTXKYoncBXYSaZhjZlS)-_6h^3VLllwQQ2>397qFvsOKzqvW3?(&U6>Xp5u-AbwX}?6l9u#A%ifr`TrE&8KiSyh&Jx zBF7m`#<;H8EmGxm0UDN4O)aNED20+}HCFhmscYq9$!S+c`3w2*JGbI)o}?$R%G{sV z&u1R$_bRqIg3yLxj;Q}eHR0p!i@YQ9{rp?%?Rl8>*x#&CJmw^;m<)3W>eN``4~Sr& zIH;6^G>)?siqcvjYwmMS*pElg_iUA3kx*|uYh7&HtkoN!+hXpsj1JTLY@yb`7g9+D zJhpP!&yPs+J?OtDyPW~(Uj0AcVVs#%tr7=|QMBL_O| zR5?-K5-d$#*X*W5@D8!Sh*gQeE0M?E~CL#~x(^Hr}E%HBKr+t{OjwTITB!4bdlA%VT){qZz{ zy^+ct!Mla!8^u?dn>I1Zam|LXOW=Wg&po9M_QsF}6RR28#!Nv1HtUS&NpS(={%Xj3 zu%S7>RlD3yjd%X3bF~mgLqEJVgy(7XaEg(DbQQm~n02EpFrD=wq>ZMc9@M7gjpv)Z zsAuyf742~;R9B)D_Wb9blJ2P5Io}g<(c0F&f5Nx8(T$74b?tVSuCZ^ksNd!Dj)=f8(h>q{Ytma#~rxCMSt=pQnw2@ zlYd?ku1Fjvp_u`|TvMpFJq=9O`p`Rs2x?*tc0o;YN&7A4Wr(vp1qG;~B%BY6NnyoL z?gMhzEt3Q!gmbB&i^Vnm!<{hj%9j0}>`LFA0L|zEEub=xVbYl~(4F?E_COD@)fM}i zN$V`K_h^vSu1y2F`ckZ~?Gu~^t_J!7GpbF?S!&1DvBdX%xfk$r@#R3yU(J?jIU2e{ z^g?;%Sa^C1Y*}=Z#+D0c+@CgY_Yy#ZHzx1$96ZuMW#BBc1b=6F{JFp34dCQg`~3Yw zz(()61H;Q!B|uAzp)hQ*4Es6SFg)+}Z|!p@!>y?BD&%|W0nMJ$Srk#nW=5-Ax-h$M zDUxV`V{5M?f0m7$8?md_(Cr$szAAR4Npu~p8_sU1ew*(X*`P+%fX8BIt$P(zQvvc< z>K7FhYplj#;CTPdf!#KV7CWNSm6IheKF4`nL6rB|7LVCiMkFxf%7z|el>Iq>7C&#B zK6Do|n!?KqxmK}l9(MzUA=u#@rJ+4+ZZ&aeXiXwbR>*~f%VnObj@Q7P{H<-S*6D?I8X=L)t;H%bL{rE;!zEh3$j&Dn_w-(}P;N zIagBot}G%pFg4m0jMEQk3WLL3H`qbk#gAibI}2Kn?@Tg+O92=o-cs*qnbdK88Bw5L z#Y4XIOGc!E4h!bhkMm=1X1Z+s+ts)D*=%*GbBzlX@}IKxVSnDYrhgiu6`WHqR`#v^ z2(KtMZ6;}1qX5HA0lkgNpo>sdz2id8mB-RAmilTW-?bj3{)Uz(40+E6f{H`zWzH}h zxO4p1EfPCR8nB8CAdP3@>j$$5x$Bff#DVtr?t7wSjC!RW{OKx9n*J^@%eua=U$q@^ zU;=EE_{aJ@2d+B70n?(i2Yl_2T$nS0k|GFJlp7HC?(5s4KCHy4X#G!AB?RC41M8OX z2fP-3RjzdYQbG*W)f=!G9Yp-geR(Qk`ok1}N6+BbTs;f+wQSQ()Ffjiurq2F=>)Ye zYMgFMsr=KQoGZ(#zrflv+U#o2*RY&eg?6(!M{O%YcxccFdL9uky40b-a9JHTM>>Xm z>TLk$28LrA^n7{Y9-c=6k3_GB{dU0sn^ zR4)UHo^p3~3Q5UN+hPA~()@mc_$|55iHy(&b@ew;&YB@D<&U2R=Ki1Xtq)Y-Kk2u~ z4O>r-uP8b|uXR+^QY~(L>d5*~@vI9Vju}-M4eS&alo+ z{Bwb#VK(Iekwm9?Z8XS}R?f7U=F=SSLwSJrWpKVe;_q{P!p}ECW!cnV%dzAq8TfzpqOF)_#2Y1)Iu#`11C0*k;LALo$ z-aEc2BxO=7C0q=#XIwoG(yd-+2o{l@7=`#dt7BGHPz3U{{4BU^K#_HB88{umv3ncC zQsQZo2=tNRtq|sr-x3=%y<(kz-99{!RZGGH^PsTI;aojsX2+z`iBHa|-649M_JqI{ zx6^fEp1St289wv)RI53rgsA8>Q$<$8lLX7Xf5)$TWj^@SfC|N97BV))%DS>J_5YC7 z$#q)+0<&2bART+p?@8*b-(T-*qz7zl5bUG$61kU@il#M1I^4K56s8~X9lwrUN#(bw zoocN|zTUWF-aeMl{IrDL^U9$jc?q0ursrg(o>0&?7hz>rJ@osBBz%9*dqY~^_LT+( zOXdr3eg{oY)YU8?%WPIsEb`rd;vAE-QuRyZvyU|t zIYp|@RMTudc1v_ezh!>pQXplP+Q0zOC@?j;R)S^YvBFn^U0yuq#UlV^l=an2B7NF; zFs7)0)zG)M49nLHYzkUOudE=vNZ;swg6m2CfKe7Aa|Q!MPyq;@Pe007#*b*pB^R(3Q$+g<*deTHG_xZZlpvbp>7WZeUj?c$Sx@A-9sDy)oQ}u)_x#`VexZ7KZOfww}^FQTo>BMMk z1W-_x=eY?7ySoHF?9s_NWQiR`wUKwBMM~pg>@Du>&;j^EL;4!vIdFka1k|Q(tcbZ- zZP-ES<&~vYMygHV>AqM&DqeL#S1=Qh)zP(q=kN9p`?0>So=!k+3)cl z)hk+5OO&G(Mdm1_Vjy{dF2OTYCBy~Z;HJ(AmW?%5 zT7N%?bsyNE0GP-m=bx?yRysV=_w9p)_W1&V@^Kh~{TXKm8Wg7k#lJP?=5iyE`PCW( znv0>f8KxR)MXxtEM&KxRtLg|dKcv@W;t!Y8GD3~qou8;1SR;_Z4l00=e1@C&$kZ7( z^G7kcrWZtV=w6_eU?4M2<~W@)IV4(8LrF}-j63p*#mx7@hp|1g_Ld|w%64_?dC8(wUT{wV+{~e37S!{zMI#?jVw@ee9tK zXVe*-xYK-T6Wu|xJdve-znDA$yKsY!g&$TF$5OP2eMl)JPWp|AR|7G`Lvuho!*65f ze#E?iHLfuYRf<-o22CLa+?QMSROgtxRVIlK?1z%iZ9|A%dB57cSmV0Tn7BB)O%N(l zL*UJ>ZgWk$)j`%{=XhHqQF5XZhla4y%(nW52V%w?aCS&NL%r;Hq9mvbP&_cvG1n34 zS>gz*)6l0Cdc#4@X86QhU`pwh3UYAKi_+T%VAm4dTG0)MX+&2MsCpWvy{WAQD`;mi zpF%$;Ei`1t^KogXlyWg?{bx*b$Aa0*IqdM2>O%^#JmOuF`R0!BV7;l!c0r8WwIM`z zBkQ_mr#qx$Jhwd{$h&upzEuIvN?k$rZ?shwplLT!SgxUl04%fMqyAs%^BQRy%4&+~%9E%8{>rE!V-Y%eMiXs9 zP=DUT4uP5&gGtfjCY96$(}vCMIiZ)7VYlZg9?Wxje>UJEH;d{FH5fZZ1A71(#ru1W z4oe&Q%|>MOMWA&cg{yK@G-*ig#M+0PVgmLZ`Gr6h_@j=Z)*e#;-Dg1LpwumJ>`uFZ zm_`+drUgRo;HZmm%id)u32^gg5{5}i5y&QDVi(YHm={xxy`wk+N;k5PvTiUKLfL4F zz6nZLrac=aam7`IPtCQAuSBpZM#I)>O(m!Fe+UCHlQew{Oglq!#i7pIfHFZC6N9*VN#bi`^g0pAF~D+HdcH29qlIvFS*WP=7@XC#w< z%q^DfOzsF!GpYz%m`3ei5v(R1eC4^GqArfn>qUU?dj}aW6?3~q@vJ2XXRzwcG}SyA zlzx?q5*D6m*|XZ<+f^#%pC3$Ut@&;x#))6#-Q|s3j1(4iXfOo4%^t}nu%e5=|4}po+ze=QBicHIePRgwLZ9*ndU%S5Ap%%*O0^0^OiD3kF zTUS=>JMAxRs&GNfmR+^XW9R8hc*`gN0epiz;%0TSU!t`|Wq|JwJ0`ern~w#=vKAM|MbFgl1JO0W^zIQ@zHQyEuDKAWFawN{MiY>Ihevl>&_B8 zvJk7MVg_lyN)p4uV-}Cj?h?6jm{-E!r7CSlGpP4G!LlKD zbNV~ZZJTF+HFniAK^TGc3oW8C>m`&+)1YZzYJd!gnQ1hyN#Pb&KPWtunU0!5oR_}R zq{P;+pU;t#zIMQYJ5g;%D%3?h1@LQgAee^VG-GOV96P?1v{1>B14Vh7HKf5xK#d;* zej9++iYQ1!$c9og53n%;()H=Vhxg#Z+eY{9O{gBcHkj65s-RDo9++MoFz}hx_U3{0 zfbq8FUT9DMuFfrsI%yldPUjEVQsBV~J3IO>iP~g~wfHh1@`vBQ7Zu8fFHQxyTtVq+ zBo)Y-(uB_u$rKVd$d7VdBr<@Cg^XJLFhaxT!H_VG2`Xw4f|oll5mVwEPbrfXKxYSg z%Ihxut0^2>T854dWybQIqv z4sQvx9FIUcTz|4fSF}%HD7E)!$9c5ZOo1QL#|B2+-{v&(ko;51gJ^m<&09O z0O&pJW>hU=xM#$SwuIpvN%V10xDkhaWAV4l$goz8tcXTCghqV@o>@P{zh=mKhl`r$ z@ljfM8A~s^y0{(miH9yTr=k*={N8RZ0iQKu&j%S^v+F=un?Tea^r+vZ*pzuC(W!0A zNoTRAv*239ZC#XgsDhLo+GWR$&mZQ`8u~`I!|`TnQxi=5MAkXBfRz6J6Kt%F0lvH0 z_Cg07`6E%Puk&*_$?Y=BgZE9(znjL)TsYX9Ka;leh5!KQ|5iep+ZY+U(fkD5|5pw9 z7st{uQ~a*OX9&BSYeG4)HnFRtE4qkAJwdmQW+>s3SXT>N6cH8(Rn%ugTRcm~qmM>TnDY;5$%Gt7E6#Xgm>Eb38Bg!wwI&53a8T9Za%|JoFX z%A-qFTd%N4lG3m*ZFFc#(JE>mYW!G3Aj!f1!`eGV=eDhjwy|wz#I|kQwmo8F#I|j7 z#I|jX*tT^t*IsL%J?A~=Jl%&sDJ2g{NlH)uYyVnnwQe;M`{zLHJpx)dE9Nk+I-3+&oVUCRv=Xtj54LSHho-Iu49$sGkPGmMwEW$v}#f@A15Al}(n{8d0JU2^R3XNpmjLUq}}x>1>vsnM>c4dI3{4+ZaG2 zerxxSOIQ({r4Sx&``h8!sgyoeu zKE~?P+LNZz&fKr-WL#a!3ab`_sin-7SEl<;iwX~^aEfaI!Gtu^j3#LKLofqxdRGdX zhYHnep#u9O%SbRWb8d|M@u^9JBTBb19?EMJDeu(MOWZo#vPrj|`Qm)V93?VR(M^Xs z`HiDw;$IZbjCK;>Z*N}!4AyGHKL&YQFj-~97M=UkdzE~yILe1EpUMIQEf;K&QgqL@ zQ|?`)E_SC0D*dYHSG!K~xor zz?WN0@XK1_?(1329IQMrJow*!>(WqLa@OHjyy>qC&LdWGPk<6r1zUz*Z~;LCn>Z}s zz0!*r0cj{ml^%1J1{`_$p=Q`($?7}v%Dn@6?$+JYSldvNH-Vf?L5E0aheW8kz&f-m z=6>;f`h<=#oAAYsmQ0$bD9#pZKt(jX3hCgd>PO3n z1siJ!KOy%_E^8V{2;Uef8`Mn!a8A?2!n@hJ(-j5RSWO(#^E2P%PckwwdrS=BF5KO5 zV55~H^duR+bZGQ9s=!HM?PjH>x0Yw$@QrBQa*1PVr|hVF1?#=|jej25m)hr!h{6g_ zOa(KW-tnyzRi=|(0SPO+g54pFPQNBR&Z->c^X&$!b`tQMFTY~tI^Hk$U5Mu=H>EotRYD*7cALPh^}zhL9^mH47xQH4cikg${ra84Yx_pzT7~8^GNp4QYw5aDiXMaq zbT9Ac0=R~n%j5S5Vve8d4d?+fLj>pnGh+nk0W^aQ=m9mO1n2=a!vy$>n2Qg3%)vhm zdJM`>2XaipPX~GokP8gR334p&=L2+12Iv7gLj}kQbS&-{4akX>yA05YmdggviJ03A z(21Ix1Nf@p=L2|*4)}_is|R|F%YVh5$cdUI5?oJxs6MNq;`j-NCs$fOJ5%i1SZw>- zx3?R(`g32+8Rz;k%|be{Ud{>6D~QMQ#L}&DYAOm6Iu|!J2z2|W4ug{oc>6vkCYoe{ zu?49h1}PS%hy+_4xHkO(VvYi(vKX%EVYuubyO2@L6gTtvi%sNnRn0jHX;fDz*rRCb z!joVX9evvRtE5>@JQWp!V%C`_;-uO>NfDItqk)z4#ZFlpa~L0w^3)2_Q7Q`ya|%=c zt+S3lx2;DG6tT91Xk9f^1Pi<*Bz*Z|WjBDE`vb-*)mdpRLQy~o!cGV#qE9ORPId)_ zS6=l@74qcLjkeDBegm%TUHUlgpc;SgW#Axu81+zlE!pJYGFJoZEWc`JTsdEXYdIHr zkcEkS217Iif`Ip)QpxupPC)v9ULj_~s9k3LrTDE2TQQ37#qUf+ANTRBKwg7C4UlIW zd6p)R>uh&2GgI;!IF`C#RT!rwhGqv)c2h=rYjPr11}^@nmhB~mu0X6}n-*2hQgMb? ztI!K7s5Sy!fN!W?n3tugH;z3U`gLz~nQJK-sgA*74mNq}M{D}up(-9Rf@T9Pf)+mwl=S z8y;u)L1y?EF<;4K$l?zsdih#bkgi>61g_P_Ry$U>7i<2eM#*{TDIct(*dKdNHp9?n zpd~rJFMEZ3qOqze*<5qoNBTU%_W+|NWU{0zL0V_Bh*nh<@9-)`1z&cYJv*9JKV_Cy z4fk=NLQ^-iHnMCB%Xq~eZE@|mN6Vw-JBA@w|A#hfcpAY%`8IA3OSSC9D$&-{h4&S6 z&$c_>nc0W2BY&PcxP6g{n$#fdyC~O<%2Zhpna#Uqjn36}nufKqV5jVu*6fa}@ltuM z=k^fLHtN(;9+ZZ?hSQo#turoU9DM?Lf<)vwX3Gt31vXMfWNpaFOL}J-T@=Ga?X4{# zZQme%NPQdyw4v&DAQ4<8E39?!lVft*;gzxiyr1z_mY&cGEL>xMWOq>&nuC>Ry!J$+ zONL-A^fw5P03Kevk)K;H0|y%-7g;fu(mB|m>0y|HFf~ekNELIU3Ktwc2{NiM!BOKX zpWJR12Kn5mzEVt!RMZOX)d_@V8*Lr0Tr7IMZoC=jo5~;Oa1)#8w>ixAf-`R1yFi^S zD}Jcu9EH@Dut~i6R0KJg@)+A$vtM@obkiVRQGRv+dtTVQTfue)mq@eb6AzbB#&Yn1 zG6ORAqi!?U@6qZ-koh8%wWh|!z6=Fd!UXOLDI+x!(CFcWc)?i-3;>{l* znYyk}L#m|G>o#a-%jvS%rOxe>#Ir4ur2Vg|La{U14gHNfm8w0%6bs*?XY`X^FA8}y zmR~5GjWu4;9RgEos3WE#L~a?WB4JM1G;H=Q;@9e|)Ce$%&z$KxIY%#oI+`d~BgSFR z{Alx?TeuXM^ZT2Yhn)O0ER?r~o9rZ20yoXbJ2qJI7-l%(V{EM;KeSklR9a#(BjIzZ ztv$lyJ2iBXjJFVXK;J0R{NrD35@)>?%pDA{qDoOBY%!tr9hFVb!}3Y zZbqmwnmACie0ff~>n-``imQnbocYVA?yE4jdY*U#ZQT2&7aPd(5CJ zUrmmIUyZ92Y}hF=tPMvN#KaWA6-_aA{5-X9uX|5ks*-FYHXQwUBc{=%1At%<-bx+Rr+aOiEqzq5{a54 z8O5%Ksa;*3(b|IDiGS5KIesG`Dr6QrEXo~ImK@zyfCweL`{wHyc^p!W#X^s}n^m$3 zJ=|0)!o48)vtB+@TP*L}On0S?&8Zw{a;ld57;}xu**PrV`;n1iy#c>pb+t;O=1nV1%T~!( z*?hSNTCe5|jY>EV;1Ax50rJHvY4sSvtp{fG1KE?m8ziTm*)OH8LLwuBjQYH^OcD-* zUSUn0RIf>qb{S{j4};bTcVgZi%cA#L^K+1sfeAmm<`?`H!7~UPNX1RY|9~KWG6+o# z%mk?At4_WRKvKT*=k&psKC|f0fek($4`-eQ>^wXDT;-6fPUZpcM;bipMlono?_zS+E)|6nhqVvgKR`8%l48m;%{-C_nvp( zpMfKGq<+lWFW6jk{>~9Fex#_~W&HC+F?@U(hE`9?zIA-tq4`ipuxWXR!nMSy#P&gF z#rS|r%!n2-x0=f6iNj2}_^#y4HE4c+9rE&bgg6k4z^)<5ZkcM>H3j8EqX|m0Rp@(L za@2TBecN=MZD<0aI|nowHOiifIxx6mN4AO~b~A&Rw+Xb^U*F)ia-0DqOiGj0G6^C_ z@MUTAxv*&-?z0|f@C$^|WUKn)A3_n|Agkz*Z&$i9=s)+s{p*qNUyp-D$~toE^eEob zH7)8us8K^Ov8*-{MRRBhWr^j+>5s>xY-M7WYEAR=eYeSt>LwTI z>AtQRbEn@GX&tC>+sM6!NvTgmQ%0Y%ox-1>M-_~g9`SHxnQuv??9tI}SFwx~c?1^q zG8?DOdelFdRARPVUi z)z-yXiTUJCLnh>9Ac6+=V0if{mJ6r&R2%ISs&>ez?Hc00=`mvW2kda*vsg{B$ zmC+lNu$*7;&|z<(L7zn`YaH!aIErbOwzOe5(8L$>XDPXDB7TGftA^>m+0#~5wLaOa z{vNsOn=36lT`7#a<>=g^d)aBb@Xv7nvc0Dd|FP5xyE^!CvwC!ARIap$Kv1?|DafEe zah%_Oyh5;Y9N&`y@_Fy7UrP#?wwb#sPTlT2{HpTADBl3HsyPsYvLdXh7VxzH!5yNp z*I;)noV`3M_{O`FV@v}QD9KM5LW;^@!}W}^xAtqU+zPjd2P|mGK(V>BN@%BDxC1$v zMwQB-sm7@z(Xl2U_NX%MRuh7FWda~+gE6;p%3|PmtWCyq$x~FQWe=T)?j+0yPE>(r zLNBx_51pnYbXar*DkYYRR^6DiO0T*44`oXWC3QovW?}Pe1aXCyzFhb{l%_U-2yxrK zg!!d-stWoQL6NL#tUpnMn$!+~Na!f3g%RF#E!j^U5)Xpxxc56Qylw7uI-Muckl%~n zCva}vCx_kxA)wonOi%yV0FN#69>DQE!}#lk`j1(Lxru{?6RnwrspFGVeXaDq*|w3n zzW(#q7auTi02~67pD;!$vF0lW`lSxpjv_PF*|FkGA)C1Vk04-Cl1@xI|93^;19e_vt-)g7+@(hI2ViduO7FIH zWJ*0d;RYf()7YAxUT}zsI&w7m1nji5co#`a^#4|PCiANr}>SsXFXz{x8Gtv zL=S=N-L?WY3?hX&B~qF(#R0(gj`~fBG+$uyaYZWphRV=ifwc*qpAg*RAoHva0h8I) z(hED9vd*!XH`?{+I2!iS>S4Tc;nZB&u?Zp}JW?boEM50b=E$C}e@MQy@vT}(94WEOOSrb{&0xj9wf5+88yDnpRIY9-~Dr2r5~M5Iap zA2EC6F;pzBG_Z>mkZOTf0AHO%oW4%u6i3>|Gux8YnNttyHR6`@*8Fl_Nyclj#?1|C z2YT0b8}jjfXvu{{_f9`TFgbY)zWqu}SM2KUlHZaU81RP4di}tOAL4fJipihd9Q~0` zIC?TxWeQ07`aCMS%5$kI`%fc1AIhP=$p0J-WV^X=o@e|$2Mj&SA^CGx1YbILebsR zuZOI=MdNZc(#Dvl$;k%b>H8chBJ?1?z1)Yda}$G+!USpKpuR$G*(np!#{OBV`--C|~75(|CI)#~lK{0Ply{aa$i?sA8_~nt)Uujz4!wk?=m#*69 zmhLU;*jvn+9mcI^Gr>H?5TD_{%C0kmNu&pxI!2Ea8PMTQYuu4on(pcEXS&gX{V1j| zsh0OCtkw`IqA8v$m!eVmCuYeadH+n@{p7sk!4Bp`=c3Eu#DP)nqq-nz`pu8EsD-B zZT@$IJ--?*Wm_#0h_q=>++RYx>=TslRx=;U4Ozr7xUThTPHB~ zBv*N!Xo5}Yh0IaJcLJ@84Eid(^IZIT2@P$HdG3UeifV&m%>(s>3*N>NkO_qe+0NLJ z{f0RsS*0)!Nn96E=1&;Uz4p`N^42}9ABJB#h*eMSx?H2N{tQYY zxBCb&YshlJ3AKW?sglVU+%yM90PgD~PkkPQKgbc!D+D-vVG_FxKk>*9BhkSUM~3~5 z0k1wV#8r62J2@m8M=QdF(NW1k+Df%|3*J-<>p2#jBWRR^oNdche|5C^E2*5K0>rA@ zo3|#-Emi;AaPAw-Ms~`oo}`}d&Q-@mmnUn$Etv5w5ql8c{z9~=vWawy_iz7I^Zv2! z60;B_F9s+RE#v;BJu4&P3jtRqS&9`Un@J-2un5DMSN?G7 zp|&ypPZtZs1V6vQ_xpL|_Y3WB@9Y0LGWS=yfs$JhoL(B!Oog@1P4y*{bz}-`w4X5lD7Kc7hi@tO3MH=}@`giGY3Kk^} zC~X8mY=;RXkrrLKfqA8-ASl?tLEsDUMg(>UQ`)FXVGOx1I@a-^5;hRU*)r~!1S6XKzxtz4E z;Z5ZPsPc{kea5FfdfDqipaOqPlepT}34+FVpy5RuM8hQv(bu;o+atT6_7iqaW)_Ou zY*O7@@x7#lU5sZ{6{p0X505>8O(xjIRT9pSy!WupB@$5{A9hHbSNilzumyZ=!{0TR z$OkxIQG+7`_Jxa>^Z|@E);D^3T>7*)7w8Mmj%I|Xs4%tW2ms&>duEG$p2p5Xp}yGm zD}u>kjo3owFgCLnH1Z`Wlnjx-3WxUsUp|Eryteof#BMn}j(a~5_XKyXr{g@QS=;~A z?2*NDgBmMIeHRW>xW}o}a)ETL_R#>_Foqy|hKQUzH7P(aHVgEeT z95&p(%V9Ls>@cAz>EiKoyY888DaLIb1d3{0rYx()Yshb7A>@tyoo@B#@NT9A@k)m&U-8G|u%Z(t-Lz zNjLYDciK!?1No8p+0F2>`18BZTWf}>5Sla-aTxyMeqfM=VW`%#C$fo+L3R^P%nW_o zQT!?m<4(^@7rj9Kz~)5nR1h++oLq=+3pdMYqX@yZ#8Ygw zm1}n_bD>*!R3@pz<4C#FShhB3Y|Nm2v9a#e+Fc;IZY-ERgz@*bNiLI3)QAJ>QlGL2 zSFS~9mMhtMvT;JLMPI2$V-3sgZZVmKO|pJ>>abjUk>RKjp2xnvbwwu-hVI?!rm-pM0%LC@zI26l196S!;5ci1o%u1_tF%B0<}!aO>1 zFUoL<@;hvJK3A#ZJNf`3%q zKqB9AehNGmEIQn%bUOSfkj&0yWK6rLW>22DGa13Tej@{fNv`wl=Bx(SOiJVA?yW<@ z6|O53ATe^~;|O84#3!M1ThC3JT1qsXsnKY*H!nunc5vRAI+%ncpvCd2XS>_&a$Tt^ z9d%C{(F%_$N-t5wLYow@A#$EgE!9=M=E5=7v$~LuI0{eH&_efL-L#N810{k2MHBSC zX?lrtO+;oLyFVrA>@0*B`=eQ1G0PTc^X5?$e||q@T-zVJSdB#4|EcpJGqrI&x`u7u zyh+jEdG~o#u~4k7s?SE5te6|LkizSeVce^YPEq^8_ZRh0%`dKq@zeFe zT6YVs2uZ;{tj}>jXwX`a55W(v=*i|c&*W}6UG$`GrLZdd*p+Bip@0fk=D(tbdH)qP z{LpN&BW+y%GuT%>auIXuf=qF-8GbwbHdz(Ru;NRO(%Pq#hk-`=@MyJDcH2zlcVtLU z<(u-N<5J7+AUF~YQGwi@TiL{CNp)WG)5Qt#%j*UC??~W{NJzT+jRe%+NI>v6PWf*n zP_ec6zd`|VJtDL0bhb=@r#!u>=pb;Rr$_hxkK{3Ce`u5QbK9?{RuxdF(pe`tM_H6` zEjga2C2y*NPknWrr@fWHE-sv&=RBsCD}QCRMEI)ee2i)W-FIrX^lehzL@?%1B06Oh zN8(=%xlYa%SM-t4ahxqlG{YtA{UvDJl&9-t{Z<39x)&cc z9kzKKp=GS-xTec=u+;7tn|b@osyN`K0BBYCKV4z*)nS6V-DSy_`4w6}7X7IS47@}~8^a1{} zDAUeGV{9C-Su%BE5MFH^D= zkXh!<7VF0Yl?z{%9;(z{6O6Y%v5Z;@q6D|A={mX~7Pxid{x=1)#xk_k{PVe+9Y738 zI#hH5cVqL`eEX4WqcjPd_Mvo*bSx@}(h70po12v1>Emsun;_o|;9xMCs2q#~R115$Vv9r0^8 zz+2_v(MZ*sn5i>$*8L4EWdyw;p8XeAiuJS48G&%z7?IBXE%+Ndv2HFy9w~eUwRiM5 zr;lPXhA=uA-WaJ!sT1Puzou|EwL;&91}c_?{C-`sr!(JXbL!5K7>wY$6;5mktd@@oLH7dw8NA6=MlKB6q=$&Nd@i# zXAeXa9QOw&<>p?gd#f2@@?^D!r;4a_4+dzf)u(Skzfgjjp+a7hf1Bt9>0P-0MmTt& zju_`wm%M3i-m3!U%3i$JGFXT^**+2a^QGtYa5*X9Zd@^feXdzoul~j?i&x)A-q`MD zYJZ`FVO$?vyxts%^j2eJom%a~*W!)aP7&;k&=sytvX`_j;%JOxi&pP~=vr*2W_sZv zT}_73Rv~1Oyw=?tliycaGHys`q^88>LYuf6@dj<@rXiXl3=GhYuzotYQ}@}ZQFt9l zsFlDMDwpO7HqKEPR-SJsf@ZE@da$73`h* z#}3s>jE$A`+T}1)teQrWN00^B;f&WPc@jroKpKLb{8&izp;SoW z(s&3lpc#4_(O%U}(+qCwCNZ%$_Ybhyj`3)}b%~$=6^icn4^s4AT8|P0cELQw5aQST z4kkm_^?JK7mDYC$S(grq+fnulyl4JpMrl<9Wjd~_?$x00!qoz8aPzY10&R_Q&@?5m z^Z8g0M$vFkQPS=js&msz49~ue%wj!%;WU$%i^MS@FB%-B$J4#y7Wo6@U$ z0Cqg)V{_}ec+w#xZb@P!lXYA)ypZdfkZolD)FL0FRXf+4UCRSp_XOqMQ+ z46QBg8a7?-vi$c5_aq-%Zj?p8dyMT3Ys7a+H*|~H#oS*~PY7jR|1s0|j9UEU9wWm@ zD`gm4^xTKFMwN3Gt#@{YYPq!opR;D-!T`V8;mF@M;*W&3>fTiFp! zH&OrTNDXDh1^foon|mg%$pD|pC&=HqKoN%~XXXDrDp2|P?E^A4`LClv8a9r*BZ!|< zHOKR+Q!a+Y^vx0`YJ?=Q)?R?Z61SH&T`hqa{LO-d1-+FC=e}~&ks#uJz3t8AjN%2^ zX4#h~&AqR3$@33ys+`qh6?E*b;YYf zpottt(^?Dgbs#Jv9PARiw;cpO-dgIt73_>meDU^#p0Z zLk9~#o@+B_^#!+YWw(DN1y_JdsQ0ivNiG+v%jh9A@FP)&=H)Vk0vV*!Co-YHY1lEJ zRgrFOvP<&zXU3Q1m6nrAlq;lC_GG89b7+Dv<$IUy$>#%*)a4o9CI0?7$RFvA{S5`e zCesX~hk><*SVVfMXr^hu2REV0c7tY?W3IWb zbNp3Ex)N8N!I&rDb>m}Wu~j@-d0b(JmW^i&d|&ImJ*WGjPYxKe5JlOo?ynna>Al3= z2o6zDwz16H);|PMyFk-yI+%u25W$Bb(I;qjMeS+qoVBndkl90k-o_`27SJ$W6;`B@ z&!#1ILc{hn>nw@EK=@ZQ-Dc#IqI+^soOa!Oj5KFHZXrUqtJrBeH<5jt{rdWCIWR#? z_d1^j2AtcBLVIAGu5MR9F0rv|*0n&6GqTOd`?t%GXK2HWcDmk}@kUXsaK zDN(dc{+bm`e12@q$P51A6-0fG<%8aXKs=M)_4;d8&}bK=S0We4D`KoOtr{W1pQDm3 zE&of)>^KF`mLU?6|EeL&E4tcQUWk?g<%0v$Z2YP1P^;x^Yr+CEFo(fhuiuQgq=Ua? z>`+xZWTj;v67s+?hMLm&=Y}ng@#<8066!2?*F0Dxl0!70SE8qaC!YG&9traALgIbU zB0Monu8@SrwEvnF#1Wkd;NsBcHhD zTwu_JB^mkmTxs!5y%mDTu`}-@Lr<4(i#2XF;=h?d;1vJ&zNw}{Cv-Vr7NT|Dt;34N zR-3vvYsZgibrqpZK}^nT#+k4tQPWl|I|Eu1E`5wp9VfDkWMi3GW_t(sx(b%yYI>g0 zQ>E|^Lqxu;Cd}cPq#7tgbhQq>mvG;7(zQS#9;wyuSwYPsm%CfIX7aExB6-ou`ufGv zuZ^j*7cPs1yzkwULYrT5J{z0sAGaf-acnC!hH7T`K1l*ZmKsMHW2&uU`<<& zl}K-PM%Jrc?pwZ3oG!>PC*(e;t&&Yt-zm5m&hOI&RfLz)(^V5|k12w3wbEOGbJU%# z0r>4ucRsW+?U_0~vL!V`N042GxF>ADSfi;F;TGJOofz*R%^ zGH;TM)U#T{l+M-Q+ZQ|i00Us(8`sEgBz|jhLyfAU9d)LQFz{7(sFkU(U|30IawWmx`|9()6(7Wkgf#9Z?r>IBVo|lim>zZ+A`^^N$ zP_njdn+FMwYrLVqs*P4VP>uzBhJ2MkzL{WdGuV0Nuz|M5NoImP!0FFe4@8j|*SKZ- znX2-tG0&$wGowlkP#W{}^)jfz-Mu>baU}L3{9VN9pzD61+PT~bDvgbF@yaY3ZGrL{ ziBq~F)Kr}b5--e#1$-a_9GB|VNaeT8z8i6g>z%PCgm0>gvw&pXqr!f*gEIrad7t+W zI~&}Un+PZ&a_XED;O_zD@nm+EZzjNz89g>=1G1pQaAy5QAH{V385NNc@yHpv!gB62 z6=1z7L$;4qD}|cj4ZFWp@ngs?*&{N4ZaKD)I-M7NYh{ceZj^y_xT!jnEpp{UTDQvK zH>Q6zD&KV=H%hR(Ti5KZ1Mmo7vcUJyTJBruF^9W? zrXgRbBQf-s>69OcDw?dSEnldCpt4Nmep)#;h8COw&qZfVB^eKwgI z4%$I3Vg!&vATH^7H$pJPxHXaBFD;{`#TY zvIPY|P6xUvoW%Z!m?D2hGL=YH!l+4N1vO?W6DWTrq43g{+eP~NnOln~Oypi<)q0|7 zbLzD|AKt0Nmo5s!wj2o_izYUsaEmi2RFPiH9d_Yt(2W17dUsG_~v-A zX;S|~Jl2yAuY0g+F26cwGL1vsuGBJ)<+16^?A-bde$Ghi1N;K|6?V4^N0{I%%B8nU zbIz&zu>6MGlbg;;BXbp(Rn2&JobLJ`Y=|jWw{iR}h)nwyoRR)NFN6QNU0_j7%Wj<& z#b>!jU&Bd;e#9vrt{+Vzz8Qi9Gn;H2&GmYVQkWL1| z-aGPIGW6X{aP0SaB6?ONodiZ~k~-Oyc)SVdnJ{5rvgruTOTW3XMLL0D9DPOV9XmQG zr-lO-Sl%Bq2)VwlVBjwmVHSPo*PfdY5Zq4o-jtFVCLMpSbmO zp35Q91}BYDqN?Sr)SNPPPCK~5y|$NjoqhRGfT z;tPA4Cp-+=)_76b4ykqd_CW&t%LfT7vrF<sdKBSp0GQxBN|Q!YQ+?PQIN;4{E#PC z#X({)p&ab|gh%v9fDNaij_xUY3E;-NwOh*!dTNCs8}8So2HiN!E89+t`qXMB6xxY| zcBm0O2hBM2t}hHJIn}vtiG%}8dK~emD8DN8s55!h@HPg}#T|VpC1>H3MZRUgT4=c@ z$U{N72>SD=)6tCs=tqyfl~j_CyhqU*jKk@voJmIP5B~DPauce-wdzBj$HA9ux^g7F z49x*w!L0e|yaDAVX`mzm7KVKhsO%P?v5W47s>p?pFM}*W|63Ad((3i0 z2`mtLap?+i`OstFma1@~pckY2jt;0ly-OQQ5pMR1&QkLrt0kqDn>Nd|9PA_#a+_F> zwwAv@#?rWwj22Fohpo*-&Rn|Fo<;!= z!z#~z(L3}RFyY+mOlPb_Gu_rG8;(Am3|v;Y9=FYBoLO-_Lv*&vmea3Ha@F{ra!zfF zZQq`sEDYo^TSF8e-XC{$Owr6EtZp8UvDx>b3BuJVhS3c}jbro>M-&%q8SK7)cI+Ih z@PNrwK&!WEDE7&*SBB}2ff3Da-T~HQ=(1H7dD2S- z@nq~y2m666&x9ja-2R%3+)Y>+&%iemf18eST3U&Ciy!=2@yz!3w@gb7qe__Xs$S;z zjZ*&a_euvNIx~mAWRP@r4rX*lcE%>=2F{NE`PzTEcIkdvJDYuv-{~yvolP9v{~g{F zva>a{F#Feo_lBmG>zX*y$M=J`!c^pi4iTp3Z+J07^jPZ=Aj6 zH`BYV<~A)L&5r$nv-98tK%R1`=JE>LttIuZ-UhA9_FqA3wlxu8u9LPUL5bzXot>5z z=_l#CL(``su&w`Dr%yM1KrNggm#Jp4Y1J+tr(z*hnsjc!%nISN`d+73$DOZJtU2aW zt~iF*dl6W)yoAgXShj?rxrZOe%1z$D1~?D4N*j4K*;em27`}v$^FAVc18cQ`rq+Ru z>@jwWHkSJpu7V=A0}Mq@iZ^&nmKggZ-~3zwp2jRyKXJeUD^jr5$xQd2fk&+7#;$z- zgd)G2*@e=&*8N_5km8aO9o*q+{%#6>ZX`m&5d8U~&5rAA zDEP(j$e^90Q|=BeVH!y68IC=hE|nP{p!i!x4*1(9EIJcMc;A031p#F?m#w7EO#mK0 zwN8!ZdWN>8z}hsDn9maPMA90kNtQg6E)4VC7yP_I`~b5b!8m?O!jAoX?KAApcmO6w zPuz*?J&sy=DaF`wG~9?#dsL46kV7U&+x{E9#~RH%?kADYXqxtSfj!#rEm*?C>|hO0~K}gv6;+rP7ombz2UC z9pz`L@Rec@Iu)VSQK@{jBbm2kRTj=kh;_u)M|+Ati$d*IUeFONQL9yc14I`|hy&8x z=a-p!OLD8ndgSW6!IxvBgAvQp=V99KL$^#%$Rn5tN}1S#xUw%{|5Dj!kuyJ#`We?!P44ZA=B%P=jDwFD;8A>Mx9^dXiR zS^-tVIlPCN{J!y#0J;TCqkS7{hJMu`or}_1>0a%K`==@b>*ax)?!jr9;nOiS)!9z* z-?rX4G*3{>g*>%5PaAEh&0xPa!EYL`Eu@$BG;5ihvVaTpyO|<}&j5MGZPpJ(>#Mjf zZY1bwnrBaRQ=p$eFx)61@NunpE3HdgKf1)Bt%9gGtGZgX+RS!wDN8O;M5|EwOgj3+t zJq4WNTC^>B6{5h^}kkjkRcr@!&8-E6Y5y$enS1@n{CNx~@~HNy8H)j%W)O}YZ5 z$E8Y!iQe^e$qO+!QKs2|VyS*cfIlrxWCP*Zp!`GtO+=-ALj~pXX!2jA7~e@)Obm=d zvd9mPh|@OY%(|$lws9?}^jnEQqn*CNkP+t=6O=^{;`Oa+JP2c2&R$5-<)5BCe43Clqgg@EETAavaGOH>blwTNmf9mALAd7#H^h?0yVYBn z1dhGoWyZ=$y};&}t@Z9(QdC7*G`tIcbcm)dyVEh@5a~SdY|f=Ub1Eu{c}-$n+bW1> zb+;CKR4ZvIl3kHSfx#%v$L$|rE2lDQiqg&zKPSqPpeBK} zv{U%BEPv{ii{6pVhP}4eac{`C4_(a|b?784oAy5g-o5*3G_ZWbHdPAe6`4i}GOjyT zB{B|bRq+RqX+n6tTUXwZ{Dr3l4ON5IUBLNG%u0#kw2P0)!81R#NaCnP4YngB#xNw+ zecI5Z9;Nm!#RkoFZ>i_A3==<7XEdrokJjki0};0eRwAj{ zPDUSnx8jX~SyQ-9(%`wy$nxs6DLWN$J*0--t5@w-uE5b6E^NWUYRbnE9O3=jbNl zyQq|&ZRi53REcYusl*tD+FjTc$nxukXF?s}&xRZjczDXI-a~hiSm&Dl!sR+iCQu|H zzAhquHQmlFKHGGSZT1%~Rx+#_dI~xeg=?!=Ma?Iwf(xI1Zx&Y`OgLSUsyUc!LoP2_ z-vG(Hd>^QzfIY6)?_5;alt9aE5MHs?a8i^MI@g8A^`v!P92sP0S7 zUtsS(VOSfWX$pIem>FKM7!Q=1?C=<_gmAwvAW=*1%krK(#riplxKD;o%xu{WO0)hK zYv&YQS-WoQ*s9p6pkmv$?W8KUZB=aBwr$&XGGkj6o&4)xyY02sZu{JvGg}+;V%~jY zer=5Rd3*ofj%houlsso&OSvY_9L^vZ+$z;odHZ*D%)SIjZ`^hQlY8+kucg)RDQJ+d;Td>6IfDP`3UJySd{-pRk7nikV7S(wjSzR|+o00yKrT@~@AbnzeAcs!c(1 zc~A*tCa49A)LQ-jNWE=|bxu=vXwoRpltzl8Rf=7n{$?pT8pT`*e9=3ti>d$Rglq!? z5P<+VVG{xQ|JFQuG^)TlW*|wXm2Q3p+;GXoF6XPu2smj^Sl?hBT46WJ2pO zo`&dDoVOBAgEq8Y-a;98G0CTzjt|`3@^_&1b(6JmJR})SoVoQhDm=2Y3Kek(9TL72 zme%QJh@^0(-#IG!>3vp8hb*hipXS}SwAo-VMAps(BiAZ&%#l`BsR>&_x1ZS++83s6 zA3tuV$d9k6hLG8sr=nufa|5Q~&hFxNf)+#&hz;bo&3ig+C9tAV#OeaM1mU##NVVGJ z^X-Rc-1BS7oMg}&u31_Z+9bsBHrOb}q4P{S>*v4ggN}RsV9={Vo2s(jx{eX|fk};* z7Qgl;OPS#a?JKYv3ONfLnhQ6sBETl_`L^FL?hs=*_Ir}NZq!w&T1`u6LumOffPK(d zjU&5CmmsQ~OJG6So)$_`Re7OEQD75#TQj}_tv~Sb4X`@OGO$lnDb;_QKv*v8->O^b zhR?i^4|bs;fm8?iW`h|Ac|mN%0rylQP)|)K``x}is$LX%tn|EQ&uH1BgW8yZ&HTk< z32L16;hpbP?riC_Kx?VqBM1z?ReAr~*DJ)ut8%SJe;VH!U{{QRPJj2S?qsI%+_}3I zjVry!?aebSNvHi{gB#%$tUmheAUJD;Krl<ria6Se+V}6%@FHq;6Pi z0GLv6di;g4OOmy_4IEUvdagWKM3WaMZ0h2iPo&7qlD_zDaKjmqhZCU#sW~W*z~|L1 z6laxtN1&v>_OJ`-u1b&Xx5xwflv^~_#9y)? zmRU0k-}R9tG?H(4?$OY8YjFm9vytT?3C{XLgT!B0Ytzb7A4{6utJ}Z#mymMb6nLMC zg(EVehECrh5`%ID|0$K~6w4uidj+*H?Viqc!-`K7qyDOYHHXoE%!|?NT|4z(BD!!I z&78{&nDNKW7KLw&8;HC-+~jGO;#kj~9Nrz?(QsPD*NUwtNNf8nA&DWJ$!Z09Qu=%z zP=4zLv0@^`EQKyysRv9zTcB?*9nnxIoAv!*fDc$?&BB~N6lG=pBO~>@R00rCY;vNk zKy9{Y2_RMhu2pA*U*)Q-;hkWHD`S*hei~v8nrK+k3T=^4w_fV!zYyi{WNQchq>Zwl zqgj(E+?%C9=M0TD#j=jjja!S>*D)89+$g3pY1wvIlRM`ahG{Td?3$)e9KXl4=FqW} z`F;_I!Wqd!xtfajJONCGZ^LoJZr>>Zx_Xqto*h>5g6k4Z@yGtu&;Gzp1qx_4BTx~} zKjg^S8c5+r5n^oB7jlQ5a_TPA6%`5!x0v3^xCY^(g0{N86qNhUI8&^I znV6vk+=blFxj96-24c?qLRUBNDnoAs_@bE~;}^@MV(#w+KI=tEryeuG#AqW?H2V0uRB4z7B)D9+2Kq(elf-^bwR^ha5SG zd*dYC<^oph!LsLKOI+EhMw`9uMI@ozva5nKmmqWSjl1D$gk1HhA$v2xZfqAg^Ici& z)5y@bYvlmch+190Fac^QN*j#CqEC|9N<$z`Hx(|MvgvmR@`L+H(G&t6Q~rrQJ=;5H z8K8_?-}>JnuGG)ewT!7$Z@ETmIUu~Lf>P%#Yh7vUtvJMp)v0;LnEFXhr!$}J5I~c< zEPF^a3Gf&62b4r?D0-k^4FRp)Fmb*T++Y3OSUT|xX@I+IRc=sR^pABYlt#IXBgB}) zeejzsw$7XKtpmU87wYBiL*@Y+{=szq2hhV$kbiHCDhAT3-+yU|L|;OZ!vA}D{y&As zP9>SIfI8HUJ1T9di$cwA;r3$mm}klOB>p56E9V>A)KXu87?_WmpTY<9L3zXCZZknVwNvWy94~jj7Uu{_$%@GOXW~|DqwvvGV+P zX%y5$kqpN&GE6IUhD;Av&eV=U)At%}h{2_PRYIC`Dp8Ft3jf5<>dC{5uT#`Rn?zJ; zXLgtEhvmH9xRI?8G;n-yP;At1CPKX1TD!59U7@FdAQo$8(9o~Yg3x51PW&a0hvvA% zIJvz2Q$DlSh<3@UcA-aXK?10IXauu0{@#z^Cf<$J?SJ25yR~%>G+*bLfxpf(EB*i5 zV*e^?cB*N`r+M{49_1*@3|Bkk$3#Tq#QemdM;m2$6cbP;O|1&9P^ur2_Ev=fw4PJ5&qEjaT3~8X$y9Ylq2e5X2PP{ zrKy#Qhi4f7eg+nGr4@dOi+OOjs;G|epB6`rYgIR-6IVq=V?vJorNwlR^fqj&Z;?i! z7|YNOsAbp_sa+G7C8kCGI_OxonQoV6oTy+tu92oT^cpQS#CBY;rg`BOM=oc1LCpgt(R>HE))s8{sqO6d#oy_7#jy1B#pTck zSHcSVTBE*7@$xxHj&TgiG#IdBZ0JKfO~Mm2p0g+1{iYzX6D@&Un1j^gl4&GnyaDrn zI{m+^T;cttc3LXgw#v$DkKAqaCG%&@metwvtLcpC?0^BsW67g_f1?O6;T%K+c(KX2 z{cx@Qpu84R=lc2UpXqmKlXF;qshyLYLC3#3a;3l2PGUG|SMH^7w7v3#$_I!x!f_N# zHX3`opVRQ?+C8HK_^jNdslE?!iX6Mao{EXf@_}*v>_Saz!JI0H{8p}rrit2$Hzl-! z9`4bzZZm9%mRVG3CVgpGuOAG`;Rp#MMVNq`{@`sVfH<_&aIF zp#|(1b<7Mm5F+;p0-hA@X>nj#=n+QOwARD3$h|6MPi)4{hY!*Znm)S}roV?om z5R;IyrVeLfq?>9~u7C@h%d)>$oAD_>Qb2qk~EpRN`)m#+knAH_sl;@=R zpJ0C=Crqc**v?OoKFUBjEVpz?!T8xv@6e182Z9UTw{*Bqv9o(w!m4uelzX%o`F*9~ zO%ts58cg<9YIr|xICe2M3)Gdu>L>CZ%;2u?T&~F`5jOKON?^=zKHl9~%-mslLo0v+ zmB#i`(yjgY^;RS)FfQAYVf(mu#*e<4ZSdCP;TmRkh>5fY>sRh#W+5XbSUh0~BpeoV zE4uDTPzpa8k#X50wyAgglAC6`b>CUCEGt;WhZ%u8eFoV~xp(mDy5Dk&CmL~6-p)nl z2^%0Df1%KVbD8xqchixc?PswQF^nEnfZ=?J`t&b-A0AK2*Lsp=uG(wsLXm*}%+nPDBM|*XvgUEwYhgU?Wvf@a1=(b9 z*JS;2k_r=IMg9I5>{zR{Kkv9yq{gFLE-z>nB})OivV}ptSJ}jH`vE!`1a%uk7b{6i za)*2if4(#Wx<5vCk>2!vw~5CL7^Dmoc;IR&L3>9d!@ELSiIjdRpbUg1c+K<%)wI08$qa*klMblQpj73 z0wm)>>cw-wL(&QiOJBaYd8`H?x*|Y8PZq-9Hd$B#H$Hn|Og#s|+fiA&p4RKV52GsU zBa~9d=+dEY4(41@tAE8DaB?%6!}S=!@H5&v8own_*7L-D?e;ZQ_NZ8`7XYXFYct<7 zu%OqT*ryC&B`DVgmDht{e&9k)=P36{zQtPUW7^GX{y+yl-+(~Fh@Y#N07B)bR5Tpe z87vKm^JQ8b@<3YsG%4cX0KT7t_7_;8HEc2LNKK`8lS%u*?hiW}6V0zzIuu4SE*(Qt zQ-2<##n1kUcda^KhjU%ck2A%yL@hQcY&Ms$#q?mkospW~K{8eRzVQ`o(oK&hlI!9o zRbhTQPEh)xfSjwrdW%BwNQ-;bjDI_{zEA z)^PRB(~swJmd~CK_}~9usM}%nayTF$LG}N12{{@$IMO*;n>l{T*~)q*(q{U~U%xo~ z-BZ=R@c8Pfeop<&b*fL_uUa9byJ&*l09~Ot|F+X(*8KD%ngOJPg_SIP=3M9V2}i;^ zo`KFR&bm3!gspLZ*3_7p>5oK{_J_a~>%#5H2dL@KnSlZ)dMXp&}X*kZ& zsRVTDz%58HXO~H9nz18lfiy*C_fo@weJSm2`KLT} zUN_HmaM)l7ieP7x0uJVJcF?R);@u;$uUSFM`H(KufsjnhfpFr zPmpsUV?Ca2hQ0+Vqjvxg?GhCH)y(hbkBiNb=2-;^uiP$b1kT2q{?jHuHOY~BX?+YA>ND2|0>>ieVQkM!Y;AC)TfbcqZrDHGG!?7Mq21TD+ zDxlW{-GX}IvRL}jz^VPw3}5lV+rs*u(d8ru>ydE`mT!1-D0=t8^2)H^$bPHft*aq* zrVDwP7|YZ=)zJ)!yExj(4 z|I%@D!jFcNHSOWSFKrHT`PvL}ceL`uh)(Xp{ew`}UA#cpijc@B7?t|g7zrwc`IzY~ zyuLYY;-4;TEm^!DS6%mDFX&>S4c1!+qqpXMXqVdK+csA$`u0^Uu0xc$ytd6&las-? zFV9UHi%?`{yp{O!HLrK3RW)6HW;+qFDziw&&Y;AHtT|#5y>&Kb&iu9>+{;2vcc)90f%0nDsriuq|YBbZatjf zrY)!q8g1XX2EU%r$Vom*-de@y*8l56N`uJ>^LZNmD=vfJyZ05boE-D&cUjdmsgLpa zqG%g|oSKU?Sq}L7b=%7C;ty#j-!^vqSaZPkbl`r0Y>HlJSn|v$h`P$wOd6-EA?XG-$hE_-RHwpBSdNv9B{CfIket)2=oUXHU&{`|CA-II_<#?sfpQ9z z2VN!D_g>N-Pd6PJZUvtoLgRly*L^Gk7x|(+LU~cJN~6=F*_EX!UG9w0{rilTCa$H6k!BQWr!ms;f|O)?Ylyo7`yfC5Q!ug*(QD?vO79x`OH-=rNM$QLJ)t zOkn^KW+8yXMg7XeHAYo?FrRc%5ZVYct}qWJ?V2?zLur9P-Y_27`=O+qVxP!xTD5*8reCD^(ZJtF8}Z?fl`Hi;a@ zk0B1Tpw6)cDP5(4Zo@59y19F`QZ&(@xe5k8P=za63bs^&ph7nFT=R!3Uf`gr>wXln z5#mF}w56a$O^Q^$AI7!=cXf_;q6qf1rEH{!1J`*6WDl=oBg5wTfhD9dXuh*WXLC(U zeKR~0vk{No`T)BGjY zUQ7Z^-+)LL30Nval44GiJh*eVwM&qD&4T(@)9vtiQ(826x`|gVgkC`|#)sn}jS^9+a}DO$63zUHyHHgf z4$L}z%*Y;U^i0Y#6A6*6LxtUSra>0PN@ASnD#y0`V^?=XAU@%`3n>3gV*h;qsbBZ~ z^D(a&8{0zaE^woXn6S1u^+XpxA*sO zjA}``Y+@9}smYvKn}-P;^dz>JbXu)$KQGanA@KdNCH z6^!cWjf2>QkF38VI`Kom#9xTN3wDcJiB$!J&JjmaBfv?VE{f*K^N!35&0#JK=2J`j zuyHWbrd||I?kw0iK808}q0rjBYciReJ2+M^HD2mcO@wxJ)LwGcO4Z>B;2!76xhw>m znL{>A2y=m&>q>v1BVomIzTPnF3@y_)Yr z)e?rp?UTmU@yS;8Hmrwm+^J`Vh^4bkFLRXyJu(7xqn4ng-cYS$L!tW?AV@+=jpt4) zc$@i~g&gK%PZv);R~@!VEUw&8FTa42u{51|lmZrDir{@vm$m7;Ztl7YmTs)y5!ErJ z@*?p;MH5XR4R?)T_(?00^bi%CmyiMPP=2xLaF^smZl>Cy+|rc|=N1OGtwNFj6dG3L;HJ}y0o zeBY<_cnEq*H(D6l`Yp@0Y`@3wGoGd6KGfHLh60{_L6cBj%g!4~`aO`V4XiurR2P?C z3vQ*}n9F1z3zETI0u+%>%TsDuR>S(-lez7Jzb;ZBM9!bef);+Hr)@C5g$kD>BDJ{Y zSTg(?;QQ-WVsRf=uq@6JQ4cgtcFPZ}r3Z8kuO0#-H2i;VI%F3b%ye{s> z)g02pdKt{Y>Mex*QDEt5uR{(y^4#x2!(EgXc#%;D-2jbZAyX#G$R z-TfP!v;Gf254Hg86?#RaMA_nLjkMvXBw}1b%Kk>;s0~Mc%47pkHK`Hqk9<#_CBw!= z;RZd|HET09QA`9(pvSc;j869>{)PA2&SYQSyHnZQ*|bF zM>oQ1&EltBGBqN01dy=Fl9jh{EKCd~^~fu$?!V6HI$ZxG9f4?c4XgsRQeTLMkvLQY zV@w~{lmRF|KI7{Q7F;Z|D?kh`p#jx9%Qt2wyH!+|M5E10jH4jq%M*&fkWI_fad&G<$u+@*yHJV3Nv}xv~|JZ;GBfDZ0rjx@D(qD0{I&Wg-`qYw9`;c-^4-&nk z@DSvlN9?otr*fxs2S3Qcoe^L>9SOV!=RR{|wtuVgf#BWl2k=mD{p(lt1zvn{x)p0; z9n3_ixc$uhTfkoC~6nTgjXydzC9m; z!uN zi)#M)d|tKd{CIxKGG9qft5v^NbuF^ik(ILFy??gEbIY?O`_@ny)SD|aLemARsKFkJ z^eHD{YH{6uOT;~x$8DB}ae0iPxS?`vvYzBS<5Bip^D_nke+yhFJN{tz0g}?`g`SSgj%siA9c{3ZMe-6_Fu?xq z*&`eKRg(PmFz#9T;y(v|)kQtIG=AaE+!yXJ{#�UvcLz6R)C?gN>8Dfzkg&pD!yf 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

@?J5|MZJIa3kx_*K$=zekVQo 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

5ZA)rJ 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 + Sergey Nebolsin, Craig Jone, Marc Palmer and Finn Herpich nebolsin@gmail.com, craigjones@maximsc.com, marc@grailsrocks.com and finn.herpich@marfinn-software.de JQuery for Grails From b562a09062b4a64e4c54bff9b1f06d9a26e2ef89 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Tue, 17 May 2011 14:03:14 +0200 Subject: [PATCH 06/48] Updated to jQuery 1.6.1 --- JqueryGrailsPlugin.groovy | 2 +- grails-jquery-1.6.1.zip | Bin 0 -> 182092 bytes plugin.xml | 2 +- .../grails/plugins/jquery/JQueryConfig.groovy | 2 +- .../jquery/{jquery-1.6.js => jquery-1.6.1.js} | 287 +++++++++++------- web-app/js/jquery/jquery-1.6.1.min.js | 18 ++ web-app/js/jquery/jquery-1.6.min.js | 16 - 7 files changed, 200 insertions(+), 127 deletions(-) create mode 100644 grails-jquery-1.6.1.zip rename web-app/js/jquery/{jquery-1.6.js => jquery-1.6.1.js} (97%) create mode 100644 web-app/js/jquery/jquery-1.6.1.min.js delete mode 100644 web-app/js/jquery/jquery-1.6.min.js diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index 2a4b07f..050e37a 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -24,7 +24,7 @@ import org.codehaus.groovy.grails.commons.ConfigurationHolder class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.6" + def version = "1.6.1" static SHIPPED_SRC_DIR = 'jquery' diff --git a/grails-jquery-1.6.1.zip b/grails-jquery-1.6.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..a57b0861efa7d942d54e8439dbfd05dbf2917fcc GIT binary patch literal 182092 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

<$T{FheYP>X?!+1AFKpk<)J@AdxPEXgYf( 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 literal 0 HcmV?d00001 diff --git a/plugin.xml b/plugin.xml index a85338a..884c40a 100644 --- a/plugin.xml +++ b/plugin.xml @@ -1,4 +1,4 @@ - + Sergey Nebolsin, Craig Jone, Marc Palmer and Finn Herpich nebolsin@gmail.com, craigjones@maximsc.com, marc@grailsrocks.com and finn.herpich@marfinn-software.de JQuery for Grails diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index 0c94f39..56ccd3b 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -27,7 +27,7 @@ public class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.6' + static SHIPPED_VERSION = '1.6.1' def init() { ApplicationHolder.application.metadata.findAll{ key, value -> diff --git a/web-app/js/jquery/jquery-1.6.js b/web-app/js/jquery/jquery-1.6.1.js similarity index 97% rename from web-app/js/jquery/jquery-1.6.js rename to web-app/js/jquery/jquery-1.6.1.js index 9a13ab9..5d5a1d5 100644 --- a/web-app/js/jquery/jquery-1.6.js +++ b/web-app/js/jquery/jquery-1.6.1.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.6 + * jQuery JavaScript Library v1.6.1 * http://jquery.com/ * * Copyright 2011, John Resig @@ -11,7 +11,7 @@ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * - * Date: Mon May 2 13:50:00 2011 -0400 + * Date: Thu May 12 15:04:36 2011 -0400 */ (function( window, undefined ) { @@ -204,7 +204,7 @@ jQuery.fn = jQuery.prototype = { selector: "", // The current version of jQuery being used - jquery: "1.6", + jquery: "1.6.1", // The default length of a jQuery object is 0 length: 0, @@ -1055,7 +1055,7 @@ jQuery.extend({ if ( jQuery.isFunction( fn ) ) { deferred[ handler ](function() { returned = fn.apply( this, arguments ); - if ( jQuery.isFunction( returned.promise ) ) { + if ( returned && jQuery.isFunction( returned.promise ) ) { returned.promise().then( newDefer.resolve, newDefer.reject ); } else { newDefer[ action ]( returned ); @@ -1137,6 +1137,7 @@ jQuery.extend({ jQuery.support = (function() { var div = document.createElement( "div" ), + documentElement = document.documentElement, all, a, select, @@ -1284,7 +1285,7 @@ jQuery.support = (function() { body.style[ i ] = bodyStyle[ i ]; } body.appendChild( div ); - document.documentElement.appendChild( body ); + documentElement.insertBefore( body, documentElement.firstChild ); // Check if a disconnected checkbox will retain its checked // value of true after appended to the DOM (IE6/7) @@ -1339,12 +1340,12 @@ jQuery.support = (function() { marginDiv.style.marginRight = "0"; div.appendChild( marginDiv ); support.reliableMarginRight = - ( parseInt( document.defaultView.getComputedStyle( marginDiv, null ).marginRight, 10 ) || 0 ) === 0; + ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; } // Remove the body element we added body.innerHTML = ""; - document.documentElement.removeChild( body ); + documentElement.removeChild( body ); // Technique from Juriy Zaytsev // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ @@ -1475,7 +1476,7 @@ jQuery.extend({ } if ( data !== undefined ) { - thisCache[ name ] = data; + thisCache[ jQuery.camelCase( name ) ] = data; } // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should @@ -1485,7 +1486,7 @@ jQuery.extend({ return thisCache[ internalKey ] && thisCache[ internalKey ].events; } - return getByName ? thisCache[ name ] : thisCache; + return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache; }, removeData: function( elem, name, pvt /* Internal Use Only */ ) { @@ -1661,7 +1662,7 @@ function dataAttr( elem, key, data ) { // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase(); + var name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase(); data = elem.getAttribute( name ); @@ -1850,7 +1851,8 @@ jQuery.fn.extend({ count = 1, deferDataKey = type + "defer", queueDataKey = type + "queue", - markDataKey = type + "mark"; + markDataKey = type + "mark", + tmp; function resolve() { if ( !( --count ) ) { defer.resolveWith( elements, [ elements ] ); @@ -1879,9 +1881,9 @@ var rclass = /[\n\t\r]/g, rtype = /^(?:button|input)$/i, rfocusable = /^(?:button|input|object|select|textarea)$/i, rclickable = /^a(?:rea)?$/i, - rspecial = /^(?:data-|aria-)/, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, rinvalidChar = /\:/, - formHook; + formHook, boolHook; jQuery.fn.extend({ attr: function( name, value ) { @@ -1899,6 +1901,7 @@ jQuery.fn.extend({ }, removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; return this.each(function() { // try/catch handles cases where IE balks (such as removing a property on window) try { @@ -2072,7 +2075,7 @@ jQuery.fn.extend({ hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; // If set returns undefined, fall back to normal setting - if ( !hooks || ("set" in hooks && hooks.set( this, val, "value" ) === undefined) ) { + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { this.value = val; } }); @@ -2091,7 +2094,8 @@ jQuery.extend({ }, select: { get: function( elem ) { - var index = elem.selectedIndex, + var value, + index = elem.selectedIndex, values = [], options = elem.options, one = elem.type === "select-one"; @@ -2158,8 +2162,7 @@ jQuery.extend({ attrFix: { // Always normalize to ensure hook usage - tabindex: "tabIndex", - readonly: "readOnly" + tabindex: "tabIndex" }, attr: function( elem, name, value, pass ) { @@ -2173,23 +2176,36 @@ jQuery.extend({ if ( pass && name in jQuery.attrFn ) { return jQuery( elem )[ name ]( value ); } - + + // Fallback to prop when attributes are not supported + if ( !("getAttribute" in elem) ) { + return jQuery.prop( elem, name, value ); + } + var ret, hooks, notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - + // Normalize the name if needed name = notxml && jQuery.attrFix[ name ] || name; - // Get the appropriate hook, or the formHook - // if getSetAttribute is not supported and we have form objects in IE6/7 - hooks = jQuery.attrHooks[ name ] || - ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ? - formHook : - undefined ); + hooks = jQuery.attrHooks[ name ]; + + if ( !hooks ) { + // Use boolHook for boolean attributes + if ( rboolean.test( name ) && + (typeof value === "boolean" || value === undefined || value.toLowerCase() === name.toLowerCase()) ) { + + hooks = boolHook; + + // Use formHook for forms and if the name contains certain characters + } else if ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) { + hooks = formHook; + } + } if ( value !== undefined ) { - if ( value === null || (value === false && !rspecial.test( name )) ) { + if ( value === null ) { jQuery.removeAttr( elem, name ); return undefined; @@ -2197,34 +2213,26 @@ jQuery.extend({ return ret; } else { - - // Set boolean attributes to the same name - if ( value === true && !rspecial.test( name ) ) { - value = name; - } - elem.setAttribute( name, "" + value ); return value; } - } else { - - if ( hooks && "get" in hooks && notxml ) { - return hooks.get( elem, name ); + } else if ( hooks && "get" in hooks && notxml ) { + return hooks.get( elem, name ); - } else { + } else { - ret = elem.getAttribute( name ); + ret = elem.getAttribute( name ); - // Non-existent attributes return null, we normalize to undefined - return ret === null ? - undefined : - ret; - } + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; } }, - + removeAttr: function( elem, name ) { + var propName; if ( elem.nodeType === 1 ) { name = jQuery.attrFix[ name ] || name; @@ -2235,6 +2243,11 @@ jQuery.extend({ jQuery.attr( elem, name, "" ); elem.removeAttributeNode( elem.getAttributeNode( name ) ); } + + // Set corresponding property to false for boolean attributes + if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { + elem[ propName ] = false; + } } }, @@ -2248,7 +2261,7 @@ jQuery.extend({ // Setting the type on a radio button after the value resets the value in IE6-9 // Reset value to it's default in case type is set after value // This is for element creation - var val = elem.getAttribute("value"); + var val = elem.value; elem.setAttribute( "type", value ); if ( val ) { elem.value = val; @@ -2271,37 +2284,50 @@ jQuery.extend({ } } }, - - propFix: {}, + + 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( elem, name, value ) { var nType = elem.nodeType; - + // don't get/set properties on text, comment and attribute nodes if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { return undefined; } - + var ret, hooks, notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - + // Try to normalize/fix the name name = notxml && jQuery.propFix[ name ] || name; hooks = jQuery.propHooks[ name ]; - + if ( value !== undefined ) { if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { return ret; - + } else { return (elem[ name ] = value); } - + } else { if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) { return ret; - + } else { return elem[ name ]; } @@ -2311,30 +2337,65 @@ jQuery.extend({ propHooks: {} }); +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + return elem[ jQuery.propFix[ name ] || name ] ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = value; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// Use the value property for back compat +// Use the formHook for button elements in IE6/7 (#1954) +jQuery.attrHooks.value = { + get: function( elem, name ) { + if ( formHook && jQuery.nodeName( elem, "button" ) ) { + return formHook.get( elem, name ); + } + return elem.value; + }, + set: function( elem, value, name ) { + if ( formHook && jQuery.nodeName( elem, "button" ) ) { + return formHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } +}; + // IE6/7 do not support getting/setting some attributes with get/setAttribute if ( !jQuery.support.getSetAttribute ) { - jQuery.attrFix = jQuery.extend( jQuery.attrFix, { - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder" - }); + + // propFix is more comprehensive and contains all fixes + jQuery.attrFix = jQuery.propFix; // Use this for any attribute on a form in IE6/7 - formHook = jQuery.attrHooks.name = jQuery.attrHooks.value = jQuery.valHooks.button = { + formHook = jQuery.attrHooks.name = jQuery.valHooks.button = { get: function( elem, name ) { var ret; - if ( name === "value" && !jQuery.nodeName( elem, "button" ) ) { - return elem.getAttribute( name ); - } ret = elem.getAttributeNode( name ); - // Return undefined if not specified instead of empty string - return ret && ret.specified ? + // Return undefined if nodeValue is empty string + return ret && ret.nodeValue !== "" ? ret.nodeValue : undefined; }, @@ -3086,6 +3147,9 @@ var withinElement = function( event ) { // Check if mouse(over|out) are still within the same parent element var parent = event.relatedTarget; + // set the correct event type + event.type = event.data; + // Firefox sometimes assigns relatedTarget a XUL element // which we cannot access the parentNode property of try { @@ -3095,15 +3159,13 @@ var withinElement = function( event ) { if ( parent && parent !== document && !parent.parentNode ) { return; } + // Traverse up the tree while ( parent && parent !== this ) { parent = parent.parentNode; } if ( parent !== this ) { - // set the correct event type - event.type = event.data; - // handle event if we actually just moused on to a non sub-element jQuery.event.handle.apply( this, arguments ); } @@ -4291,7 +4353,8 @@ var Expr = Sizzle.selectors = { }, reset: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "reset" === elem.type; + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; }, button: function( elem ) { @@ -4557,6 +4620,16 @@ if ( document.documentElement.compareDocumentPosition ) { } else { sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + var al, bl, ap = [], bp = [], @@ -4564,13 +4637,8 @@ if ( document.documentElement.compareDocumentPosition ) { bup = b.parentNode, cur = aup; - // The nodes are identical, we can exit early - if ( a === b ) { - hasDuplicate = true; - return 0; - // If the nodes are siblings (or identical) we can do a quick check - } else if ( aup === bup ) { + if ( aup === bup ) { return siblingCheck( a, b ); // If no parents were found then the nodes are disconnected @@ -5394,6 +5462,7 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, // checked="checked" or checked rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*", "" ], legend: [ 1, "

", "
" ], @@ -5884,7 +5953,7 @@ jQuery.each({ function getAll( elem ) { if ( "getElementsByTagName" in elem ) { return elem.getElementsByTagName( "*" ); - + } else if ( "querySelectorAll" in elem ) { return elem.querySelectorAll( "*" ); @@ -5966,7 +6035,7 @@ jQuery.extend({ context = context.ownerDocument || context[0] && context[0].ownerDocument || document; } - var ret = []; + var ret = [], j; for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { if ( typeof elem === "number" ) { @@ -6012,7 +6081,7 @@ jQuery.extend({ div.childNodes : []; - for ( var j = tbody.length - 1; j >= 0 ; --j ) { + for ( j = tbody.length - 1; j >= 0 ; --j ) { if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { tbody[ j ].parentNode.removeChild( tbody[ j ] ); } @@ -6033,8 +6102,8 @@ jQuery.extend({ var len; if ( !jQuery.support.appendChecked ) { if ( elem[0] && typeof (len = elem.length) === "number" ) { - for ( i = 0; i < len; i++ ) { - findInputs( elem[i] ); + for ( j = 0; j < len; j++ ) { + findInputs( elem[j] ); } } else { findInputs( elem ); @@ -6122,7 +6191,7 @@ function evalScript( i, elem ) { dataType: "script" }); } else { - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) ); } if ( elem.parentNode ) { @@ -7999,6 +8068,9 @@ jQuery.fn.extend({ return this.each( optall.complete, [ false ] ); } + // Do not change referenced properties as per-property easing will be lost + prop = jQuery.extend( {}, prop ); + return this[ optall.queue === false ? "each" : "queue" ](function() { // XXX 'this' does not always have a nodeName when running the // test suite @@ -8007,7 +8079,7 @@ jQuery.fn.extend({ jQuery._mark( this ); } - var opt = jQuery.extend({}, optall), + var opt = jQuery.extend( {}, optall ), isElement = this.nodeType === 1, hidden = isElement && jQuery(this).is(":hidden"), name, val, p, @@ -8026,10 +8098,18 @@ jQuery.fn.extend({ delete prop[ p ]; } - val = prop[name]; + val = prop[ name ]; + + // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default) + if ( jQuery.isArray( val ) ) { + opt.animatedProperties[ name ] = val[ 1 ]; + val = prop[ name ] = val[ 0 ]; + } else { + opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing'; + } if ( val === "hide" && hidden || val === "show" && !hidden ) { - return opt.complete.call(this); + return opt.complete.call( this ); } if ( isElement && ( name === "height" || name === "width" ) ) { @@ -8048,7 +8128,7 @@ jQuery.fn.extend({ this.style.display = "inline-block"; } else { - display = defaultDisplay(this.nodeName); + display = defaultDisplay( this.nodeName ); // inline-level elements accept inline-block; // block-level elements need to be inline with layout @@ -8062,11 +8142,6 @@ jQuery.fn.extend({ } } } - - // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default) - opt.animatedProperties[name] = jQuery.isArray( val ) ? - val[1]: - opt.specialEasing && opt.specialEasing[name] || opt.easing || 'swing'; } if ( opt.overflow != null ) { @@ -8075,19 +8150,18 @@ jQuery.fn.extend({ for ( p in prop ) { e = new jQuery.fx( this, opt, p ); - - val = prop[p]; + val = prop[ p ]; if ( rfxtypes.test(val) ) { e[ val === "toggle" ? hidden ? "show" : "hide" : val ](); } else { - parts = rfxnum.exec(val); + parts = rfxnum.exec( val ); start = e.cur(); if ( parts ) { end = parseFloat( parts[2] ); - unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" ); + unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" ); // We need to compute starting value if ( unit !== "px" ) { @@ -8098,7 +8172,7 @@ jQuery.fn.extend({ // If a +=/-= token was provided, we're doing a relative animation if ( parts[1] ) { - end = ((parts[1] === "-=" ? -1 : 1) * end) + start; + end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start; } e.custom( start, end, unit ); @@ -8126,7 +8200,6 @@ jQuery.fn.extend({ if ( !gotoEnd ) { jQuery._unmark( true, this ); } - // go in reverse order so anything added to the queue during the loop is ignored while ( i-- ) { if ( timers[i].elem === this ) { if (gotoEnd) { @@ -8374,10 +8447,10 @@ jQuery.fx.prototype = { this.now = t; } else { n = t - this.startTime; - this.state = n / options.duration; + // Perform the easing function, defaults to swing - this.pos = jQuery.easing[options.animatedProperties[this.prop]](this.state, n, 0, 1, options.duration); + this.pos = jQuery.easing[ options.animatedProperties[ this.prop ] ]( this.state, n, 0, 1, options.duration ); this.now = this.start + ((this.end - this.start) * this.pos); } // Perform the next step of the animation @@ -8390,11 +8463,9 @@ jQuery.fx.prototype = { jQuery.extend( jQuery.fx, { tick: function() { - var timers = jQuery.timers, - i = timers.length; - while ( i-- ) { + for ( var timers = jQuery.timers, i = 0 ; i < timers.length ; ++i ) { if ( !timers[i]() ) { - timers.splice(i, 1); + timers.splice(i--, 1); } } diff --git a/web-app/js/jquery/jquery-1.6.1.min.js b/web-app/js/jquery/jquery-1.6.1.min.js new file mode 100644 index 0000000..b2ac174 --- /dev/null +++ b/web-app/js/jquery/jquery-1.6.1.min.js @@ -0,0 +1,18 @@ +/*! + * jQuery JavaScript Library v1.6.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu May 12 15:04:36 2011 -0400 + */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},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(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem +)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/web-app/js/jquery/jquery-1.6.min.js b/web-app/js/jquery/jquery-1.6.min.js deleted file mode 100644 index c72011d..0000000 --- a/web-app/js/jquery/jquery-1.6.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.6 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon May 2 13:50:00 2011 -0400 - */ -(function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",b=a.getElementsByTagName("*"),d=a.getElementsByTagName("a")[0];if(!b||!b.length||!d)return{};e=c.createElement("select"),f=e.appendChild(c.createElement("option")),g=a.getElementsByTagName("input")[0],i={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.55$/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:g.value==="on",optSelected:f.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,i.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,i.optDisabled=!f.disabled;try{delete a.test}catch(r){i.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function click(){i.noCloneEvent=!1,a.detachEvent("onclick",click)}),a.cloneNode(!0).fireEvent("onclick")),g=c.createElement("input"),g.value="t",g.setAttribute("type","radio"),i.radioValue=g.value==="t",g.setAttribute("checked","checked"),a.appendChild(g),j=c.createDocumentFragment(),j.appendChild(a.firstChild),i.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",k=c.createElement("body"),l={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(p in l)k.style[p]=l[p];k.appendChild(a),c.documentElement.appendChild(k),i.appendChecked=g.checked,i.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,i.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",i.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",m=a.getElementsByTagName("td"),q=m[0].offsetHeight===0,m[0].style.display="",m[1].style.display="none",i.reliableHiddenOffsets=q&&m[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(h=c.createElement("div"),h.style.width="0",h.style.marginRight="0",a.appendChild(h),i.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(h,null).marginRight,10)||0)===0),k.innerHTML="",c.documentElement.removeChild(k);if(a.attachEvent)for(p in{submit:1,change:1,focusin:1})o="on"+p,q=o in a,q||(a.setAttribute(o,"return;"),q=typeof a[o]=="function"),i[p+"Bubbles"]=q;return i}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[c]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||"set"in c&&c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b=a.selectedIndex,c=[],d=a.options,e=a.type==="select-one";if(b<0)return null;for(var g=e?b:0,h=e?b+1:d.length;g=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex",readonly:"readOnly"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c]||(v&&(f.nodeName(a,"form")||u.test(c))?v:b);if(d!==b){if(d===null||d===!1&&!t.test(c)){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;d===!0&&!t.test(c)&&(d=c),a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.getAttribute("value");a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),f.support.getSetAttribute||(f.attrFix=f.extend(f.attrFix,{"for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder"}),v=f.attrHooks.name=f.attrHooks.value=f.valHooks.button={get:function(a,c){var d;if(c==="value"&&!f.nodeName(a,"button"))return a.getAttribute(c);d=a.getAttributeNode(c);return d&&d.specified?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=Object.prototype.hasOwnProperty,x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function J(a){var c=a.target,d,e;if(!!y.test(c.nodeName)&&!c.readOnly){d=f._data(c,"_change_data"),e=I(c),(a.type!=="focusout"||c.type!=="radio")&&f._data(c,"_change_data",e);if(d===b||e===d)return;if(d!=null||e)a.type="change",a.liveFired=b,f.event.trigger(a,arguments[1],c)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){return a.nodeName.toLowerCase()==="input"&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!be[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[];for(var i=0,j;(j=a[i])!=null;i++){typeof j=="number"&&(j+="");if(!j)continue;if(typeof j=="string")if(!ba.test(j))j=b.createTextNode(j);else{j=j.replace(Z,"<$1>");var k=($.exec(j)||["",""])[1].toLowerCase(),l=be[k]||be._default,m=l[0],n=b.createElement("div");n.innerHTML=l[1]+j+l[2];while(m--)n=n.lastChild;if(!f.support.tbody){var o=_.test(j),p=k==="table"&&!o?n.firstChild&&n.firstChild.childNodes:l[1]===""&&!o?n.childNodes:[];for(var q=p.length-1;q>=0;--q)f.nodeName(p[q],"tbody")&&!p[q].childNodes.length&&p[q].parentNode.removeChild(p[q])}!f.support.leadingWhitespace&&Y.test(j)&&n.insertBefore(b.createTextNode(Y.exec(j)[0]),n.firstChild),j=n.childNodes}var r;if(!f.support.appendChecked)if(j[0]&&typeof (r=j.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV;try{bU=e.href}catch(bW){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bX(bS),ajaxTransport:bX(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?b$(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b_(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bY(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bY(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bZ(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var ca=f.now(),cb=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+ca++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cb.test(b.url)||e&&cb.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cb,l),b.url===j&&(e&&(k=k.replace(cb,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cc=a.ActiveXObject?function(){for(var a in ce)ce[a](0,1)}:!1,cd=0,ce;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cf()||cg()}:cf,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cc&&delete ce[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cd,cc&&(ce||(ce={},f(a).unload(cc)),ce[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ch={},ci,cj,ck=/^(?:toggle|show|hide)$/,cl=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cm,cn=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],co,cp=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cs("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a=f.timers,b=a.length;while(b--)a[b]()||a.splice(b,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cm),cm=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cu=/^t(?:able|d|h)$/i,cv=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cw(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cu.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cv.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cv.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cw(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cw(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file From fcf5d1de8e0b9478755b034e8859cb93b10e6808 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 19 May 2011 12:34:26 +0200 Subject: [PATCH 07/48] fix install-j-query script --- scripts/InstallJQuery.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/InstallJQuery.groovy b/scripts/InstallJQuery.groovy index 7e2d637..946fb82 100644 --- a/scripts/InstallJQuery.groovy +++ b/scripts/InstallJQuery.groovy @@ -2,7 +2,7 @@ Ant.property(environment:"env") grailsHome = Ant.antProject.properties."env.GRAILS_HOME" // Hard coded for installation purpose -def jQueryVersion = '1.5.2' +def jQueryVersion = '1.6.1' def jQuerySources = 'jquery' includeTargets << grailsScript("_GrailsEvents") From c9a8b2b89f4af24ba03c32f052afe24d710f9d24 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Thu, 19 May 2011 12:34:36 +0200 Subject: [PATCH 08/48] packaged new version --- JqueryGrailsPlugin.groovy | 2 +- application.properties | 3 ++- grails-app/conf/BuildConfig.groovy | 14 ++++++++++++++ grails-jquery-1.6.1.1.zip | Bin 0 -> 182701 bytes plugin.xml | 15 +++------------ 5 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 grails-app/conf/BuildConfig.groovy create mode 100644 grails-jquery-1.6.1.1.zip diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index 050e37a..f796d55 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -24,7 +24,7 @@ import org.codehaus.groovy.grails.commons.ConfigurationHolder class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.6.1" + def version = "1.6.1.1" static SHIPPED_SRC_DIR = 'jquery' diff --git a/application.properties b/application.properties index c8de1d4..b935cf2 100755 --- a/application.properties +++ b/application.properties @@ -1,4 +1,5 @@ #Grails Metadata file -#Sat Oct 16 14:36:22 CEST 2010 +#Thu May 19 12:23:56 CEST 2011 app.grails.version=1.3.7 app.name=grails-jquery +plugins.release=1.0.0.M2 diff --git a/grails-app/conf/BuildConfig.groovy b/grails-app/conf/BuildConfig.groovy new file mode 100644 index 0000000..4daaf6a --- /dev/null +++ b/grails-app/conf/BuildConfig.groovy @@ -0,0 +1,14 @@ +grails.project.class.dir = "target/classes" +grails.project.test.class.dir = "target/test-classes" +grails.project.test.reports.dir = "target/test-reports" +grails.project.dependency.resolution = { + inherits "global" + log "warn" + repositories { + grailsPlugins() + grailsHome() + grailsCentral() + } + dependencies { + } +} diff --git a/grails-jquery-1.6.1.1.zip b/grails-jquery-1.6.1.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..3f437d2e7a45b9716ff04b82fba68ca842b4d260 GIT binary patch literal 182701 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%0D|^=>R;zXA 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 + Sergey Nebolsin, Craig Jone, Marc Palmer and Finn Herpich nebolsin@gmail.com, craigjones@maximsc.com, marc@grailsrocks.com and finn.herpich@marfinn-software.de JQuery for Grails Provides integration for the JQuery library with grails JavascriptProvider http://grails.org/JQuery+Plugin + BuildConfig Config JQueryConfig JQueryPluginResources @@ -14,15 +15,5 @@ JQueryTagLib - - - - - - - - - - - + \ No newline at end of file From c51e017d9a0c8f74ffdefab7c64b922c0e5f2425 Mon Sep 17 00:00:00 2001 From: Bobby Warner Date: Thu, 17 Nov 2011 09:51:51 -0600 Subject: [PATCH 09/48] removed old jquery --- web-app/js/jquery/jquery-1.6.1.js | 8936 ------------------------- web-app/js/jquery/jquery-1.6.1.min.js | 18 - 2 files changed, 8954 deletions(-) delete mode 100644 web-app/js/jquery/jquery-1.6.1.js delete mode 100644 web-app/js/jquery/jquery-1.6.1.min.js diff --git a/web-app/js/jquery/jquery-1.6.1.js b/web-app/js/jquery/jquery-1.6.1.js deleted file mode 100644 index 5d5a1d5..0000000 --- a/web-app/js/jquery/jquery-1.6.1.js +++ /dev/null @@ -1,8936 +0,0 @@ -/*! - * jQuery JavaScript Library v1.6.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu May 12 15:04:36 2011 -0400 - */ -(function( window, undefined ) { - -// Use the correct document accordingly with window argument (sandbox) -var document = window.document, - navigator = window.navigator, - location = window.location; -var jQuery = (function() { - -// Define a local copy of jQuery -var jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // A central reference to the root jQuery(document) - rootjQuery, - - // A simple way to check for HTML strings or ID strings - // (both of which we optimize for) - quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, - - // Check if a string has a non-whitespace character in it - rnotwhite = /\S/, - - // Used for trimming whitespace - trimLeft = /^\s+/, - trimRight = /\s+$/, - - // Check for digits - rdigit = /\d/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, - rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - - // Useragent RegExp - rwebkit = /(webkit)[ \/]([\w.]+)/, - ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, - rmsie = /(msie) ([\w.]+)/, - rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, - - // Keep a UserAgent string for use with jQuery.browser - userAgent = navigator.userAgent, - - // For matching the engine and version of the browser - browserMatch, - - // The deferred used on DOM ready - readyList, - - // The ready event handler - DOMContentLoaded, - - // Save a reference to some core methods - toString = Object.prototype.toString, - hasOwn = Object.prototype.hasOwnProperty, - push = Array.prototype.push, - slice = Array.prototype.slice, - trim = String.prototype.trim, - indexOf = Array.prototype.indexOf, - - // [[Class]] -> type pairs - class2type = {}; - -jQuery.fn = jQuery.prototype = { - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem, ret, doc; - - // Handle $(""), $(null), or $(undefined) - if ( !selector ) { - return this; - } - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - } - - // The body element only exists once, optimize finding it - if ( selector === "body" && !context && document.body ) { - this.context = document; - this[0] = document.body; - this.selector = selector; - this.length = 1; - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = quickExpr.exec( selector ); - } - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - doc = (context ? context.ownerDocument || context : document); - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - ret = rsingleTag.exec( selector ); - - if ( ret ) { - if ( jQuery.isPlainObject( context ) ) { - selector = [ document.createElement( ret[1] ) ]; - jQuery.fn.attr.call( selector, context, true ); - - } else { - selector = [ doc.createElement( ret[1] ) ]; - } - - } else { - ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); - selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; - } - - return jQuery.merge( this, selector ); - - // HANDLE: $("#id") - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return (context || rootjQuery).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if (selector.selector !== undefined) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.6.1", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return slice.call( this, 0 ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - // Build a new jQuery matched element set - var ret = this.constructor(); - - if ( jQuery.isArray( elems ) ) { - push.apply( ret, elems ); - - } else { - jQuery.merge( ret, elems ); - } - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) { - ret.selector = this.selector + (this.selector ? " " : "") + selector; - } else if ( name ) { - ret.selector = this.selector + "." + name + "(" + selector + ")"; - } - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Attach the listeners - jQuery.bindReady(); - - // Add the callback - readyList.done( fn ); - - return this; - }, - - eq: function( i ) { - return i === -1 ? - this.slice( i ) : - this.slice( i, +i + 1 ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ), - "slice", slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - // Either a released hold or an DOMready/load event and not yet ready - if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready, 1 ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger( "ready" ).unbind( "ready" ); - } - } - }, - - bindReady: function() { - if ( readyList ) { - return; - } - - readyList = jQuery._Deferred(); - - // Catch cases where $(document).ready() is called after the - // browser event has already occurred. - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - return setTimeout( jQuery.ready, 1 ); - } - - // Mozilla, Opera and webkit nightlies currently support this event - if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", jQuery.ready, false ); - - // If IE event model is used - } else if ( document.attachEvent ) { - // ensure firing before onload, - // maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", DOMContentLoaded ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", jQuery.ready ); - - // If IE and not a frame - // continually check to see if the document is ready - var toplevel = false; - - try { - toplevel = window.frameElement == null; - } catch(e) {} - - if ( document.documentElement.doScroll && toplevel ) { - doScrollCheck(); - } - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - // A crude way of determining if an object is a window - isWindow: function( obj ) { - return obj && typeof obj === "object" && "setInterval" in obj; - }, - - isNaN: function( obj ) { - return obj == null || !rdigit.test( obj ) || isNaN( obj ); - }, - - type: function( obj ) { - return obj == null ? - String( obj ) : - class2type[ toString.call(obj) ] || "object"; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - for ( var name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw msg; - }, - - parseJSON: function( data ) { - if ( typeof data !== "string" || !data ) { - return null; - } - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return (new Function( "return " + data ))(); - - } - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - // (xml & tmp used internally) - parseXML: function( data , xml , tmp ) { - - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - - tmp = xml.documentElement; - - if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { - jQuery.error( "Invalid XML: " + data ); - } - - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && rnotwhite.test( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, - length = object.length, - isObj = length === undefined || jQuery.isFunction( object ); - - if ( args ) { - if ( isObj ) { - for ( name in object ) { - if ( callback.apply( object[ name ], args ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.apply( object[ i++ ], args ) === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isObj ) { - for ( name in object ) { - if ( callback.call( object[ name ], name, object[ name ] ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { - break; - } - } - } - } - - return object; - }, - - // Use native String.trim function wherever possible - trim: trim ? - function( text ) { - return text == null ? - "" : - trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); - }, - - // results is for internal usage only - makeArray: function( array, results ) { - var ret = results || []; - - if ( array != null ) { - // The window, strings (and functions) also have 'length' - // The extra typeof function check is to prevent crashes - // in Safari 2 (See: #3039) - // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 - var type = jQuery.type( array ); - - if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { - push.call( ret, array ); - } else { - jQuery.merge( ret, array ); - } - } - - return ret; - }, - - inArray: function( elem, array ) { - - if ( indexOf ) { - return indexOf.call( array, elem ); - } - - for ( var i = 0, length = array.length; i < length; i++ ) { - if ( array[ i ] === elem ) { - return i; - } - } - - return -1; - }, - - merge: function( first, second ) { - var i = first.length, - j = 0; - - if ( typeof second.length === "number" ) { - for ( var l = second.length; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var ret = [], retVal; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( var i = 0, length = elems.length; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, key, ret = [], - i = 0, - length = elems.length, - // jquery objects are treated as arrays - isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( key in elems ) { - value = callback( elems[ key ], key, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return ret.concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - if ( typeof context === "string" ) { - var tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - var args = slice.call( arguments, 2 ), - proxy = function() { - return fn.apply( context, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - - return proxy; - }, - - // Mutifunctional method to get and set values to a collection - // The value/s can be optionally by executed if its a function - access: function( elems, key, value, exec, fn, pass ) { - var length = elems.length; - - // Setting many attributes - if ( typeof key === "object" ) { - for ( var k in key ) { - jQuery.access( elems, k, key[k], exec, fn, value ); - } - return elems; - } - - // Setting one attribute - if ( value !== undefined ) { - // Optionally, function values get executed if exec is true - exec = !pass && exec && jQuery.isFunction(value); - - for ( var i = 0; i < length; i++ ) { - fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); - } - - return elems; - } - - // Getting an attribute - return length ? fn( elems[0], key ) : undefined; - }, - - now: function() { - return (new Date()).getTime(); - }, - - // Use of jQuery.browser is frowned upon. - // More details: http://docs.jquery.com/Utilities/jQuery.browser - uaMatch: function( ua ) { - ua = ua.toLowerCase(); - - var match = rwebkit.exec( ua ) || - ropera.exec( ua ) || - rmsie.exec( ua ) || - ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || - []; - - return { browser: match[1] || "", version: match[2] || "0" }; - }, - - sub: function() { - function jQuerySub( selector, context ) { - return new jQuerySub.fn.init( selector, context ); - } - jQuery.extend( true, jQuerySub, this ); - jQuerySub.superclass = this; - jQuerySub.fn = jQuerySub.prototype = this(); - jQuerySub.fn.constructor = jQuerySub; - jQuerySub.sub = this.sub; - jQuerySub.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { - context = jQuerySub( context ); - } - - return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); - }; - jQuerySub.fn.init.prototype = jQuerySub.fn; - var rootjQuerySub = jQuerySub(document); - return jQuerySub; - }, - - browser: {} -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -browserMatch = jQuery.uaMatch( userAgent ); -if ( browserMatch.browser ) { - jQuery.browser[ browserMatch.browser ] = true; - jQuery.browser.version = browserMatch.version; -} - -// Deprecated, use jQuery.browser.webkit instead -if ( jQuery.browser.webkit ) { - jQuery.browser.safari = true; -} - -// IE doesn't match non-breaking spaces with \s -if ( rnotwhite.test( "\xA0" ) ) { - trimLeft = /^[\s\xA0]+/; - trimRight = /[\s\xA0]+$/; -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); - -// Cleanup functions for the document ready method -if ( document.addEventListener ) { - DOMContentLoaded = function() { - document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - jQuery.ready(); - }; - -} else if ( document.attachEvent ) { - DOMContentLoaded = function() { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( document.readyState === "complete" ) { - document.detachEvent( "onreadystatechange", DOMContentLoaded ); - jQuery.ready(); - } - }; -} - -// The DOM ready check for Internet Explorer -function doScrollCheck() { - if ( jQuery.isReady ) { - return; - } - - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - document.documentElement.doScroll("left"); - } catch(e) { - setTimeout( doScrollCheck, 1 ); - return; - } - - // and execute any waiting functions - jQuery.ready(); -} - -// Expose jQuery to the global object -return jQuery; - -})(); - - -var // Promise methods - promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ), - // Static reference to slice - sliceDeferred = [].slice; - -jQuery.extend({ - // Create a simple deferred (one callbacks list) - _Deferred: function() { - var // callbacks list - callbacks = [], - // stored [ context , args ] - fired, - // to avoid firing when already doing so - firing, - // flag to know if the deferred has been cancelled - cancelled, - // the deferred itself - deferred = { - - // done( f1, f2, ...) - done: function() { - if ( !cancelled ) { - var args = arguments, - i, - length, - elem, - type, - _fired; - if ( fired ) { - _fired = fired; - fired = 0; - } - for ( i = 0, length = args.length; i < length; i++ ) { - elem = args[ i ]; - type = jQuery.type( elem ); - if ( type === "array" ) { - deferred.done.apply( deferred, elem ); - } else if ( type === "function" ) { - callbacks.push( elem ); - } - } - if ( _fired ) { - deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); - } - } - return this; - }, - - // resolve with given context and args - resolveWith: function( context, args ) { - if ( !cancelled && !fired && !firing ) { - // make sure args are available (#8421) - args = args || []; - firing = 1; - try { - while( callbacks[ 0 ] ) { - callbacks.shift().apply( context, args ); - } - } - finally { - fired = [ context, args ]; - firing = 0; - } - } - return this; - }, - - // resolve with this as context and given arguments - resolve: function() { - deferred.resolveWith( this, arguments ); - return this; - }, - - // Has this deferred been resolved? - isResolved: function() { - return !!( firing || fired ); - }, - - // Cancel - cancel: function() { - cancelled = 1; - callbacks = []; - return this; - } - }; - - return deferred; - }, - - // Full fledged deferred (two callbacks list) - Deferred: function( func ) { - var deferred = jQuery._Deferred(), - failDeferred = jQuery._Deferred(), - promise; - // Add errorDeferred methods, then and promise - jQuery.extend( deferred, { - then: function( doneCallbacks, failCallbacks ) { - deferred.done( doneCallbacks ).fail( failCallbacks ); - return this; - }, - always: function() { - return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments ); - }, - fail: failDeferred.done, - rejectWith: failDeferred.resolveWith, - reject: failDeferred.resolve, - isRejected: failDeferred.isResolved, - pipe: function( fnDone, fnFail ) { - return jQuery.Deferred(function( newDefer ) { - jQuery.each( { - done: [ fnDone, "resolve" ], - fail: [ fnFail, "reject" ] - }, function( handler, data ) { - var fn = data[ 0 ], - action = data[ 1 ], - returned; - if ( jQuery.isFunction( fn ) ) { - deferred[ handler ](function() { - returned = fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise().then( newDefer.resolve, newDefer.reject ); - } else { - newDefer[ action ]( returned ); - } - }); - } else { - deferred[ handler ]( newDefer[ action ] ); - } - }); - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - if ( obj == null ) { - if ( promise ) { - return promise; - } - promise = obj = {}; - } - var i = promiseMethods.length; - while( i-- ) { - obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; - } - return obj; - } - }); - // Make sure only one callback list will be used - deferred.done( failDeferred.cancel ).fail( deferred.cancel ); - // Unexpose cancel - delete deferred.cancel; - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - return deferred; - }, - - // Deferred helper - when: function( firstParam ) { - var args = arguments, - i = 0, - length = args.length, - count = length, - deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? - firstParam : - jQuery.Deferred(); - function resolveFunc( i ) { - return function( value ) { - args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; - if ( !( --count ) ) { - // Strange bug in FF4: - // Values changed onto the arguments object sometimes end up as undefined values - // outside the $.when method. Cloning the object into a fresh array solves the issue - deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); - } - }; - } - if ( length > 1 ) { - for( ; i < length; i++ ) { - if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { - args[ i ].promise().then( resolveFunc(i), deferred.reject ); - } else { - --count; - } - } - if ( !count ) { - deferred.resolveWith( deferred, args ); - } - } else if ( deferred !== firstParam ) { - deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); - } - return deferred.promise(); - } -}); - - - -jQuery.support = (function() { - - var div = document.createElement( "div" ), - documentElement = document.documentElement, - all, - a, - select, - opt, - input, - marginDiv, - support, - fragment, - body, - bodyStyle, - tds, - events, - eventName, - i, - isSupported; - - // Preliminary tests - div.setAttribute("className", "t"); - div.innerHTML = "
a"; - - all = div.getElementsByTagName( "*" ); - a = div.getElementsByTagName( "a" )[ 0 ]; - - // Can't get basic test support - if ( !all || !all.length || !a ) { - return {}; - } - - // First batch of supports tests - select = document.createElement( "select" ); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName( "input" )[ 0 ]; - - support = { - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: ( div.firstChild.nodeType === 3 ), - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName( "tbody" ).length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName( "link" ).length, - - // Get the style information from getAttribute - // (IE uses .cssText instead) - style: /top/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: ( a.getAttribute( "href" ) === "/a" ), - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.55$/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Make sure that if no value is specified for a checkbox - // that it defaults to "on". - // (WebKit defaults to "" instead) - checkOn: ( input.value === "on" ), - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - getSetAttribute: div.className !== "t", - - // Will be defined later - submitBubbles: true, - changeBubbles: true, - focusinBubbles: false, - deleteExpando: true, - noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableMarginRight: true - }; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Test to see if it's possible to delete an expando from an element - // Fails in Internet Explorer - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { - div.attachEvent( "onclick", function click() { - // Cloning a node shouldn't copy over any - // bound event handlers (IE does this) - support.noCloneEvent = false; - div.detachEvent( "onclick", click ); - }); - div.cloneNode( true ).fireEvent( "onclick" ); - } - - // Check if a radio maintains it's value - // after being appended to the DOM - input = document.createElement("input"); - input.value = "t"; - input.setAttribute("type", "radio"); - support.radioValue = input.value === "t"; - - input.setAttribute("checked", "checked"); - div.appendChild( input ); - fragment = document.createDocumentFragment(); - fragment.appendChild( div.firstChild ); - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - div.innerHTML = ""; - - // Figure out if the W3C box model works as expected - div.style.width = div.style.paddingLeft = "1px"; - - // We use our own, invisible, body - body = document.createElement( "body" ); - bodyStyle = { - visibility: "hidden", - width: 0, - height: 0, - border: 0, - margin: 0, - // Set background to avoid IE crashes when removing (#9028) - background: "none" - }; - for ( i in bodyStyle ) { - body.style[ i ] = bodyStyle[ i ]; - } - body.appendChild( div ); - documentElement.insertBefore( body, documentElement.firstChild ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - support.boxModel = div.offsetWidth === 2; - - if ( "zoom" in div.style ) { - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - // (IE < 8 does this) - div.style.display = "inline"; - div.style.zoom = 1; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 ); - - // Check if elements with layout shrink-wrap their children - // (IE 6 does this) - div.style.display = ""; - div.innerHTML = "
"; - support.shrinkWrapBlocks = ( div.offsetWidth !== 2 ); - } - - div.innerHTML = "
t
"; - tds = div.getElementsByTagName( "td" ); - - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - // (only IE 8 fails this test) - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Check if empty table cells still have offsetWidth/Height - // (IE < 8 fail this test) - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - div.innerHTML = ""; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. For more - // info see bug #3333 - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - if ( document.defaultView && document.defaultView.getComputedStyle ) { - marginDiv = document.createElement( "div" ); - marginDiv.style.width = "0"; - marginDiv.style.marginRight = "0"; - div.appendChild( marginDiv ); - support.reliableMarginRight = - ( parseInt( ( document.defaultView.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; - } - - // Remove the body element we added - body.innerHTML = ""; - documentElement.removeChild( body ); - - // Technique from Juriy Zaytsev - // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ - // We only care about the case where non-standard event systems - // are used, namely in IE. Short-circuiting here helps us to - // avoid an eval call (in setAttribute) which can cause CSP - // to go haywire. See: https://developer.mozilla.org/en/Security/CSP - if ( div.attachEvent ) { - for( i in { - submit: 1, - change: 1, - focusin: 1 - } ) { - eventName = "on" + i; - isSupported = ( eventName in div ); - if ( !isSupported ) { - div.setAttribute( eventName, "return;" ); - isSupported = ( typeof div[ eventName ] === "function" ); - } - support[ i + "Bubbles" ] = isSupported; - } - } - - return support; -})(); - -// Keep track of boxModel -jQuery.boxModel = jQuery.support.boxModel; - - - - -var rbrace = /^(?:\{.*\}|\[.*\])$/, - rmultiDash = /([a-z])([A-Z])/g; - -jQuery.extend({ - cache: {}, - - // Please use with caution - uuid: 0, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ jQuery.expando ] = id = ++jQuery.uuid; - } else { - id = jQuery.expando; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); - } else { - cache[ id ] = jQuery.extend(cache[ id ], name); - } - } - - thisCache = cache[ id ]; - - // Internal jQuery data is stored in a separate object inside the object's data - // cache in order to avoid key collisions between internal data and user-defined - // data - if ( pvt ) { - if ( !thisCache[ internalKey ] ) { - thisCache[ internalKey ] = {}; - } - - thisCache = thisCache[ internalKey ]; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should - // not attempt to inspect the internal events object using jQuery.data, as this - // internal data object is undocumented and subject to change. - if ( name === "events" && !thisCache[name] ) { - return thisCache[ internalKey ] && thisCache[ internalKey ].events; - } - - return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache; - }, - - removeData: function( elem, name, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - - // See jQuery.data for more information - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; - - if ( thisCache ) { - delete thisCache[ name ]; - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !isEmptyDataObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( pvt ) { - delete cache[ id ][ internalKey ]; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject(cache[ id ]) ) { - return; - } - } - - var internalCache = cache[ id ][ internalKey ]; - - // Browsers that fail expando deletion also refuse to delete expandos on - // the window, but it will allow it on all other JS objects; other browsers - // don't care - if ( jQuery.support.deleteExpando || cache != window ) { - delete cache[ id ]; - } else { - cache[ id ] = null; - } - - // We destroyed the entire user cache at once because it's faster than - // iterating through each key, but we need to continue to persist internal - // data if it existed - if ( internalCache ) { - cache[ id ] = {}; - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - - cache[ id ][ internalKey ] = internalCache; - - // Otherwise, we need to eliminate the expando on the node to avoid - // false lookups in the cache for entries that no longer exist - } else if ( isNode ) { - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( jQuery.support.deleteExpando ) { - delete elem[ jQuery.expando ]; - } else if ( elem.removeAttribute ) { - elem.removeAttribute( jQuery.expando ); - } else { - elem[ jQuery.expando ] = null; - } - } - }, - - // For internal use only. - _data: function( elem, name, data ) { - return jQuery.data( elem, name, data, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - if ( elem.nodeName ) { - var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; - - if ( match ) { - return !(match === true || elem.getAttribute("classid") !== match); - } - } - - return true; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var data = null; - - if ( typeof key === "undefined" ) { - if ( this.length ) { - data = jQuery.data( this[0] ); - - if ( this[0].nodeType === 1 ) { - var attr = this[0].attributes, name; - for ( var i = 0, l = attr.length; i < l; i++ ) { - name = attr[i].name; - - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.substring(5) ); - - dataAttr( this[0], name, data[ name ] ); - } - } - } - } - - return data; - - } else if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - // Try to fetch any internally stored data first - if ( data === undefined && this.length ) { - data = jQuery.data( this[0], key ); - data = dataAttr( this[0], key, data ); - } - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - - } else { - return this.each(function() { - var $this = jQuery( this ), - args = [ parts[0], value ]; - - $this.triggerHandler( "setData" + parts[1] + "!", args ); - jQuery.data( this, key, value ); - $this.triggerHandler( "changeData" + parts[1] + "!", args ); - }); - } - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - var name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - !jQuery.isNaN( data ) ? parseFloat( data ) : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON -// property to be considered empty objects; this property always exists in -// order to make sure JSON.stringify does not expose internal metadata -function isEmptyDataObject( obj ) { - for ( var name in obj ) { - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - - - - -function handleQueueMarkDefer( elem, type, src ) { - var deferDataKey = type + "defer", - queueDataKey = type + "queue", - markDataKey = type + "mark", - defer = jQuery.data( elem, deferDataKey, undefined, true ); - if ( defer && - ( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) && - ( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) { - // Give room for hard-coded callbacks to fire first - // and eventually mark/queue something else on the element - setTimeout( function() { - if ( !jQuery.data( elem, queueDataKey, undefined, true ) && - !jQuery.data( elem, markDataKey, undefined, true ) ) { - jQuery.removeData( elem, deferDataKey, true ); - defer.resolve(); - } - }, 0 ); - } -} - -jQuery.extend({ - - _mark: function( elem, type ) { - if ( elem ) { - type = (type || "fx") + "mark"; - jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true ); - } - }, - - _unmark: function( force, elem, type ) { - if ( force !== true ) { - type = elem; - elem = force; - force = false; - } - if ( elem ) { - type = type || "fx"; - var key = type + "mark", - count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 ); - if ( count ) { - jQuery.data( elem, key, count, true ); - } else { - jQuery.removeData( elem, key, true ); - handleQueueMarkDefer( elem, type, "mark" ); - } - } - }, - - queue: function( elem, type, data ) { - if ( elem ) { - type = (type || "fx") + "queue"; - var q = jQuery.data( elem, type, undefined, true ); - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !q || jQuery.isArray(data) ) { - q = jQuery.data( elem, type, jQuery.makeArray(data), true ); - } else { - q.push( data ); - } - } - return q || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - fn = queue.shift(), - defer; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - } - - if ( fn ) { - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift("inprogress"); - } - - fn.call(elem, function() { - jQuery.dequeue(elem, type); - }); - } - - if ( !queue.length ) { - jQuery.removeData( elem, type + "queue", true ); - handleQueueMarkDefer( elem, type, "queue" ); - } - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - } - - if ( data === undefined ) { - return jQuery.queue( this[0], type ); - } - return this.each(function() { - var queue = jQuery.queue( this, type, data ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - - return this.queue( type, function() { - var elem = this; - setTimeout(function() { - jQuery.dequeue( elem, type ); - }, time ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, object ) { - if ( typeof type !== "string" ) { - object = type; - type = undefined; - } - type = type || "fx"; - var defer = jQuery.Deferred(), - elements = this, - i = elements.length, - count = 1, - deferDataKey = type + "defer", - queueDataKey = type + "queue", - markDataKey = type + "mark", - tmp; - function resolve() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - } - while( i-- ) { - if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || - ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || - jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && - jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) { - count++; - tmp.done( resolve ); - } - } - resolve(); - return defer.promise(); - } -}); - - - - -var rclass = /[\n\t\r]/g, - rspace = /\s+/, - rreturn = /\r/g, - rtype = /^(?:button|input)$/i, - rfocusable = /^(?:button|input|object|select|textarea)$/i, - rclickable = /^a(?:rea)?$/i, - rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - rinvalidChar = /\:/, - formHook, boolHook; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, name, value, true, jQuery.attr ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, name, value, true, jQuery.prop ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.addClass( value.call(this, i, self.attr("class") || "") ); - }); - } - - if ( value && typeof value === "string" ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 ) { - if ( !elem.className ) { - elem.className = value; - - } else { - var className = " " + elem.className + " ", - setClass = elem.className; - - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { - setClass += " " + classNames[c]; - } - } - elem.className = jQuery.trim( setClass ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - self.removeClass( value.call(this, i, self.attr("class")) ); - }); - } - - if ( (value && typeof value === "string") || value === undefined ) { - var classNames = (value || "").split( rspace ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 && elem.className ) { - if ( value ) { - var className = (" " + elem.className + " ").replace(rclass, " "); - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - className = className.replace(" " + classNames[c] + " ", " "); - } - elem.className = jQuery.trim( className ); - - } else { - elem.className = ""; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.split( rspace ); - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space seperated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - } else if ( type === "undefined" || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // toggle whole className - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " "; - for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var hooks, ret, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - return (elem.value || "").replace(rreturn, ""); - } - - return undefined; - } - - var isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var self = jQuery(this), val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - }, - select: { - get: function( elem ) { - var value, - index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type === "select-one"; - - // Nothing was selected - if ( index < 0 ) { - return null; - } - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - // Don't return options that are disabled or in a disabled optgroup - if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && - (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - // Fixes Bug #2551 -- select.val() broken in IE after form.reset() - if ( one && !values.length && options.length ) { - return jQuery( options[ index ] ).val(); - } - - return values; - }, - - set: function( elem, value ) { - var values = jQuery.makeArray( value ); - - jQuery(elem).find("option").each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attrFn: { - val: true, - css: true, - html: true, - text: true, - data: true, - width: true, - height: true, - offset: true - }, - - attrFix: { - // Always normalize to ensure hook usage - tabindex: "tabIndex" - }, - - attr: function( elem, name, value, pass ) { - var nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - if ( pass && name in jQuery.attrFn ) { - return jQuery( elem )[ name ]( value ); - } - - // Fallback to prop when attributes are not supported - if ( !("getAttribute" in elem) ) { - return jQuery.prop( elem, name, value ); - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Normalize the name if needed - name = notxml && jQuery.attrFix[ name ] || name; - - hooks = jQuery.attrHooks[ name ]; - - if ( !hooks ) { - // Use boolHook for boolean attributes - if ( rboolean.test( name ) && - (typeof value === "boolean" || value === undefined || value.toLowerCase() === name.toLowerCase()) ) { - - hooks = boolHook; - - // Use formHook for forms and if the name contains certain characters - } else if ( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) { - hooks = formHook; - } - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return undefined; - - } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, "" + value ); - return value; - } - - } else if ( hooks && "get" in hooks && notxml ) { - return hooks.get( elem, name ); - - } else { - - ret = elem.getAttribute( name ); - - // Non-existent attributes return null, we normalize to undefined - return ret === null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, name ) { - var propName; - if ( elem.nodeType === 1 ) { - name = jQuery.attrFix[ name ] || name; - - if ( jQuery.support.getSetAttribute ) { - // Use removeAttribute in browsers that support it - elem.removeAttribute( name ); - } else { - jQuery.attr( elem, name, "" ); - elem.removeAttributeNode( elem.getAttributeNode( name ) ); - } - - // Set corresponding property to false for boolean attributes - if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) { - elem[ propName ] = false; - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - // We can't allow the type property to be changed (since it causes problems in IE) - if ( rtype.test( elem.nodeName ) && elem.parentNode ) { - jQuery.error( "type property can't be changed" ); - } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to it's default in case type is set after value - // This is for element creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - }, - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - var attributeNode = elem.getAttributeNode("tabIndex"); - - return attributeNode && attributeNode.specified ? - parseInt( attributeNode.value, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - } - }, - - 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( elem, name, value ) { - var nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return undefined; - } - - var ret, hooks, - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // Try to normalize/fix the name - name = notxml && jQuery.propFix[ name ] || name; - - hooks = jQuery.propHooks[ name ]; - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return (elem[ name ] = value); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) { - return ret; - - } else { - return elem[ name ]; - } - } - }, - - propHooks: {} -}); - -// Hook for boolean attributes -boolHook = { - get: function( elem, name ) { - // Align boolean attributes with corresponding properties - return elem[ jQuery.propFix[ name ] || name ] ? - name.toLowerCase() : - undefined; - }, - set: function( elem, value, name ) { - var propName; - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - // value is true since we know at this point it's type boolean and not false - // Set boolean attributes to the same name and set the DOM property - propName = jQuery.propFix[ name ] || name; - if ( propName in elem ) { - // Only set the IDL specifically if it already exists on the element - elem[ propName ] = value; - } - - elem.setAttribute( name, name.toLowerCase() ); - } - return name; - } -}; - -// Use the value property for back compat -// Use the formHook for button elements in IE6/7 (#1954) -jQuery.attrHooks.value = { - get: function( elem, name ) { - if ( formHook && jQuery.nodeName( elem, "button" ) ) { - return formHook.get( elem, name ); - } - return elem.value; - }, - set: function( elem, value, name ) { - if ( formHook && jQuery.nodeName( elem, "button" ) ) { - return formHook.set( elem, value, name ); - } - // Does not return so that setAttribute is also used - elem.value = value; - } -}; - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !jQuery.support.getSetAttribute ) { - - // propFix is more comprehensive and contains all fixes - jQuery.attrFix = jQuery.propFix; - - // Use this for any attribute on a form in IE6/7 - formHook = jQuery.attrHooks.name = jQuery.valHooks.button = { - get: function( elem, name ) { - var ret; - ret = elem.getAttributeNode( name ); - // Return undefined if nodeValue is empty string - return ret && ret.nodeValue !== "" ? - ret.nodeValue : - undefined; - }, - set: function( elem, value, name ) { - // Check form objects in IE (multiple bugs related) - // Only use nodeValue if the attribute node exists on the form - var ret = elem.getAttributeNode( name ); - if ( ret ) { - ret.nodeValue = value; - return value; - } - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }); - }); -} - - -// Some attributes require a special call on IE -if ( !jQuery.support.hrefNormalized ) { - jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - get: function( elem ) { - var ret = elem.getAttribute( name, 2 ); - return ret === null ? undefined : ret; - } - }); - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Normalize to lowercase since IE uppercases css property names - return elem.style.cssText.toLowerCase() || undefined; - }, - set: function( elem, value ) { - return (elem.style.cssText = "" + value); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }); -} - -// Radios and checkboxes getter/setter -if ( !jQuery.support.checkOn ) { - jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - get: function( elem ) { - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - } - }; - }); -} -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0); - } - } - }); -}); - - - - -var hasOwn = Object.prototype.hasOwnProperty, - rnamespaces = /\.(.*)$/, - rformElems = /^(?:textarea|input|select)$/i, - rperiod = /\./g, - rspaces = / /g, - rescape = /[^\w\s.|`]/g, - fcleanup = function( nm ) { - return nm.replace(rescape, "\\$&"); - }; - -/* - * A number of helper functions used for managing events. - * Many of the ideas behind this code originated from - * Dean Edwards' addEvent library. - */ -jQuery.event = { - - // Bind an event to an element - // Original by Dean Edwards - add: function( elem, types, handler, data ) { - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - if ( handler === false ) { - handler = returnFalse; - } else if ( !handler ) { - // Fixes bug #7229. Fix recommended by jdalton - return; - } - - var handleObjIn, handleObj; - - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - } - - // Make sure that the function being executed has a unique ID - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure - var elemData = jQuery._data( elem ); - - // If no elemData is found then we must be trying to bind to one of the - // banned noData elements - if ( !elemData ) { - return; - } - - var events = elemData.events, - eventHandle = elemData.handle; - - if ( !events ) { - elemData.events = events = {}; - } - - if ( !eventHandle ) { - elemData.handle = eventHandle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.handle.apply( eventHandle.elem, arguments ) : - undefined; - }; - } - - // Add elem as a property of the handle function - // This is to prevent a memory leak with non-native events in IE. - eventHandle.elem = elem; - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = types.split(" "); - - var type, i = 0, namespaces; - - while ( (type = types[ i++ ]) ) { - handleObj = handleObjIn ? - jQuery.extend({}, handleObjIn) : - { handler: handler, data: data }; - - // Namespaced event handlers - if ( type.indexOf(".") > -1 ) { - namespaces = type.split("."); - type = namespaces.shift(); - handleObj.namespace = namespaces.slice(0).sort().join("."); - - } else { - namespaces = []; - handleObj.namespace = ""; - } - - handleObj.type = type; - if ( !handleObj.guid ) { - handleObj.guid = handler.guid; - } - - // Get the current list of functions bound to this event - var handlers = events[ type ], - special = jQuery.event.special[ type ] || {}; - - // Init the event handler queue - if ( !handlers ) { - handlers = events[ type ] = []; - - // Check for a special event handler - // Only use addEventListener/attachEvent if the special - // events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add the function to the element's handler list - handlers.push( handleObj ); - - // Keep track of which events have been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - global: {}, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, pos ) { - // don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - if ( handler === false ) { - handler = returnFalse; - } - - var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ), - events = elemData && elemData.events; - - if ( !elemData || !events ) { - return; - } - - // types is actually an event object here - if ( types && types.type ) { - handler = types.handler; - types = types.type; - } - - // Unbind all events for the element - if ( !types || typeof types === "string" && types.charAt(0) === "." ) { - types = types || ""; - - for ( type in events ) { - jQuery.event.remove( elem, type + types ); - } - - return; - } - - // Handle multiple events separated by a space - // jQuery(...).unbind("mouseover mouseout", fn); - types = types.split(" "); - - while ( (type = types[ i++ ]) ) { - origType = type; - handleObj = null; - all = type.indexOf(".") < 0; - namespaces = []; - - if ( !all ) { - // Namespaced event handlers - namespaces = type.split("."); - type = namespaces.shift(); - - namespace = new RegExp("(^|\\.)" + - jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - eventType = events[ type ]; - - if ( !eventType ) { - continue; - } - - if ( !handler ) { - for ( j = 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( all || namespace.test( handleObj.namespace ) ) { - jQuery.event.remove( elem, origType, handleObj.handler, j ); - eventType.splice( j--, 1 ); - } - } - - continue; - } - - special = jQuery.event.special[ type ] || {}; - - for ( j = pos || 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( handler.guid === handleObj.guid ) { - // remove the given handler for the given type - if ( all || namespace.test( handleObj.namespace ) ) { - if ( pos == null ) { - eventType.splice( j--, 1 ); - } - - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - - if ( pos != null ) { - break; - } - } - } - - // remove generic event handler if no more handlers exist - if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { - if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - ret = null; - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - var handle = elemData.handle; - if ( handle ) { - handle.elem = null; - } - - delete elemData.events; - delete elemData.handle; - - if ( jQuery.isEmptyObject( elemData ) ) { - jQuery.removeData( elem, undefined, true ); - } - } - }, - - // Events that are safe to short-circuit if no handlers are attached. - // Native DOM events should not be added, they may have inline handlers. - customEvent: { - "getData": true, - "setData": true, - "changeData": true - }, - - trigger: function( event, data, elem, onlyHandlers ) { - // Event object or event type - var type = event.type || event, - namespaces = [], - exclusive; - - if ( type.indexOf("!") >= 0 ) { - // Exclusive events trigger only for the exact event (no namespaces) - type = type.slice(0, -1); - exclusive = true; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - - if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { - // No jQuery handlers for this event type, and it can't have inline handlers - return; - } - - // Caller can pass in an Event, Object, or just an event type string - event = typeof event === "object" ? - // jQuery.Event object - event[ jQuery.expando ] ? event : - // Object literal - new jQuery.Event( type, event ) : - // Just the event type (string) - new jQuery.Event( type ); - - event.type = type; - event.exclusive = exclusive; - event.namespace = namespaces.join("."); - event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)"); - - // triggerHandler() and global events don't bubble or run the default action - if ( onlyHandlers || !elem ) { - event.preventDefault(); - event.stopPropagation(); - } - - // Handle a global trigger - if ( !elem ) { - // TODO: Stop taunting the data cache; remove global events and always attach to document - jQuery.each( jQuery.cache, function() { - // internalKey variable is just used to make it easier to find - // and potentially change this stuff later; currently it just - // points to jQuery.expando - var internalKey = jQuery.expando, - internalCache = this[ internalKey ]; - if ( internalCache && internalCache.events && internalCache.events[ type ] ) { - jQuery.event.trigger( event, data, internalCache.handle.elem ); - } - }); - return; - } - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // Clean up the event in case it is being reused - event.result = undefined; - event.target = elem; - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data ? jQuery.makeArray( data ) : []; - data.unshift( event ); - - var cur = elem, - // IE doesn't like method names with a colon (#3533, #8272) - ontype = type.indexOf(":") < 0 ? "on" + type : ""; - - // Fire event on the current element, then bubble up the DOM tree - do { - var handle = jQuery._data( cur, "handle" ); - - event.currentTarget = cur; - if ( handle ) { - handle.apply( cur, data ); - } - - // Trigger an inline bound script - if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) { - event.result = false; - event.preventDefault(); - } - - // Bubble up to document, then to window - cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window; - } while ( cur && !event.isPropagationStopped() ); - - // If nobody prevented the default action, do it now - if ( !event.isDefaultPrevented() ) { - var old, - special = jQuery.event.special[ type ] || {}; - - if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) && - !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction)() check here because IE6/7 fails that test. - // IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch. - try { - if ( ontype && elem[ type ] ) { - // Don't re-trigger an onFOO event when we call its FOO() method - old = elem[ ontype ]; - - if ( old ) { - elem[ ontype ] = null; - } - - jQuery.event.triggered = type; - elem[ type ](); - } - } catch ( ieError ) {} - - if ( old ) { - elem[ ontype ] = old; - } - - jQuery.event.triggered = undefined; - } - } - - return event.result; - }, - - handle: function( event ) { - event = jQuery.event.fix( event || window.event ); - // Snapshot the handlers list since a called handler may add/remove events. - var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0), - run_all = !event.exclusive && !event.namespace, - args = Array.prototype.slice.call( arguments, 0 ); - - // Use the fix-ed Event rather than the (read-only) native event - args[0] = event; - event.currentTarget = this; - - for ( var j = 0, l = handlers.length; j < l; j++ ) { - var handleObj = handlers[ j ]; - - // Triggered event must 1) be non-exclusive and have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event. - if ( run_all || event.namespace_re.test( handleObj.namespace ) ) { - // Pass in a reference to the handler function itself - // So that we can later remove it - event.handler = handleObj.handler; - event.data = handleObj.data; - event.handleObj = handleObj; - - var ret = handleObj.handler.apply( this, args ); - - if ( ret !== undefined ) { - event.result = ret; - if ( ret === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - return event.result; - }, - - props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // store a copy of the original event object - // and "clone" to set read-only properties - var originalEvent = event; - event = jQuery.Event( originalEvent ); - - for ( var i = this.props.length, prop; i; ) { - prop = this.props[ --i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Fix target property, if necessary - if ( !event.target ) { - // Fixes #1925 where srcElement might not be defined either - event.target = event.srcElement || document; - } - - // check if target is a textnode (safari) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && event.fromElement ) { - event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; - } - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && event.clientX != null ) { - var eventDocument = event.target.ownerDocument || document, - doc = eventDocument.documentElement, - body = eventDocument.body; - - event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); - event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); - } - - // Add which for key events - if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { - event.which = event.charCode != null ? event.charCode : event.keyCode; - } - - // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) - if ( !event.metaKey && event.ctrlKey ) { - event.metaKey = event.ctrlKey; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && event.button !== undefined ) { - event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); - } - - return event; - }, - - // Deprecated, use jQuery.guid instead - guid: 1E8, - - // Deprecated, use jQuery.proxy instead - proxy: jQuery.proxy, - - special: { - ready: { - // Make sure the ready event is setup - setup: jQuery.bindReady, - teardown: jQuery.noop - }, - - live: { - add: function( handleObj ) { - jQuery.event.add( this, - liveConvert( handleObj.origType, handleObj.selector ), - jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); - }, - - remove: function( handleObj ) { - jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); - } - }, - - beforeunload: { - setup: function( data, namespaces, eventHandle ) { - // We only want to do this special case on windows - if ( jQuery.isWindow( this ) ) { - this.onbeforeunload = eventHandle; - } - }, - - teardown: function( namespaces, eventHandle ) { - if ( this.onbeforeunload === eventHandle ) { - this.onbeforeunload = null; - } - } - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - if ( elem.detachEvent ) { - elem.detachEvent( "on" + type, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !this.preventDefault ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // timeStamp is buggy for some events on Firefox(#3843) - // So we won't rely on the native value - this.timeStamp = jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -function returnFalse() { - return false; -} -function returnTrue() { - return true; -} - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - preventDefault: function() { - this.isDefaultPrevented = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - - // if preventDefault exists run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // otherwise set the returnValue property of the original event to false (IE) - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - this.isPropagationStopped = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - // if stopPropagation exists run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - // otherwise set the cancelBubble property of the original event to true (IE) - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - }, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse -}; - -// Checks if an event happened on an element within another element -// Used in jQuery.event.special.mouseenter and mouseleave handlers -var withinElement = function( event ) { - // Check if mouse(over|out) are still within the same parent element - var parent = event.relatedTarget; - - // set the correct event type - event.type = event.data; - - // Firefox sometimes assigns relatedTarget a XUL element - // which we cannot access the parentNode property of - try { - - // Chrome does something similar, the parentNode property - // can be accessed but is null. - if ( parent && parent !== document && !parent.parentNode ) { - return; - } - - // Traverse up the tree - while ( parent && parent !== this ) { - parent = parent.parentNode; - } - - if ( parent !== this ) { - // handle event if we actually just moused on to a non sub-element - jQuery.event.handle.apply( this, arguments ); - } - - // assuming we've left the element since we most likely mousedover a xul element - } catch(e) { } -}, - -// In case of event delegation, we only need to rename the event.type, -// liveHandler will take care of the rest. -delegate = function( event ) { - event.type = event.data; - jQuery.event.handle.apply( this, arguments ); -}; - -// Create mouseenter and mouseleave events -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - setup: function( data ) { - jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); - }, - teardown: function( data ) { - jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); - } - }; -}); - -// submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function( data, namespaces ) { - if ( !jQuery.nodeName( this, "form" ) ) { - jQuery.event.add(this, "click.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { - trigger( "submit", this, arguments ); - } - }); - - jQuery.event.add(this, "keypress.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { - trigger( "submit", this, arguments ); - } - }); - - } else { - return false; - } - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialSubmit" ); - } - }; - -} - -// change delegation, happens here so we have bind. -if ( !jQuery.support.changeBubbles ) { - - var changeFilters, - - getVal = function( elem ) { - var type = elem.type, val = elem.value; - - if ( type === "radio" || type === "checkbox" ) { - val = elem.checked; - - } else if ( type === "select-multiple" ) { - val = elem.selectedIndex > -1 ? - jQuery.map( elem.options, function( elem ) { - return elem.selected; - }).join("-") : - ""; - - } else if ( jQuery.nodeName( elem, "select" ) ) { - val = elem.selectedIndex; - } - - return val; - }, - - testChange = function testChange( e ) { - var elem = e.target, data, val; - - if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { - return; - } - - data = jQuery._data( elem, "_change_data" ); - val = getVal(elem); - - // the current data will be also retrieved by beforeactivate - if ( e.type !== "focusout" || elem.type !== "radio" ) { - jQuery._data( elem, "_change_data", val ); - } - - if ( data === undefined || val === data ) { - return; - } - - if ( data != null || val ) { - e.type = "change"; - e.liveFired = undefined; - jQuery.event.trigger( e, arguments[1], elem ); - } - }; - - jQuery.event.special.change = { - filters: { - focusout: testChange, - - beforedeactivate: testChange, - - click: function( e ) { - var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - - if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) { - testChange.call( this, e ); - } - }, - - // Change has to be called before submit - // Keydown will be called before keypress, which is used in submit-event delegation - keydown: function( e ) { - var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : ""; - - if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) || - (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || - type === "select-multiple" ) { - testChange.call( this, e ); - } - }, - - // Beforeactivate happens also before the previous element is blurred - // with this event you can't trigger a change event, but you can store - // information - beforeactivate: function( e ) { - var elem = e.target; - jQuery._data( elem, "_change_data", getVal(elem) ); - } - }, - - setup: function( data, namespaces ) { - if ( this.type === "file" ) { - return false; - } - - for ( var type in changeFilters ) { - jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); - } - - return rformElems.test( this.nodeName ); - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialChange" ); - - return rformElems.test( this.nodeName ); - } - }; - - changeFilters = jQuery.event.special.change.filters; - - // Handle when the input is .focus()'d - changeFilters.focus = changeFilters.beforeactivate; -} - -function trigger( type, elem, args ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - // Don't pass args or remember liveFired; they apply to the donor event. - var event = jQuery.extend( {}, args[ 0 ] ); - event.type = type; - event.originalEvent = {}; - event.liveFired = undefined; - jQuery.event.handle.call( elem, event ); - if ( event.isDefaultPrevented() ) { - args[ 0 ].preventDefault(); - } -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - - function handler( donor ) { - // Donor event is always a native one; fix it and switch its type. - // Let focusin/out handler cancel the donor focus/blur event. - var e = jQuery.event.fix( donor ); - e.type = fix; - e.originalEvent = {}; - jQuery.event.trigger( e, null, e.target ); - if ( e.isDefaultPrevented() ) { - donor.preventDefault(); - } - } - }); -} - -jQuery.each(["bind", "one"], function( i, name ) { - jQuery.fn[ name ] = function( type, data, fn ) { - var handler; - - // Handle object literals - if ( typeof type === "object" ) { - for ( var key in type ) { - this[ name ](key, data, type[key], fn); - } - return this; - } - - if ( arguments.length === 2 || data === false ) { - fn = data; - data = undefined; - } - - if ( name === "one" ) { - handler = function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }; - handler.guid = fn.guid || jQuery.guid++; - } else { - handler = fn; - } - - if ( type === "unload" && name !== "one" ) { - this.one( type, data, fn ); - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.add( this[i], type, handler, data ); - } - } - - return this; - }; -}); - -jQuery.fn.extend({ - unbind: function( type, fn ) { - // Handle object literals - if ( typeof type === "object" && !type.preventDefault ) { - for ( var key in type ) { - this.unbind(key, type[key]); - } - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.remove( this[i], type, fn ); - } - } - - return this; - }, - - delegate: function( selector, types, data, fn ) { - return this.live( types, data, fn, selector ); - }, - - undelegate: function( selector, types, fn ) { - if ( arguments.length === 0 ) { - return this.unbind( "live" ); - - } else { - return this.die( types, null, fn, selector ); - } - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - - triggerHandler: function( type, data ) { - if ( this[0] ) { - return jQuery.event.trigger( type, data, this[0], true ); - } - }, - - toggle: function( fn ) { - // Save reference to arguments for access in closure - var args = arguments, - guid = fn.guid || jQuery.guid++, - i = 0, - toggler = function( event ) { - // Figure out which function to execute - var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; - jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); - - // Make sure that clicks stop - event.preventDefault(); - - // and execute the function - return args[ lastToggle ].apply( this, arguments ) || false; - }; - - // link all the functions, so any of them can unbind this click handler - toggler.guid = guid; - while ( i < args.length ) { - args[ i++ ].guid = guid; - } - - return this.click( toggler ); - }, - - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -}); - -var liveMap = { - focus: "focusin", - blur: "focusout", - mouseenter: "mouseover", - mouseleave: "mouseout" -}; - -jQuery.each(["live", "die"], function( i, name ) { - jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { - var type, i = 0, match, namespaces, preType, - selector = origSelector || this.selector, - context = origSelector ? this : jQuery( this.context ); - - if ( typeof types === "object" && !types.preventDefault ) { - for ( var key in types ) { - context[ name ]( key, data, types[key], selector ); - } - - return this; - } - - if ( name === "die" && !types && - origSelector && origSelector.charAt(0) === "." ) { - - context.unbind( origSelector ); - - return this; - } - - if ( data === false || jQuery.isFunction( data ) ) { - fn = data || returnFalse; - data = undefined; - } - - types = (types || "").split(" "); - - while ( (type = types[ i++ ]) != null ) { - match = rnamespaces.exec( type ); - namespaces = ""; - - if ( match ) { - namespaces = match[0]; - type = type.replace( rnamespaces, "" ); - } - - if ( type === "hover" ) { - types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); - continue; - } - - preType = type; - - if ( liveMap[ type ] ) { - types.push( liveMap[ type ] + namespaces ); - type = type + namespaces; - - } else { - type = (liveMap[ type ] || type) + namespaces; - } - - if ( name === "live" ) { - // bind live handler - for ( var j = 0, l = context.length; j < l; j++ ) { - jQuery.event.add( context[j], "live." + liveConvert( type, selector ), - { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); - } - - } else { - // unbind live handler - context.unbind( "live." + liveConvert( type, selector ), fn ); - } - } - - return this; - }; -}); - -function liveHandler( event ) { - var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, - elems = [], - selectors = [], - events = jQuery._data( this, "events" ); - - // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) - if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { - return; - } - - if ( event.namespace ) { - namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - event.liveFired = this; - - var live = events.live.slice(0); - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { - selectors.push( handleObj.selector ); - - } else { - live.splice( j--, 1 ); - } - } - - match = jQuery( event.target ).closest( selectors, event.currentTarget ); - - for ( i = 0, l = match.length; i < l; i++ ) { - close = match[i]; - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { - elem = close.elem; - related = null; - - // Those two events require additional checking - if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { - event.type = handleObj.preType; - related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; - - // Make sure not to accidentally match a child element with the same selector - if ( related && jQuery.contains( elem, related ) ) { - related = elem; - } - } - - if ( !related || related !== elem ) { - elems.push({ elem: elem, handleObj: handleObj, level: close.level }); - } - } - } - } - - for ( i = 0, l = elems.length; i < l; i++ ) { - match = elems[i]; - - if ( maxLevel && match.level > maxLevel ) { - break; - } - - event.currentTarget = match.elem; - event.data = match.handleObj.data; - event.handleObj = match.handleObj; - - ret = match.handleObj.origHandler.apply( match.elem, arguments ); - - if ( ret === false || event.isPropagationStopped() ) { - maxLevel = match.level; - - if ( ret === false ) { - stop = false; - } - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - - return stop; -} - -function liveConvert( type, selector ) { - return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&"); -} - -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; - - if ( jQuery.attrFn ) { - jQuery.attrFn[ name ] = true; - } -}); - - - -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){ - -var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, - done = 0, - toString = Object.prototype.toString, - hasDuplicate = false, - baseHasDuplicate = true, - rBackslash = /\\/g, - rNonWord = /\W/; - -// Here we check if the JavaScript engine is using some sort of -// optimization where it does not always call our comparision -// function. If that is the case, discard the hasDuplicate value. -// Thus far that includes Google Chrome. -[0, 0].sort(function() { - baseHasDuplicate = false; - return 0; -}); - -var Sizzle = function( selector, context, results, seed ) { - results = results || []; - context = context || document; - - var origContext = context; - - if ( context.nodeType !== 1 && context.nodeType !== 9 ) { - return []; - } - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - var m, set, checkSet, extra, ret, cur, pop, i, - prune = true, - contextXML = Sizzle.isXML( context ), - parts = [], - soFar = selector; - - // Reset the position of the chunker regexp (start from head) - do { - chunker.exec( "" ); - m = chunker.exec( soFar ); - - if ( m ) { - soFar = m[3]; - - parts.push( m[1] ); - - if ( m[2] ) { - extra = m[3]; - break; - } - } - } while ( m ); - - if ( parts.length > 1 && origPOS.exec( selector ) ) { - - if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { - set = posProcess( parts[0] + parts[1], context ); - - } else { - set = Expr.relative[ parts[0] ] ? - [ context ] : - Sizzle( parts.shift(), context ); - - while ( parts.length ) { - selector = parts.shift(); - - if ( Expr.relative[ selector ] ) { - selector += parts.shift(); - } - - set = posProcess( selector, set ); - } - } - - } else { - // Take a shortcut and set the context if the root selector is an ID - // (but not if it'll be faster if the inner selector is an ID) - if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && - Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { - - ret = Sizzle.find( parts.shift(), context, contextXML ); - context = ret.expr ? - Sizzle.filter( ret.expr, ret.set )[0] : - ret.set[0]; - } - - if ( context ) { - ret = seed ? - { expr: parts.pop(), set: makeArray(seed) } : - Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); - - set = ret.expr ? - Sizzle.filter( ret.expr, ret.set ) : - ret.set; - - if ( parts.length > 0 ) { - checkSet = makeArray( set ); - - } else { - prune = false; - } - - while ( parts.length ) { - cur = parts.pop(); - pop = cur; - - if ( !Expr.relative[ cur ] ) { - cur = ""; - } else { - pop = parts.pop(); - } - - if ( pop == null ) { - pop = context; - } - - Expr.relative[ cur ]( checkSet, pop, contextXML ); - } - - } else { - checkSet = parts = []; - } - } - - if ( !checkSet ) { - checkSet = set; - } - - if ( !checkSet ) { - Sizzle.error( cur || selector ); - } - - if ( toString.call(checkSet) === "[object Array]" ) { - if ( !prune ) { - results.push.apply( results, checkSet ); - - } else if ( context && context.nodeType === 1 ) { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { - results.push( set[i] ); - } - } - - } else { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && checkSet[i].nodeType === 1 ) { - results.push( set[i] ); - } - } - } - - } else { - makeArray( checkSet, results ); - } - - if ( extra ) { - Sizzle( extra, origContext, results, seed ); - Sizzle.uniqueSort( results ); - } - - return results; -}; - -Sizzle.uniqueSort = function( results ) { - if ( sortOrder ) { - hasDuplicate = baseHasDuplicate; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( var i = 1; i < results.length; i++ ) { - if ( results[i] === results[ i - 1 ] ) { - results.splice( i--, 1 ); - } - } - } - } - - return results; -}; - -Sizzle.matches = function( expr, set ) { - return Sizzle( expr, null, null, set ); -}; - -Sizzle.matchesSelector = function( node, expr ) { - return Sizzle( expr, null, null, [node] ).length > 0; -}; - -Sizzle.find = function( expr, context, isXML ) { - var set; - - if ( !expr ) { - return []; - } - - for ( var i = 0, l = Expr.order.length; i < l; i++ ) { - var match, - type = Expr.order[i]; - - if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { - var left = match[1]; - match.splice( 1, 1 ); - - if ( left.substr( left.length - 1 ) !== "\\" ) { - match[1] = (match[1] || "").replace( rBackslash, "" ); - set = Expr.find[ type ]( match, context, isXML ); - - if ( set != null ) { - expr = expr.replace( Expr.match[ type ], "" ); - break; - } - } - } - } - - if ( !set ) { - set = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( "*" ) : - []; - } - - return { set: set, expr: expr }; -}; - -Sizzle.filter = function( expr, set, inplace, not ) { - var match, anyFound, - old = expr, - result = [], - curLoop = set, - isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); - - while ( expr && set.length ) { - for ( var type in Expr.filter ) { - if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { - var found, item, - filter = Expr.filter[ type ], - left = match[1]; - - anyFound = false; - - match.splice(1,1); - - if ( left.substr( left.length - 1 ) === "\\" ) { - continue; - } - - if ( curLoop === result ) { - result = []; - } - - if ( Expr.preFilter[ type ] ) { - match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); - - if ( !match ) { - anyFound = found = true; - - } else if ( match === true ) { - continue; - } - } - - if ( match ) { - for ( var i = 0; (item = curLoop[i]) != null; i++ ) { - if ( item ) { - found = filter( item, match, i, curLoop ); - var pass = not ^ !!found; - - if ( inplace && found != null ) { - if ( pass ) { - anyFound = true; - - } else { - curLoop[i] = false; - } - - } else if ( pass ) { - result.push( item ); - anyFound = true; - } - } - } - } - - if ( found !== undefined ) { - if ( !inplace ) { - curLoop = result; - } - - expr = expr.replace( Expr.match[ type ], "" ); - - if ( !anyFound ) { - return []; - } - - break; - } - } - } - - // Improper expression - if ( expr === old ) { - if ( anyFound == null ) { - Sizzle.error( expr ); - - } else { - break; - } - } - - old = expr; - } - - return curLoop; -}; - -Sizzle.error = function( msg ) { - throw "Syntax error, unrecognized expression: " + msg; -}; - -var Expr = Sizzle.selectors = { - order: [ "ID", "NAME", "TAG" ], - - match: { - ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, - ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, - TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, - CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, - POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, - PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ - }, - - leftMatch: {}, - - attrMap: { - "class": "className", - "for": "htmlFor" - }, - - attrHandle: { - href: function( elem ) { - return elem.getAttribute( "href" ); - }, - type: function( elem ) { - return elem.getAttribute( "type" ); - } - }, - - relative: { - "+": function(checkSet, part){ - var isPartStr = typeof part === "string", - isTag = isPartStr && !rNonWord.test( part ), - isPartStrNotTag = isPartStr && !isTag; - - if ( isTag ) { - part = part.toLowerCase(); - } - - for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { - if ( (elem = checkSet[i]) ) { - while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} - - checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? - elem || false : - elem === part; - } - } - - if ( isPartStrNotTag ) { - Sizzle.filter( part, checkSet, true ); - } - }, - - ">": function( checkSet, part ) { - var elem, - isPartStr = typeof part === "string", - i = 0, - l = checkSet.length; - - if ( isPartStr && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - var parent = elem.parentNode; - checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; - } - } - - } else { - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - checkSet[i] = isPartStr ? - elem.parentNode : - elem.parentNode === part; - } - } - - if ( isPartStr ) { - Sizzle.filter( part, checkSet, true ); - } - } - }, - - "": function(checkSet, part, isXML){ - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); - }, - - "~": function( checkSet, part, isXML ) { - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); - } - }, - - find: { - ID: function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }, - - NAME: function( match, context ) { - if ( typeof context.getElementsByName !== "undefined" ) { - var ret = [], - results = context.getElementsByName( match[1] ); - - for ( var i = 0, l = results.length; i < l; i++ ) { - if ( results[i].getAttribute("name") === match[1] ) { - ret.push( results[i] ); - } - } - - return ret.length === 0 ? null : ret; - } - }, - - TAG: function( match, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( match[1] ); - } - } - }, - preFilter: { - CLASS: function( match, curLoop, inplace, result, not, isXML ) { - match = " " + match[1].replace( rBackslash, "" ) + " "; - - if ( isXML ) { - return match; - } - - for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { - if ( elem ) { - if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { - if ( !inplace ) { - result.push( elem ); - } - - } else if ( inplace ) { - curLoop[i] = false; - } - } - } - - return false; - }, - - ID: function( match ) { - return match[1].replace( rBackslash, "" ); - }, - - TAG: function( match, curLoop ) { - return match[1].replace( rBackslash, "" ).toLowerCase(); - }, - - CHILD: function( match ) { - if ( match[1] === "nth" ) { - if ( !match[2] ) { - Sizzle.error( match[0] ); - } - - match[2] = match[2].replace(/^\+|\s*/g, ''); - - // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' - var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( - match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || - !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); - - // calculate the numbers (first)n+(last) including if they are negative - match[2] = (test[1] + (test[2] || 1)) - 0; - match[3] = test[3] - 0; - } - else if ( match[2] ) { - Sizzle.error( match[0] ); - } - - // TODO: Move to normal caching system - match[0] = done++; - - return match; - }, - - ATTR: function( match, curLoop, inplace, result, not, isXML ) { - var name = match[1] = match[1].replace( rBackslash, "" ); - - if ( !isXML && Expr.attrMap[name] ) { - match[1] = Expr.attrMap[name]; - } - - // Handle if an un-quoted value was used - match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); - - if ( match[2] === "~=" ) { - match[4] = " " + match[4] + " "; - } - - return match; - }, - - PSEUDO: function( match, curLoop, inplace, result, not ) { - if ( match[1] === "not" ) { - // If we're dealing with a complex expression, or a simple one - if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { - match[3] = Sizzle(match[3], null, null, curLoop); - - } else { - var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); - - if ( !inplace ) { - result.push.apply( result, ret ); - } - - return false; - } - - } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { - return true; - } - - return match; - }, - - POS: function( match ) { - match.unshift( true ); - - return match; - } - }, - - filters: { - enabled: function( elem ) { - return elem.disabled === false && elem.type !== "hidden"; - }, - - disabled: function( elem ) { - return elem.disabled === true; - }, - - checked: function( elem ) { - return elem.checked === true; - }, - - selected: function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - parent: function( elem ) { - return !!elem.firstChild; - }, - - empty: function( elem ) { - return !elem.firstChild; - }, - - has: function( elem, i, match ) { - return !!Sizzle( match[3], elem ).length; - }, - - header: function( elem ) { - return (/h\d/i).test( elem.nodeName ); - }, - - text: function( elem ) { - var attr = elem.getAttribute( "type" ), type = elem.type; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); - }, - - radio: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; - }, - - checkbox: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; - }, - - file: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; - }, - - password: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; - }, - - submit: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && "submit" === elem.type; - }, - - image: function( elem ) { - return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; - }, - - reset: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && "reset" === elem.type; - }, - - button: function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && "button" === elem.type || name === "button"; - }, - - input: function( elem ) { - return (/input|select|textarea|button/i).test( elem.nodeName ); - }, - - focus: function( elem ) { - return elem === elem.ownerDocument.activeElement; - } - }, - setFilters: { - first: function( elem, i ) { - return i === 0; - }, - - last: function( elem, i, match, array ) { - return i === array.length - 1; - }, - - even: function( elem, i ) { - return i % 2 === 0; - }, - - odd: function( elem, i ) { - return i % 2 === 1; - }, - - lt: function( elem, i, match ) { - return i < match[3] - 0; - }, - - gt: function( elem, i, match ) { - return i > match[3] - 0; - }, - - nth: function( elem, i, match ) { - return match[3] - 0 === i; - }, - - eq: function( elem, i, match ) { - return match[3] - 0 === i; - } - }, - filter: { - PSEUDO: function( elem, match, i, array ) { - var name = match[1], - filter = Expr.filters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - - } else if ( name === "contains" ) { - return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; - - } else if ( name === "not" ) { - var not = match[3]; - - for ( var j = 0, l = not.length; j < l; j++ ) { - if ( not[j] === elem ) { - return false; - } - } - - return true; - - } else { - Sizzle.error( name ); - } - }, - - CHILD: function( elem, match ) { - var type = match[1], - node = elem; - - switch ( type ) { - case "only": - case "first": - while ( (node = node.previousSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - if ( type === "first" ) { - return true; - } - - node = elem; - - case "last": - while ( (node = node.nextSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - return true; - - case "nth": - var first = match[2], - last = match[3]; - - if ( first === 1 && last === 0 ) { - return true; - } - - var doneName = match[0], - parent = elem.parentNode; - - if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { - var count = 0; - - for ( node = parent.firstChild; node; node = node.nextSibling ) { - if ( node.nodeType === 1 ) { - node.nodeIndex = ++count; - } - } - - parent.sizcache = doneName; - } - - var diff = elem.nodeIndex - last; - - if ( first === 0 ) { - return diff === 0; - - } else { - return ( diff % first === 0 && diff / first >= 0 ); - } - } - }, - - ID: function( elem, match ) { - return elem.nodeType === 1 && elem.getAttribute("id") === match; - }, - - TAG: function( elem, match ) { - return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; - }, - - CLASS: function( elem, match ) { - return (" " + (elem.className || elem.getAttribute("class")) + " ") - .indexOf( match ) > -1; - }, - - ATTR: function( elem, match ) { - var name = match[1], - result = Expr.attrHandle[ name ] ? - Expr.attrHandle[ name ]( elem ) : - elem[ name ] != null ? - elem[ name ] : - elem.getAttribute( name ), - value = result + "", - type = match[2], - check = match[4]; - - return result == null ? - type === "!=" : - type === "=" ? - value === check : - type === "*=" ? - value.indexOf(check) >= 0 : - type === "~=" ? - (" " + value + " ").indexOf(check) >= 0 : - !check ? - value && result !== false : - type === "!=" ? - value !== check : - type === "^=" ? - value.indexOf(check) === 0 : - type === "$=" ? - value.substr(value.length - check.length) === check : - type === "|=" ? - value === check || value.substr(0, check.length + 1) === check + "-" : - false; - }, - - POS: function( elem, match, i, array ) { - var name = match[2], - filter = Expr.setFilters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - } - } - } -}; - -var origPOS = Expr.match.POS, - fescape = function(all, num){ - return "\\" + (num - 0 + 1); - }; - -for ( var type in Expr.match ) { - Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); - Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); -} - -var makeArray = function( array, results ) { - array = Array.prototype.slice.call( array, 0 ); - - if ( results ) { - results.push.apply( results, array ); - return results; - } - - return array; -}; - -// Perform a simple check to determine if the browser is capable of -// converting a NodeList to an array using builtin methods. -// Also verifies that the returned array holds DOM nodes -// (which is not the case in the Blackberry browser) -try { - Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; - -// Provide a fallback method if it does not work -} catch( e ) { - makeArray = function( array, results ) { - var i = 0, - ret = results || []; - - if ( toString.call(array) === "[object Array]" ) { - Array.prototype.push.apply( ret, array ); - - } else { - if ( typeof array.length === "number" ) { - for ( var l = array.length; i < l; i++ ) { - ret.push( array[i] ); - } - - } else { - for ( ; array[i]; i++ ) { - ret.push( array[i] ); - } - } - } - - return ret; - }; -} - -var sortOrder, siblingCheck; - -if ( document.documentElement.compareDocumentPosition ) { - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { - return a.compareDocumentPosition ? -1 : 1; - } - - return a.compareDocumentPosition(b) & 4 ? -1 : 1; - }; - -} else { - sortOrder = function( a, b ) { - // The nodes are identical, we can exit early - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Fallback to using sourceIndex (in IE) if it's available on both nodes - } else if ( a.sourceIndex && b.sourceIndex ) { - return a.sourceIndex - b.sourceIndex; - } - - var al, bl, - ap = [], - bp = [], - aup = a.parentNode, - bup = b.parentNode, - cur = aup; - - // If the nodes are siblings (or identical) we can do a quick check - if ( aup === bup ) { - return siblingCheck( a, b ); - - // If no parents were found then the nodes are disconnected - } else if ( !aup ) { - return -1; - - } else if ( !bup ) { - return 1; - } - - // Otherwise they're somewhere else in the tree so we need - // to build up a full list of the parentNodes for comparison - while ( cur ) { - ap.unshift( cur ); - cur = cur.parentNode; - } - - cur = bup; - - while ( cur ) { - bp.unshift( cur ); - cur = cur.parentNode; - } - - al = ap.length; - bl = bp.length; - - // Start walking down the tree looking for a discrepancy - for ( var i = 0; i < al && i < bl; i++ ) { - if ( ap[i] !== bp[i] ) { - return siblingCheck( ap[i], bp[i] ); - } - } - - // We ended someplace up the tree so do a sibling check - return i === al ? - siblingCheck( a, bp[i], -1 ) : - siblingCheck( ap[i], b, 1 ); - }; - - siblingCheck = function( a, b, ret ) { - if ( a === b ) { - return ret; - } - - var cur = a.nextSibling; - - while ( cur ) { - if ( cur === b ) { - return -1; - } - - cur = cur.nextSibling; - } - - return 1; - }; -} - -// Utility function for retreiving the text value of an array of DOM nodes -Sizzle.getText = function( elems ) { - var ret = "", elem; - - for ( var i = 0; elems[i]; i++ ) { - elem = elems[i]; - - // Get the text from text nodes and CDATA nodes - if ( elem.nodeType === 3 || elem.nodeType === 4 ) { - ret += elem.nodeValue; - - // Traverse everything else, except comment nodes - } else if ( elem.nodeType !== 8 ) { - ret += Sizzle.getText( elem.childNodes ); - } - } - - return ret; -}; - -// Check to see if the browser returns elements by name when -// querying by getElementById (and provide a workaround) -(function(){ - // We're going to inject a fake input element with a specified name - var form = document.createElement("div"), - id = "script" + (new Date()).getTime(), - root = document.documentElement; - - form.innerHTML = ""; - - // Inject it into the root element, check its status, and remove it quickly - root.insertBefore( form, root.firstChild ); - - // The workaround has to do additional checks after a getElementById - // Which slows things down for other browsers (hence the branching) - if ( document.getElementById( id ) ) { - Expr.find.ID = function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - - return m ? - m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? - [m] : - undefined : - []; - } - }; - - Expr.filter.ID = function( elem, match ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - - return elem.nodeType === 1 && node && node.nodeValue === match; - }; - } - - root.removeChild( form ); - - // release memory in IE - root = form = null; -})(); - -(function(){ - // Check to see if the browser returns only elements - // when doing getElementsByTagName("*") - - // Create a fake element - var div = document.createElement("div"); - div.appendChild( document.createComment("") ); - - // Make sure no comments are found - if ( div.getElementsByTagName("*").length > 0 ) { - Expr.find.TAG = function( match, context ) { - var results = context.getElementsByTagName( match[1] ); - - // Filter out possible comments - if ( match[1] === "*" ) { - var tmp = []; - - for ( var i = 0; results[i]; i++ ) { - if ( results[i].nodeType === 1 ) { - tmp.push( results[i] ); - } - } - - results = tmp; - } - - return results; - }; - } - - // Check to see if an attribute returns normalized href attributes - div.innerHTML = ""; - - if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && - div.firstChild.getAttribute("href") !== "#" ) { - - Expr.attrHandle.href = function( elem ) { - return elem.getAttribute( "href", 2 ); - }; - } - - // release memory in IE - div = null; -})(); - -if ( document.querySelectorAll ) { - (function(){ - var oldSizzle = Sizzle, - div = document.createElement("div"), - id = "__sizzle__"; - - div.innerHTML = "

"; - - // Safari can't handle uppercase or unicode characters when - // in quirks mode. - if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { - return; - } - - Sizzle = function( query, context, extra, seed ) { - context = context || document; - - // Only use querySelectorAll on non-XML documents - // (ID selectors don't work in non-HTML documents) - if ( !seed && !Sizzle.isXML(context) ) { - // See if we find a selector to speed up - var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); - - if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { - // Speed-up: Sizzle("TAG") - if ( match[1] ) { - return makeArray( context.getElementsByTagName( query ), extra ); - - // Speed-up: Sizzle(".CLASS") - } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { - return makeArray( context.getElementsByClassName( match[2] ), extra ); - } - } - - if ( context.nodeType === 9 ) { - // Speed-up: Sizzle("body") - // The body element only exists once, optimize finding it - if ( query === "body" && context.body ) { - return makeArray( [ context.body ], extra ); - - // Speed-up: Sizzle("#ID") - } else if ( match && match[3] ) { - var elem = context.getElementById( match[3] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id === match[3] ) { - return makeArray( [ elem ], extra ); - } - - } else { - return makeArray( [], extra ); - } - } - - try { - return makeArray( context.querySelectorAll(query), extra ); - } catch(qsaError) {} - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - var oldContext = context, - old = context.getAttribute( "id" ), - nid = old || id, - hasParent = context.parentNode, - relativeHierarchySelector = /^\s*[+~]/.test( query ); - - if ( !old ) { - context.setAttribute( "id", nid ); - } else { - nid = nid.replace( /'/g, "\\$&" ); - } - if ( relativeHierarchySelector && hasParent ) { - context = context.parentNode; - } - - try { - if ( !relativeHierarchySelector || hasParent ) { - return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); - } - - } catch(pseudoError) { - } finally { - if ( !old ) { - oldContext.removeAttribute( "id" ); - } - } - } - } - - return oldSizzle(query, context, extra, seed); - }; - - for ( var prop in oldSizzle ) { - Sizzle[ prop ] = oldSizzle[ prop ]; - } - - // release memory in IE - div = null; - })(); -} - -(function(){ - var html = document.documentElement, - matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; - - if ( matches ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9 fails this) - var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), - pseudoWorks = false; - - try { - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( document.documentElement, "[test!='']:sizzle" ); - - } catch( pseudoError ) { - pseudoWorks = true; - } - - Sizzle.matchesSelector = function( node, expr ) { - // Make sure that attribute selectors are quoted - expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); - - if ( !Sizzle.isXML( node ) ) { - try { - if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { - var ret = matches.call( node, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || !disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9, so check for that - node.document && node.document.nodeType !== 11 ) { - return ret; - } - } - } catch(e) {} - } - - return Sizzle(expr, null, null, [node]).length > 0; - }; - } -})(); - -(function(){ - var div = document.createElement("div"); - - div.innerHTML = "
"; - - // Opera can't find a second classname (in 9.6) - // Also, make sure that getElementsByClassName actually exists - if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { - return; - } - - // Safari caches class attributes, doesn't catch changes (in 3.2) - div.lastChild.className = "e"; - - if ( div.getElementsByClassName("e").length === 1 ) { - return; - } - - Expr.order.splice(1, 0, "CLASS"); - Expr.find.CLASS = function( match, context, isXML ) { - if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { - return context.getElementsByClassName(match[1]); - } - }; - - // release memory in IE - div = null; -})(); - -function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 && !isXML ){ - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( elem.nodeName.toLowerCase() === cur ) { - match = elem; - break; - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 ) { - if ( !isXML ) { - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( typeof cur !== "string" ) { - if ( elem === cur ) { - match = true; - break; - } - - } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { - match = elem; - break; - } - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -if ( document.documentElement.contains ) { - Sizzle.contains = function( a, b ) { - return a !== b && (a.contains ? a.contains(b) : true); - }; - -} else if ( document.documentElement.compareDocumentPosition ) { - Sizzle.contains = function( a, b ) { - return !!(a.compareDocumentPosition(b) & 16); - }; - -} else { - Sizzle.contains = function() { - return false; - }; -} - -Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; - - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -var posProcess = function( selector, context ) { - var match, - tmpSet = [], - later = "", - root = context.nodeType ? [context] : context; - - // Position selectors must be done after the filter - // And so must :not(positional) so we move all PSEUDOs to the end - while ( (match = Expr.match.PSEUDO.exec( selector )) ) { - later += match[0]; - selector = selector.replace( Expr.match.PSEUDO, "" ); - } - - selector = Expr.relative[selector] ? selector + "*" : selector; - - for ( var i = 0, l = root.length; i < l; i++ ) { - Sizzle( selector, root[i], tmpSet ); - } - - return Sizzle.filter( later, tmpSet ); -}; - -// EXPOSE -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.filters; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})(); - - -var runtil = /Until$/, - rparentsprev = /^(?:parents|prevUntil|prevAll)/, - // Note: This RegExp should be improved, or likely pulled from Sizzle - rmultiselector = /,/, - isSimple = /^.[^:#\[\.,]*$/, - slice = Array.prototype.slice, - POS = jQuery.expr.match.POS, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var self = this, - i, l; - - if ( typeof selector !== "string" ) { - return jQuery( selector ).filter(function() { - for ( i = 0, l = self.length; i < l; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }); - } - - var ret = this.pushStack( "", "find", selector ), - length, n, r; - - for ( i = 0, l = this.length; i < l; i++ ) { - length = ret.length; - jQuery.find( selector, this[i], ret ); - - if ( i > 0 ) { - // Make sure that the results are unique - for ( n = length; n < ret.length; n++ ) { - for ( r = 0; r < length; r++ ) { - if ( ret[r] === ret[n] ) { - ret.splice(n--, 1); - break; - } - } - } - } - } - - return ret; - }, - - has: function( target ) { - var targets = jQuery( target ); - return this.filter(function() { - for ( var i = 0, l = targets.length; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false), "not", selector); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true), "filter", selector ); - }, - - is: function( selector ) { - return !!selector && ( typeof selector === "string" ? - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }, - - closest: function( selectors, context ) { - var ret = [], i, l, cur = this[0]; - - // Array - if ( jQuery.isArray( selectors ) ) { - var match, selector, - matches = {}, - level = 1; - - if ( cur && selectors.length ) { - for ( i = 0, l = selectors.length; i < l; i++ ) { - selector = selectors[i]; - - if ( !matches[ selector ] ) { - matches[ selector ] = POS.test( selector ) ? - jQuery( selector, context || this.context ) : - selector; - } - } - - while ( cur && cur.ownerDocument && cur !== context ) { - for ( selector in matches ) { - match = matches[ selector ]; - - if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) { - ret.push({ selector: selector, elem: cur, level: level }); - } - } - - cur = cur.parentNode; - level++; - } - } - - return ret; - } - - // String - var pos = POS.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( i = 0, l = this.length; i < l; i++ ) { - cur = this[i]; - - while ( cur ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - - } else { - cur = cur.parentNode; - if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { - break; - } - } - } - } - - ret = ret.length > 1 ? jQuery.unique( ret ) : ret; - - return this.pushStack( ret, "closest", selectors ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - if ( !elem || typeof elem === "string" ) { - return jQuery.inArray( this[0], - // If it receives a string, the selector is used - // If it receives nothing, the siblings are used - elem ? jQuery( elem ) : this.parent().children() ); - } - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? - all : - jQuery.unique( all ) ); - }, - - andSelf: function() { - return this.add( this.prevObject ); - } -}); - -// A painfully simple check to see if an element is disconnected -// from a document (should be improved, where feasible). -function isDisconnected( node ) { - return !node || !node.parentNode || node.parentNode.nodeType === 11; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return jQuery.nth( elem, 2, "nextSibling" ); - }, - prev: function( elem ) { - return jQuery.nth( elem, 2, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( elem.parentNode.firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.makeArray( elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - nth: function( cur, result, dir, elem ) { - result = result || 1; - var num = 0; - - for ( ; cur; cur = cur[dir] ) { - if ( cur.nodeType === 1 && ++num === result ) { - break; - } - } - - return cur; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - - // Can't pass null or undefined to indexOf in Firefox 4 - // Set to 0 to skip string check - qualifier = qualifier || 0; - - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem, i ) { - return (elem === qualifier) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem, i ) { - return (jQuery.inArray( elem, qualifier ) >= 0) === keep; - }); -} - - - - -var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, - rtagName = /<([\w:]+)/, - rtbody = /", "" ], - legend: [ 1, "
", "
" ], - thead: [ 1, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - col: [ 2, "", "
" ], - area: [ 1, "", "" ], - _default: [ 0, "", "" ] - }; - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// IE can't serialize and - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -DefaultPackage -
-Class JqueryGrailsPlugin

-
java.lang.Object
-  DefaultPackage.JqueryGrailsPlugin
-

-
class JqueryGrailsPlugin
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Summary
- def - author -
-

-
- def - authorEmail -
-

-
- groovy.lang.GroovyClassLoader - classLoader -
-

-
- groovy.util.ConfigObject - config -
-

-
- def - dependsOn -
-

-
- def - description -
-

-
- def - doWithApplicationContext -
-

-
- def - doWithSpring -
-

-
- def - documentation -
-

-
- def - jQuerySources -
-

-
- def - jQueryVersion -
-

-
- def - title -
-

-
- def - version -
-

-
-   - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JqueryGrailsPlugin() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - -
- Property Detail
- -

author

-
def author
-
-
-
-

-

-
- -

authorEmail

-
def authorEmail
-
-
-
-

-

-
- -

classLoader

-
groovy.lang.GroovyClassLoader classLoader
-
-
-
-

-

-
- -

config

-
groovy.util.ConfigObject config
-
-
-
-

-

-
- -

dependsOn

-
def dependsOn
-
-
-
-

-

-
- -

description

-
def description
-
-
-
-

-

-
- -

doWithApplicationContext

-
def doWithApplicationContext
-
-
-
-

-

-
- -

doWithSpring

-
def doWithSpring
-
-
-
-

-

-
- -

documentation

-
def documentation
-
-
-
-

-

-
- -

jQuerySources

-
def jQuerySources
-
-
-
-

-

-
- -

jQueryVersion

-
def jQueryVersion
-
-
-
-

-

-
- -

title

-
def title
-
-
-
-

-

-
- -

version

-
def version
-
-
-
-

-

-
- -   - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JqueryGrailsPlugin

-
JqueryGrailsPlugin()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/DefaultPackage/package-frame.html b/docs/gapi/DefaultPackage/package-frame.html deleted file mode 100755 index 1f65c32..0000000 --- a/docs/gapi/DefaultPackage/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -DefaultPackage - - - - - - - - - - - -DefaultPackage - - - - - - - - -
-Classes  -
JqueryGrailsPlugin
- - - - - - - - - diff --git a/docs/gapi/DefaultPackage/package-summary.html b/docs/gapi/DefaultPackage/package-summary.html deleted file mode 100755 index c519279..0000000 --- a/docs/gapi/DefaultPackage/package-summary.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -DefaultPackage (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package DefaultPackage -

- - - -

 

- - - - - - - - - - - - - - - -
- Class Summary
JqueryGrailsPlugin
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/allclasses-frame.html b/docs/gapi/allclasses-frame.html deleted file mode 100755 index b8dcf57..0000000 --- a/docs/gapi/allclasses-frame.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -All Classes - - - - - - - - - -All Classes - -
- - - - - -
- - -JQTagLibTests -
-JQueryConfig -
-JQueryConfig -
-JQueryProvider -
-JQueryResourceTagLib -
-JQueryResourceTagLibTests -
-JQueryService -
-JQueryServiceTests -
-JQueryTagLib -
-JqueryGrailsPlugin -
-_Install -
-_Uninstall -
-_Upgrade -
- - -
- - - diff --git a/docs/gapi/deprecated-list.html b/docs/gapi/deprecated-list.html deleted file mode 100755 index 21cf50f..0000000 --- a/docs/gapi/deprecated-list.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -Deprecated API (grails-jquery) - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - -
-
-

Deprecated API

-
-
- - - - - - - - - - - - - -
-

Groovy Documentation

-
- - diff --git a/docs/gapi/grails-app/conf/JQueryConfig.html b/docs/gapi/grails-app/conf/JQueryConfig.html deleted file mode 100755 index 5027d8c..0000000 --- a/docs/gapi/grails-app/conf/JQueryConfig.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - -JQueryConfig (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -grails-app.conf -
-Class JQueryConfig

-
java.lang.Object
-  grails-app.conf.JQueryConfig
-

-
class JQueryConfig
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryConfig() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryConfig

-
JQueryConfig()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/grails-app/conf/package-frame.html b/docs/gapi/grails-app/conf/package-frame.html deleted file mode 100755 index 02c9768..0000000 --- a/docs/gapi/grails-app/conf/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -grails-app.conf - - - - - - - - - - - -grails-app.conf - - - - - - - - -
-Classes  -
JQueryConfig
- - - - - - - - - diff --git a/docs/gapi/grails-app/conf/package-summary.html b/docs/gapi/grails-app/conf/package-summary.html deleted file mode 100755 index 5036a89..0000000 --- a/docs/gapi/grails-app/conf/package-summary.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -grails-app.conf (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package grails-app.conf -

- - - -

 

- - - - - - - - - - - - - - - -
- Class Summary
JQueryConfig
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/grails-app/services/JQueryService.html b/docs/gapi/grails-app/services/JQueryService.html deleted file mode 100755 index 37ff742..0000000 --- a/docs/gapi/grails-app/services/JQueryService.html +++ /dev/null @@ -1,537 +0,0 @@ - - - - - - - - - -JQueryService (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -grails-app.services -
-Class JQueryService

-
java.lang.Object
-  grails-app.services.JQueryService
-

-
class JQueryService
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Summary
- def - checkPath -
-

-
- def - cleanPath -
-

-
- java.lang.String - coreSuffix -
-

-
- java.lang.String - cssDefault -
-

-
- java.lang.String - cssFolder -
-

-
- def - exist -
-

-
- def - existPath -
-

-
- def - grailsApplication -
-

-
- java.lang.String - jsFolder -
-

-
- java.lang.String - minExt -
-

-
- java.lang.String - minFolder -
-

-
- def - pathChecked -
-

-
- def - pathWhichDoNotExist -
-

-
- boolean - transactional -
-

-
-   - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryService() -
-

-
-   - - - - - - - - - - - - - - - - -
- Method Summary
- void - - afterPropertiesSet() -
-

-
-   - - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - -
- Property Detail
- -

checkPath

-
def checkPath
-
-
-
-

-

-
- -

cleanPath

-
def cleanPath
-
-
-
-

-

-
- -

coreSuffix

-
java.lang.String coreSuffix
-
-
-
-

-

-
- -

cssDefault

-
java.lang.String cssDefault
-
-
-
-

-

-
- -

cssFolder

-
java.lang.String cssFolder
-
-
-
-

-

-
- -

exist

-
def exist
-
-
-
-

-

-
- -

existPath

-
def existPath
-
-
-
-

-

-
- -

grailsApplication

-
def grailsApplication
-
-
-
-

-

-
- -

jsFolder

-
java.lang.String jsFolder
-
-
-
-

-

-
- -

minExt

-
java.lang.String minExt
-
-
-
-

-

-
- -

minFolder

-
java.lang.String minFolder
-
-
-
-

-

-
- -

pathChecked

-
def pathChecked
-
-
-
-

-

-
- -

pathWhichDoNotExist

-
def pathWhichDoNotExist
-
-
-
-

-

-
- -

transactional

-
boolean transactional
-
-
-
-

-

-
- -   - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryService

-
JQueryService()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- afterPropertiesSet

-
void afterPropertiesSet()
-
-
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/grails-app/services/package-frame.html b/docs/gapi/grails-app/services/package-frame.html deleted file mode 100755 index b79f4ad..0000000 --- a/docs/gapi/grails-app/services/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -grails-app.services - - - - - - - - - - - -grails-app.services - - - - - - - - -
-Classes  -
JQueryService
- - - - - - - - - diff --git a/docs/gapi/grails-app/services/package-summary.html b/docs/gapi/grails-app/services/package-summary.html deleted file mode 100755 index 7172072..0000000 --- a/docs/gapi/grails-app/services/package-summary.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -grails-app.services (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package grails-app.services -

- - - -

 

- - - - - - - - - - - - - - - -
- Class Summary
JQueryService
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/grails-app/taglib/JQueryResourceTagLib.html b/docs/gapi/grails-app/taglib/JQueryResourceTagLib.html deleted file mode 100755 index 5f694a9..0000000 --- a/docs/gapi/grails-app/taglib/JQueryResourceTagLib.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - - - -JQueryResourceTagLib (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -grails-app.taglib -
-Class JQueryResourceTagLib

-
java.lang.Object
-  grails-app.taglib.JQueryResourceTagLib
-

-
class JQueryResourceTagLib
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Summary
- def - addResource -
-

-
- JQueryService - jQueryService -
-

-
- static def - namespace -
-

-
- def - resource -
-

Include JavaScript and CSS resources in the head. - -- attrs.components = comma separated list of ui components to include - -- attrs.effects = comma separated list of effects to include - -- attrs.theme = css theme to use, defaults to 'base' - -- attrs.mode = javascript packing to use.

-
-   - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryResourceTagLib() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - -
- Property Detail
- -

addResource

-
def addResource
-
-
-
-

-

-
- -

jQueryService

-
JQueryService jQueryService
-
-
-
-

-

-
- -

namespace

-
static def namespace
-
-
-
-

-

-
- -

resource

-
def resource
-
-
Include JavaScript and CSS resources in the head. - -- attrs.components = comma separated list of ui components to include - -- attrs.effects = comma separated list of effects to include - -- attrs.theme = css theme to use, defaults to 'base' - -- attrs.mode = javascript packing to use. Can be 'min' (default), - 'packed' or 'normal' - -
-

-

-
- -   - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryResourceTagLib

-
JQueryResourceTagLib()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/grails-app/taglib/JQueryTagLib.html b/docs/gapi/grails-app/taglib/JQueryTagLib.html deleted file mode 100755 index e66644c..0000000 --- a/docs/gapi/grails-app/taglib/JQueryTagLib.html +++ /dev/null @@ -1,523 +0,0 @@ - - - - - - - - - -JQueryTagLib (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -grails-app.taglib -
-Class JQueryTagLib

-
java.lang.Object
-  grails-app.taglib.JQueryTagLib
-

-
class JQueryTagLib
-
-
- -

-

author:
Sergey Nebolsin (nebolsin@prophotos.ru) -
author:
Finn Herpich (finn.herpich marfinn-software de) -
-

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Summary
- private groovy.lang.GroovyClassLoader - classLoader -
-

-
- groovy.util.ConfigObject - config -
-

-
- def - fieldValue -
-

Creates a jQuery-function which returns the value of the specified element - - -

-
- def - jQueryConfig -
-

-
- def - jQuerySources -
-

-
- def - jQueryVersion -
-

-
- def - jquery -
-

Adds the jQuery().ready function to the code - - - -

-
- static def - namespace -
-

-
- def - plugin -
-

Includes a plugin javascript file - - -

-
- def - toggle -
-

Simple tag to make an element toggleable - - - sourceId -> link-element which fires the toggle action - targetId -> id of the element to toggle - event -> event to fire the toggle action on (OPTIONAL) - speed -> effect-speed (OPTIONAL) -

-
- def - toggleelement -
-

-
-   - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryTagLib() -
-

-
-   - - - - - - - - - - - - - - - - -
- Method Summary
- void - - setApplicationContext(ApplicationContext applicationContext) -
-

Well, set the application context... -

-
-   - - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - -
- Property Detail
- -

classLoader

-
private groovy.lang.GroovyClassLoader classLoader
-
-
-
-

-

-
- -

config

-
groovy.util.ConfigObject config
-
-
-
-

-

-
- -

fieldValue

-
def fieldValue
-
-
Creates a jQuery-function which returns the value of the specified element - -
param:
attrs Must contain either an attribute selector or elementId that specifies the target element -
-
-

-

-
- -

jQueryConfig

-
def jQueryConfig
-
-
-
-

-

-
- -

jQuerySources

-
def jQuerySources
-
-
-
-

-

-
- -

jQueryVersion

-
def jQueryVersion
-
-
-
-

-

-
- -

jquery

-
def jquery
-
-
Adds the jQuery().ready function to the code - -
param:
attrs No use -
param:
body The javascript code to execute -
-
-

-

-
- -

namespace

-
static def namespace
-
-
-
-

-

-
- -

plugin

-
def plugin
-
-
Includes a plugin javascript file - -
param:
attrs A plugin to use -
-
-

-

-
- -

toggle

-
def toggle
-
-
Simple tag to make an element toggleable - -
param:
attrs List with the arguments - sourceId -> link-element which fires the toggle action - targetId -> id of the element to toggle - event -> event to fire the toggle action on (OPTIONAL) - speed -> effect-speed (OPTIONAL) -
-
-

-

-
- -

toggleelement

-
def toggleelement
-
-
-
-

-

-
- -   - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryTagLib

-
JQueryTagLib()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- setApplicationContext

-
public void setApplicationContext(ApplicationContext applicationContext)
-
-
Well, set the application context... - -
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/grails-app/taglib/package-frame.html b/docs/gapi/grails-app/taglib/package-frame.html deleted file mode 100755 index 3197395..0000000 --- a/docs/gapi/grails-app/taglib/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -grails-app.taglib - - - - - - - - - - - -grails-app.taglib - - - - - - - - -
-Classes  -
JQueryResourceTagLib
JQueryTagLib
- - - - - - - - - diff --git a/docs/gapi/grails-app/taglib/package-summary.html b/docs/gapi/grails-app/taglib/package-summary.html deleted file mode 100755 index 0849ff3..0000000 --- a/docs/gapi/grails-app/taglib/package-summary.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -grails-app.taglib (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package grails-app.taglib -

- - - -

 

- - - - - - - - - - - - - - - - - - - - - -
- Class Summary
JQueryResourceTagLib
JQueryTagLib - -
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/groovy.ico b/docs/gapi/groovy.ico deleted file mode 100755 index 9e9b8d81a21db6c99daf3cd76320407a45a1b0d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9662 zcmeHMd0fuv7JqxQju}i0qd^U!MD}4y`@Ygb`=*7`UX+R!T9s1LN(PmZrHyQnjA76e zm5NdsJC$|ZJI1-^{HC}2zOUEFa_`(f?$77z`Tc(H^PJ~<&U4Or&hv}K62gBoXR`2r zan_zmEY>I%izSJ`S1daOz5oC9UKS9--fV<0ALt$Z_P=%!r~Zhc2vGzr|91!lgklfq zp5D=K)Q9@gn7>mWvM2GFh)_l74;t9t@T)IBcM=^n-20nRUj~0OYIw-kBZv8q9RB(8 zA%h243keA=!G6v?pfNO-WRR@?)a+>X(z7LNr_P>IJw-;ML1Ln4hq&m-m)N&^>}ZjrUymFbjJlek3>SnQ$wH9K|D+zY z)`JmJLk17jm6iqVB(1(T$40k$!W6Okv7^8Ihv-+sONW2)nKjDf=pofJ$EWryvWrOne!{Y|B*%v@ zkeS%|z3j9GGpCGOuJWB!m&#JL8s*fWSGq-sVEp3_Fu%O_ zPtM5KrnMAoZj}8su#a^M>W2D|E~GcDi9vY^C`7uoj~z4OHpY7)o824d<3B{$o$C5ngliRr;}riv|Iq&(}X`WpK-m2Dx6uXA&M8>bI> zPkN9~nO`Xc<1^Wyl^^p@@k!$vF(!5+Z;A(sY074oUElr zijDFKey_C(Vi}uQH0)=5=50L4mnk19rmTUv!A>CKVGh$>mx7F&8O#Z=2e~*OAXyZ% zZ&qW~IB}g~|rkE{a$3d6Gx` zNIw7E6vLEDrI(w)WOJ=|!%_$4t#by0qp1Sr(HxYADM#oQCxYaHX|>}{unEbSp$u)xfhSr*F+b7-vbej|Cz~ml&o6uae-bPj1 zK_xY?TU>O+3*4s-khdLz>Lo!JTX~-30!JhHmr7CY&s4XEGX6k&sUX{v{287WZ*oWb z&P84nH55EKXf?H9?# zEwk6DlTTa)nt9Po9KFr&7i?Jh26ys%T6cbX(lc=~tlS3QN4djf)R9{kL1Q>;Ky`^i zw8!lUW50TW^@|>IS49j!@LU7?_Z#MFs@!CVbr{)B=U@UX!J379k>BqrCMH{G^Kh6S z?!xS6g1Ga)o9Sc4GnRamzYh}!xGxX~&HNacgf%SIuFH@#?P>fzB&4%&`YbO?^?xYF zc>a^}J=Kns?YsmMhCMLfloAT!!%JJO3OZST_G6eFc zxThRQd6?Fe18FBC9vOoChxDd(r#g$`MmfpM`UN}bAGZv1Zc<40XZA^|rKmRKw?E}WZVr;R`fv2%aFLDm;_1shj&na1*Mee< zGlsk6@TVG^e0sX%_KE#=sLCwN`Rcp)E2ReUaFVn$cq6_!9H^$0 zi}zvb3CgY9n77uMsVT^|oc{bRKmQrh;_Z0uv_aBJ2yXtu8{CX4tk*AZqBW;{MgAkm z{^ZLX+fhrg{5JdX^LgKA4u3i;sqF}dS<>RSkw4Yb{Qkp^@-*JRV*T<4&fY~aBPf1# z4r~HR3muTcJxJP052UU2!Qx^bIJTAd84lQ&u&nJc13QdW0>6I5pW>J5QI)I^m@`%U z8GgHNZe@--(OFHYjGx+1bgzp^Y|_ZyZz%|BBZ?% zEH|y=8Mm@H3qo;R(5)(F{b()h(XYsND6Z(-q+PfXl&rLCzMnC14|1nEl)rvpEs&Wo zC}W-NEsGfU4%!1a=N5`#`_?jMo&At|^xbn1-SHzhC5D52WMD6r#RNm}+5HfE_h*5K zx%Crx=B4!Z=Zp2*EciA^YJK*!idqc0H=^ zMb>rnr~Nx2JbP=O5w$lPvRcmd%HYV`@vsh(?_C1d)^f0@!MH`+W8Qg*-=Df?ONr6G z`>yjND>KASw;;~7TP4EnCGEv}`xC(CLLLO(sDPY@^^o6r6$&~Vd656;D(q-H3n>*v zu&Hn-#N};&6ZzSYTwVyl*Z; zvl$BS)Iok*HSB4*2>Gp-VDHUZIPkFX-+iz@zl{ATw*c+1vEwY*p3ei_{qdl_(d&_c z(##jLCCBR`ufBdiVQmStk|^5j-szIy-Ab{ny*mnQt9C(B`%iH2Q4^GOU5C={7AX4! zAUUPo*P#gYF1S|@-nGSGT$TbVX~D0IbQZMeDa?pR?zGJFI zPWgCWFeumvuICFN@6Kf?>%0c#-K}us@r{oL$vM>30!0rRA-bso%#Ngk`nFIovDUh5 zqCWTRXM+YTK+^B~{gCuzA53%$Ka}coS0~#2xxywtFx(pt-WT@4-n(^h1m`@C{Et6w zgA-5Mq2fJo0>{ue8h@m-1rFVBg3V2pU{Rh9npht$aa&Svu08(-o)_hj2ko^2^Cgjd z$Hgv5@<=F8_q}Jb(X&&2qYo^~i2;|YT-ecm5su;972R!c@^L$ydeYI0O1x+Aw5R3z z?G)-s{VTfK;Mk)UD8ADG;WdZBv?K*IvO-^5x){~k=*xECUPau;BR-TnqZ)pX6D~>i z3_hCf`@}cd_nKU!2WVx6fn`}5tg9)5J-2G1qO%oFb+^Om#~pAQxpGkT_ z^dx;Bq0iiHWb(iB$(^t`KMr(K);x8z(Q0rol)r+1<5`H4e~jH3?p*(|46`MbESk;V6ZC+EDxoF_xXL0*nArDeyxSW51OH}vkgvnp*{@o9-mJmU>Je&{b{u(p;^}$w)C5zjsoO|CE0};;12%8e}!LEX6Cg zJk95M(pJA3y*TgZ3JHFowJnT^4fC>8u&c-hr>Y$AIJXzPf8GaPsGG}=d0>C?2e2&9 z028dW^>U&?Gkx7_ix`jVK90IA`0b$GMo*T`RbmLrGu+=sIP-t1mc1*&QLZ@2qoj0; z=gVDNyy|_Dd>VB(`8`v_HBrWIDH^zEXzo}KT0d++tOw2P^`Mp!0_v$juT2wuZ+ZmV zRR^swxVOeZr^C%mWsTUF5fVs_>Vl8*_4ibey*0>667y_mVZ7_5y>YI;=f>tN*Dltf6ZcrQ2P=S1hw5*2vXaI z2B!8D8kX8n)Pq`VSRpJH4rAI^)GD%AOe@A>p%^C9FfCS;D2}NtdD?+J@3C#8-#?&b z}m;ecO8UN5KQ>Jqlv%!?72H3NiMBSBihO MWNGZjTrAeV03kgoZ~y=R diff --git a/docs/gapi/help-doc.html b/docs/gapi/help-doc.html deleted file mode 100755 index ff96e99..0000000 --- a/docs/gapi/help-doc.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - -API Help (grails-jquery) - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - -
-
-

-How This API Document Is Organized

-
-This API (Application Programming Interface) document has pages -corresponding to the items in the navigation bar, described as follows.

-Overview

-
- -

-The Overview -page is the front page of this API document and provides a list of all -packages with a summary for each. This page can also contain an overall -description of the set of packages.

-

-Package

-
- -

-Each package has a page that contains a list of its classes and -interfaces, with a summary for each. This page can contain four -categories:

    -
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
-
-

-Class/Interface

-
- -

-Each class, interface, nested class and nested interface has its own -separate page. Each of these pages has three sections consisting of a -class/interface description, summary tables, and detailed member -descriptions:

    -
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description -

    -

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary -

    -

  • Field Detail
  • Constructor Detail
  • Method Detail
-Each summary entry contains the first sentence from the detailed -description for that item. The summary entries are alphabetical, while -the detailed descriptions are in the order they appear in the source -code. This preserves the logical groupings established by the -programmer.
- -

Annotation Type

-
- -

-Each annotation type has its own separate page with the following sections:

    -
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
-
- -

Enum

-
- -

-Each enum has its own separate page with the following sections:

    -
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
-
-

Tree (Class Hierarchy)

-
-There is a Class Hierarchy -page for all packages, plus a hierarchy for each package. Each -hierarchy page contains a list of classes and a list of interfaces. The -classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    -
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-
-

Deprecated API

-
-The Deprecated API -page lists all of the parts of the API that have been deprecated. A deprecated API -is not recommended for use, generally due to improvements, and a -replacement API is usually given. Deprecated APIs may be removed in -future implementations.
-

-Index

-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-

-Prev/Next

-These links take you to the next or previous class, interface, package, or related page.

-Frames/No Frames

-These links show and hide the HTML frames. All pages are available with or without frames. -

-

- -

Constant Field Values

-The Constant Field Values page lists the static final fields and their values. -

- - -This help file applies to API documentation generated using the standard doclet. - -
-


- -

Groovy Documentation

-
- - \ No newline at end of file diff --git a/docs/gapi/index-all.html b/docs/gapi/index-all.html deleted file mode 100755 index 8f90081..0000000 --- a/docs/gapi/index-all.html +++ /dev/null @@ -1,619 +0,0 @@ - - - - - -Index (grails-jquery) - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -A - -B - -C - -D - -E - -F - -G - -H - -I - -J - -K - -L - -M - -N - -O - -P - -Q - -R - -S - -T - -U - -V - -W - -X - -Y - -Z - -_ - - - - -
-

-A

- -
- - - -
-

-B

- -
- -
addResource - Property in JQueryResourceTagLib -
-
afterPropertiesSet() - Method in JQueryService -
-
author - Property in JqueryGrailsPlugin -
-
authorEmail - Property in JqueryGrailsPlugin -
-
- - - -
-

-C

- -
- -
checkPath - Property in JQueryService -
-
classLoader - Property in JqueryGrailsPlugin -
-
classLoader - Property in JQueryTagLib -
-
cleanPath - Property in JQueryService -
-
config - Property in JqueryGrailsPlugin -
-
config - Property in JQueryTagLib -
-
coreSuffix - Property in JQueryService -
-
cssDefault - Property in JQueryService -
-
cssFolder - Property in JQueryService -
-
- - - -
-

-D

- -
- -
buildCallback(def, def) - Method in JQueryProvider -
Helper method to create callback object - - - -
-
- -
defaultPlugins - Property in JQueryConfig -
-
dependsOn - Property in JqueryGrailsPlugin -
-
description - Property in JqueryGrailsPlugin -
-
documentation - Property in JqueryGrailsPlugin -
-
doRemoteFunction(def, def, def) - Method in JQueryProvider -
doRemoteFunction creates a jQuery-AJAX-Call - - - - - - -
-
doWithApplicationContext - Property in JqueryGrailsPlugin -
-
doWithSpring - Property in JqueryGrailsPlugin -
-
- - - -
-

-E

- -
- -
exist - Property in JQueryService -
-
existPath - Property in JQueryService -
-
- - - -
-

-F

- -
- -
fieldValue - Property in JQueryTagLib -
Creates a jQuery-function which returns the value of the specified element - - -
-
- - - -
-

-G

- -
- -
grailsApplication - Property in JQueryService -
-
- - - -
-

-H

- -
- -
- - - -
-

-I

- -
- -
init() - Method in JQueryConfig -
-
- - - -
-

-J

- -
- -
JQTagLibTests - Class in test.unit -
-
JQTagLibTests() - Constructor in JQTagLibTests -
-
jquery - Property in JQueryTagLib -
Adds the jQuery().ready function to the code - - - -
-
JQueryConfig - Class in src.groovy.org.codehaus.groovy.grails.plugins.jquery -
TODO: write javadoc - - -
-
JQueryConfig() - Constructor in JQueryConfig -
-
jQueryConfig - Property in JQueryTagLib -
-
JqueryGrailsPlugin - Class in DefaultPackage -
-
JqueryGrailsPlugin() - Constructor in JqueryGrailsPlugin -
-
JQueryProvider - Class in src.groovy.org.codehaus.groovy.grails.plugins.jquery -
- -
-
JQueryProvider() - Constructor in JQueryProvider -
-
JQueryResourceTagLib - Class in grails-app.taglib -
-
JQueryResourceTagLib() - Constructor in JQueryResourceTagLib -
-
JQueryResourceTagLibTests - Class in test.unit -
-
JQueryResourceTagLibTests() - Constructor in JQueryResourceTagLibTests -
-
JQueryService - Class in grails-app.services -
-
jQueryService - Property in JQueryResourceTagLib -
-
JQueryService() - Constructor in JQueryService -
-
JQueryServiceTests - Class in test.unit -
-
JQueryServiceTests() - Constructor in JQueryServiceTests -
-
jQuerySources - Property in JqueryGrailsPlugin -
-
jQuerySources - Property in JQueryTagLib -
-
JQueryTagLib - Class in grails-app.taglib -
- -
-
JQueryTagLib() - Constructor in JQueryTagLib -
-
jQueryVersion - Property in JqueryGrailsPlugin -
-
jQueryVersion - Property in JQueryTagLib -
-
jsFolder - Property in JQueryService -
-
- - - -
-

-K

- -
- -
- - - -
-

-L

- -
- -
- - - -
-

-M

- -
- -
minExt - Property in JQueryService -
-
minFolder - Property in JQueryService -
-
- - - -
-

-N

- -
- -
namespace - Property in JQueryResourceTagLib -
-
namespace - Property in JQueryTagLib -
-
- - - -
-

-O

- -
- -
- - - -
-

-P

- -
- -
pathChecked - Property in JQueryService -
-
pathWhichDoNotExist - Property in JQueryService -
-
plugin - Property in JQueryTagLib -
Includes a plugin javascript file - - -
-
plugins - Property in JQueryConfig -
-
prepareAjaxForm(def) - Method in JQueryProvider -
success - out << 'success:function(data,textStatus){' - - if(attrs.onLoaded) - out << "${attrs.onLoaded};" - - if(attrs.update instanceof Map) { - if(attrs.update?.
-
- - - -
-

-Q

- -
- -
- - - -
-

-R

- -
- -
resource - Property in JQueryResourceTagLib -
Include JavaScript and CSS resources in the head. - -- attrs.components = comma separated list of ui components to include - -- attrs.effects = comma separated list of effects to include - -- attrs.theme = css theme to use, defaults to 'base' - -- attrs.mode = javascript packing to use.
-
- - - -
-

-S

- -
- -
setApplicationContext(ApplicationContext) - Method in JQueryTagLib -
Well, set the application context... -
-
setUp() - Method in JQTagLibTests -
-
setUp() - Method in JQueryResourceTagLibTests -
-
setUp() - Method in JQueryServiceTests -
-
- - - -
-

-T

- -
- -
tearDown() - Method in JQTagLibTests -
-
tearDown() - Method in JQueryResourceTagLibTests -
-
tearDown() - Method in JQueryServiceTests -
-
testSomething() - Method in JQTagLibTests -
-
testSomething() - Method in JQueryResourceTagLibTests -
-
testSomething() - Method in JQueryServiceTests -
-
title - Property in JqueryGrailsPlugin -
-
toggle - Property in JQueryTagLib -
Simple tag to make an element toggleable - - - sourceId -> link-element which fires the toggle action - targetId -> id of the element to toggle - event -> event to fire the toggle action on (OPTIONAL) - speed -> effect-speed (OPTIONAL) -
-
toggleelement - Property in JQueryTagLib -
-
transactional - Property in JQueryService -
-
- - - -
-

-U

- -
- -
- - - -
-

-V

- -
- -
version - Property in JqueryGrailsPlugin -
-
- - - -
-

-W

- -
- -
- - - -
-

-X

- -
- -
- - - -
-

-Y

- -
- -
- - - -
-

-Z

- -
- -
- - - -
-

-_

- -
- -
_Install - Class in scripts -
-
_Install() - Constructor in _Install -
-
_Uninstall - Class in scripts -
-
_Uninstall() - Constructor in _Uninstall -
-
_Upgrade - Class in scripts -
-
_Upgrade() - Constructor in _Upgrade -
-
- - - -
-

Groovy Documentation

-
- - diff --git a/docs/gapi/index.html b/docs/gapi/index.html deleted file mode 100755 index cbe6628..0000000 --- a/docs/gapi/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -{todo.title} - - - - - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - diff --git a/docs/gapi/inherit.gif b/docs/gapi/inherit.gif deleted file mode 100755 index c814867a13deb0ca7ea2156c6ca1d5a03372af7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X diff --git a/docs/gapi/overview-frame.html b/docs/gapi/overview-frame.html deleted file mode 100755 index ab9ce20..0000000 --- a/docs/gapi/overview-frame.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -Overview (Groovy Documentation) - - - - - - - - - - - - - - -
-Groovy Documentation
- - - - - -
All Classes -

- -Packages -
- -DefaultPackage -
- -grails-app.conf -
- -grails-app.services -
- -grails-app.taglib -
- -scripts -
- -src.groovy.org.codehaus.groovy.grails.plugins.jquery -
- -test.unit -
- -

- -

-  - - diff --git a/docs/gapi/overview-summary.html b/docs/gapi/overview-summary.html deleted file mode 100755 index 1aae568..0000000 --- a/docs/gapi/overview-summary.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - -Overview (grails-jquery) - - - - - - - - -


- - - - - - - - - - - - - -
-Groovy Documentation - -
- - -
-
-

-Groovy Documentation

-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Packages
DefaultPackage
grails-app.conf
grails-app.services
grails-app.taglib
scripts
src.groovy.org.codehaus.groovy.grails.plugins.jquery
test.unit
- -

Groovy Documentation

-
- - diff --git a/docs/gapi/package-list b/docs/gapi/package-list deleted file mode 100755 index e30d264..0000000 --- a/docs/gapi/package-list +++ /dev/null @@ -1,7 +0,0 @@ -DefaultPackage -grails-app.conf -grails-app.services -grails-app.taglib -scripts -src.groovy.org.codehaus.groovy.grails.plugins.jquery -test.unit diff --git a/docs/gapi/scripts/_Install.html b/docs/gapi/scripts/_Install.html deleted file mode 100755 index f491264..0000000 --- a/docs/gapi/scripts/_Install.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - -_Install (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -scripts -
-Class _Install

-
java.lang.Object
-  scripts._Install
-

-
class _Install
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- _Install() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- _Install

-
_Install()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/scripts/_Uninstall.html b/docs/gapi/scripts/_Uninstall.html deleted file mode 100755 index ab08ddb..0000000 --- a/docs/gapi/scripts/_Uninstall.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - -_Uninstall (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -scripts -
-Class _Uninstall

-
java.lang.Object
-  scripts._Uninstall
-

-
class _Uninstall
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- _Uninstall() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- _Uninstall

-
_Uninstall()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/scripts/_Upgrade.html b/docs/gapi/scripts/_Upgrade.html deleted file mode 100755 index 48761a1..0000000 --- a/docs/gapi/scripts/_Upgrade.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - -_Upgrade (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -scripts -
-Class _Upgrade

-
java.lang.Object
-  scripts._Upgrade
-

-
class _Upgrade
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- _Upgrade() -
-

-
-   - - - - - - - - - -
- Method Summary
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- _Upgrade

-
_Upgrade()
-
-
-
-

-

-
- -   - - - - - - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/scripts/package-frame.html b/docs/gapi/scripts/package-frame.html deleted file mode 100755 index 642a86d..0000000 --- a/docs/gapi/scripts/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -scripts - - - - - - - - - - - -scripts - - - - - - - - -
-Classes  -
_Install
_Uninstall
_Upgrade
- - - - - - - - - diff --git a/docs/gapi/scripts/package-summary.html b/docs/gapi/scripts/package-summary.html deleted file mode 100755 index 983d27b..0000000 --- a/docs/gapi/scripts/package-summary.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -scripts (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package scripts -

- - - -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Class Summary
_Install
_Uninstall
_Upgrade
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.html b/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.html deleted file mode 100755 index 2582dcd..0000000 --- a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - - -JQueryConfig (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -src.groovy.org.codehaus.groovy.grails.plugins.jquery -
-Class JQueryConfig

-
java.lang.Object
-  src.groovy.org.codehaus.groovy.grails.plugins.jquery.JQueryConfig
-

-
class JQueryConfig
-
-
- -

- TODO: write javadoc - -

author:
Sergey Nebolsin (nebolsin@prophotos.ru) -
-

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property Summary
- def - defaultPlugins -
-

-
- def - plugins -
-

-
-   - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryConfig() -
-

-
-   - - - - - - - - - - - - - - - - -
- Method Summary
- def - - init() -
-

-
-   - - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - -
- Property Detail
- -

defaultPlugins

-
def defaultPlugins
-
-
-
-

-

-
- -

plugins

-
def plugins
-
-
-
-

-

-
- -   - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryConfig

-
JQueryConfig()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- init

-
public def init()
-
-
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.html b/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.html deleted file mode 100755 index 02a1faa..0000000 --- a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - -JQueryProvider (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -src.groovy.org.codehaus.groovy.grails.plugins.jquery -
-Class JQueryProvider

-
java.lang.Object
-  src.groovy.org.codehaus.groovy.grails.plugins.jquery.JQueryProvider
-

-
class JQueryProvider
-
-
- -

-

author:
Sergey Nebolsin (nebolsin@prophotos.ru) -
author:
Finn Herpich (finn.herpich marfinn-software de) -
-

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryProvider() -
-

-
-   - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Method Summary
- def - - buildCallback(def attrs, def out) -
-

Helper method to create callback object - - - -

-
- def - - doRemoteFunction(def taglib, def attrs, def out) -
-

doRemoteFunction creates a jQuery-AJAX-Call - - - - - - -

-
- def - - prepareAjaxForm(def attrs) -
-

success - out << 'success:function(data,textStatus){' - - if(attrs.onLoaded) - out << "${attrs.onLoaded};" - - if(attrs.update instanceof Map) { - if(attrs.update?.

-
-   - - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryProvider

-
JQueryProvider()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- buildCallback

-
public def buildCallback(def attrs, def out)
-
-
Helper method to create callback object - -
param:
attrs Attributes to use for the callback -
param:
out Variable to attache the output -
-
-

-

-
- -

- doRemoteFunction

-
public def doRemoteFunction(def taglib, def attrs, def out)
-
-
doRemoteFunction creates a jQuery-AJAX-Call - -
param:
taglib -
param:
attrs -
param:
out - -
return:
the jQuery-like formatted code for an AJAX-request -
-
-

-

-
- -

- prepareAjaxForm

-
public def prepareAjaxForm(def attrs)
-
-
success - out << 'success:function(data,textStatus){' - - if(attrs.onLoaded) - out << "${attrs.onLoaded};" - - if(attrs.update instanceof Map) { - if(attrs.update?.success) { - out << "jQuery('#${attrs.update.success}').html(data);" - } - } else if(attrs.update) { - out << "jQuery('#${attrs.update}').html(data);" - } - - if(attrs.onSuccess) - out << "${attrs.onSuccess};" - - out << '}' - - //*** failure - out << ',error:function(XMLHttpRequest,textStatus,errorThrown){' - - if (attrs.update instanceof Map) { - if (attrs.update?.failure) { - out << "jQuery('#${attrs.update?.failure}').html(textStatus);" - } - } - - if (attrs.onFailure) - out << "${attrs.onFailure};" - - out << '}' - - if(attrs.onComplete) - out << ",complete:function(XMLHttpRequest,textStatus){${attrs.onComplete}}" - } - - /** - Serializes the surrounding form. - -
param:
attrs attrs.params to serialize -
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-frame.html b/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-frame.html deleted file mode 100755 index 5a94503..0000000 --- a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -src.groovy.org.codehaus.groovy.grails.plugins.jquery - - - - - - - - - - - -src.groovy.org.codehaus.groovy.grails.plugins.jquery - - - - - - - - -
-Classes  -
JQueryConfig
JQueryProvider
- - - - - - - - - diff --git a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-summary.html b/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-summary.html deleted file mode 100755 index 13e7537..0000000 --- a/docs/gapi/src/groovy/org/codehaus/groovy/grails/plugins/jquery/package-summary.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - -src.groovy.org.codehaus.groovy.grails.plugins.jquery (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package src.groovy.org.codehaus.groovy.grails.plugins.jquery -

- - - -

 

- - - - - - - - - - - - - - - - - - - - - -
- Class Summary
JQueryConfig TODO: write javadoc - - -
JQueryProvider - -
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - diff --git a/docs/gapi/stylesheet.css b/docs/gapi/stylesheet.css deleted file mode 100755 index 8f77530..0000000 --- a/docs/gapi/stylesheet.css +++ /dev/null @@ -1,28 +0,0 @@ -/* Groovydoc style sheet */ - -/* Define colors, fonts and other style attributes here to override the defaults */ - -/* Page background color */ -body { background-color: #FFFFFF } - -/* Headings */ -h1 { font-size: 145% } - -/* Table colors */ -.TableHeadingColor { background: #97D0E8 } /* Dark cyan */ -.TableSubHeadingColor { background: #E0F0FF } /* Light cyan */ -.TableRowColor { background: #FFFFFF } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } -.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } -.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ -.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} \ No newline at end of file diff --git a/docs/gapi/test/unit/JQTagLibTests.html b/docs/gapi/test/unit/JQTagLibTests.html deleted file mode 100755 index 5a04f4a..0000000 --- a/docs/gapi/test/unit/JQTagLibTests.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -JQTagLibTests (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -test.unit -
-Class JQTagLibTests

-
java.lang.Object
-  junit.framework.Assert
-      junit.framework.TestCase
-          groovy.util.GroovyTestCase
-              grails.test.GrailsUnitTestCase
-                  grails.test.MvcUnitTestCase
-                      grails.test.TagLibUnitTestCase
-                          test.unit.JQTagLibTests
-

-
class JQTagLibTests
-extends grails.test.TagLibUnitTestCase
-
-
- - - - - - - - - - - - - - - - - - - -
- Field Summary
-   - - -
- Fields inherited from class grails.test.TagLibUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477065, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477008, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class grails.test.MvcUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477008, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class grails.test.GrailsUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class groovy.util.GroovyTestCase -
TEST_SCRIPT_NAME_PREFIX
-   - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQTagLibTests() -
-

-
-   - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Method Summary
- protected void - - setUp() -
-

-
- protected void - - tearDown() -
-

-
- void - - testSomething() -
-

-
-   - - - -
- Methods inherited from class grails.test.TagLibUnitTestCase -
super$1$wait, super$1$wait, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$hashCode, super$5$getMetaClass, super$5$invokeMethod, super$5$getProperty, super$3$run, super$3$run, getTagLibClass, super$5$getApplicationContext, super$4$assertArrayEquals, super$5$mockLogging, super$5$mockLogging, super$5$getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, super$5$setDomainClassesInfo, super$5$loadCodec, super$4$assertLength, super$4$assertLength, super$3$runTest, super$5$mockForConstraintsTests, super$5$mockFor, super$5$mockFor, super$4$shouldFail, super$6$$getStaticMetaClass, super$5$mockTagLib, super$6$newInstance, super$4$fixEOLs, super$5$setErrorsMap, super$5$getSavedMetaClasses, super$6$getTestClass, super$6$reset, super$4$shouldFailWithCause, super$6$setUp, super$5$setSavedMetaClasses, super$4$assertScript, super$6$tearDown, super$5$setProperty, super$5$setMetaClass, super$5$$getStaticMetaClass, super$5$mockForConstraintsTests, getTestClass, super$5$getDomainClassesInfo, super$5$mockDomain, super$5$mockDomain, super$5$registerMetaClass, super$5$setUp, super$5$mockConfig, super$5$mockController, super$5$enableCascadingValidation, super$5$setLoadedCodecs, super$5$setApplicationContext, super$5$addConverters, super$5$tearDown, super$5$getErrorsMap, setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$notify, super$1$equals, setApplicationContext, getApplicationContext, getLoadedCodecs, setDomainClassesInfo, super$4$assertLength, super$4$shouldFail, setErrorsMap, getSavedMetaClasses, setSavedMetaClasses, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class grails.test.MvcUnitTestCase -
super$1$wait, super$1$wait, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$hashCode, super$5$setProperty, super$5$getMetaClass, super$5$setMetaClass, super$5$invokeMethod, super$5$getProperty, super$5$$getStaticMetaClass, super$3$run, super$3$run, super$5$getApplicationContext, super$4$assertArrayEquals, super$5$mockLogging, super$5$mockLogging, super$5$getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, super$5$setDomainClassesInfo, super$5$loadCodec, super$4$assertLength, super$4$assertLength, super$3$runTest, super$5$mockForConstraintsTests, super$5$mockForConstraintsTests, super$5$mockFor, super$5$mockFor, super$4$shouldFail, super$5$mockTagLib, super$4$fixEOLs, super$5$setErrorsMap, super$5$getSavedMetaClasses, getTestClass, super$4$shouldFailWithCause, super$5$setSavedMetaClasses, super$4$assertScript, super$5$getDomainClassesInfo, super$5$mockDomain, super$5$mockDomain, super$5$registerMetaClass, super$5$setUp, super$5$mockConfig, super$5$mockController, super$5$enableCascadingValidation, super$5$setLoadedCodecs, super$5$setApplicationContext, super$5$addConverters, super$5$tearDown, super$5$getErrorsMap, setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$notify, super$1$equals, setApplicationContext, getApplicationContext, getLoadedCodecs, setDomainClassesInfo, super$4$assertLength, super$4$shouldFail, setErrorsMap, getSavedMetaClasses, setSavedMetaClasses, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class grails.test.GrailsUnitTestCase -
setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$wait, super$1$wait, super$1$notify, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$equals, super$1$hashCode, super$3$run, super$3$run, setApplicationContext, getApplicationContext, super$4$assertArrayEquals, getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, setDomainClassesInfo, super$4$assertLength, super$4$assertLength, super$4$assertLength, super$3$runTest, super$4$shouldFail, super$4$shouldFail, super$4$fixEOLs, setErrorsMap, getSavedMetaClasses, super$4$shouldFailWithCause, setSavedMetaClasses, super$4$assertScript, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class groovy.util.GroovyTestCase -
getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.TestCase -
run, run, toString, getName, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.Assert -
fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQTagLibTests

-
JQTagLibTests()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- setUp

-
protected void setUp()
-
-
-
-

-

-
- -

- tearDown

-
protected void tearDown()
-
-
-
-

-

-
- -

- testSomething

-
void testSomething()
-
-
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/test/unit/JQueryResourceTagLibTests.html b/docs/gapi/test/unit/JQueryResourceTagLibTests.html deleted file mode 100755 index b55404c..0000000 --- a/docs/gapi/test/unit/JQueryResourceTagLibTests.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -JQueryResourceTagLibTests (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -test.unit -
-Class JQueryResourceTagLibTests

-
java.lang.Object
-  junit.framework.Assert
-      junit.framework.TestCase
-          groovy.util.GroovyTestCase
-              grails.test.GrailsUnitTestCase
-                  grails.test.MvcUnitTestCase
-                      grails.test.TagLibUnitTestCase
-                          test.unit.JQueryResourceTagLibTests
-

-
class JQueryResourceTagLibTests
-extends grails.test.TagLibUnitTestCase
-
-
- - - - - - - - - - - - - - - - - - - -
- Field Summary
-   - - -
- Fields inherited from class grails.test.TagLibUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477065, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477008, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class grails.test.MvcUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979477008, $ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class grails.test.GrailsUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class groovy.util.GroovyTestCase -
TEST_SCRIPT_NAME_PREFIX
-   - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryResourceTagLibTests() -
-

-
-   - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Method Summary
- protected void - - setUp() -
-

-
- protected void - - tearDown() -
-

-
- void - - testSomething() -
-

-
-   - - - -
- Methods inherited from class grails.test.TagLibUnitTestCase -
super$1$wait, super$1$wait, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$hashCode, super$5$getMetaClass, super$5$invokeMethod, super$5$getProperty, super$3$run, super$3$run, getTagLibClass, super$5$getApplicationContext, super$4$assertArrayEquals, super$5$mockLogging, super$5$mockLogging, super$5$getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, super$5$setDomainClassesInfo, super$5$loadCodec, super$4$assertLength, super$4$assertLength, super$3$runTest, super$5$mockForConstraintsTests, super$5$mockFor, super$5$mockFor, super$4$shouldFail, super$6$$getStaticMetaClass, super$5$mockTagLib, super$6$newInstance, super$4$fixEOLs, super$5$setErrorsMap, super$5$getSavedMetaClasses, super$6$getTestClass, super$6$reset, super$4$shouldFailWithCause, super$6$setUp, super$5$setSavedMetaClasses, super$4$assertScript, super$6$tearDown, super$5$setProperty, super$5$setMetaClass, super$5$$getStaticMetaClass, super$5$mockForConstraintsTests, getTestClass, super$5$getDomainClassesInfo, super$5$mockDomain, super$5$mockDomain, super$5$registerMetaClass, super$5$setUp, super$5$mockConfig, super$5$mockController, super$5$enableCascadingValidation, super$5$setLoadedCodecs, super$5$setApplicationContext, super$5$addConverters, super$5$tearDown, super$5$getErrorsMap, setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$notify, super$1$equals, setApplicationContext, getApplicationContext, getLoadedCodecs, setDomainClassesInfo, super$4$assertLength, super$4$shouldFail, setErrorsMap, getSavedMetaClasses, setSavedMetaClasses, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class grails.test.MvcUnitTestCase -
super$1$wait, super$1$wait, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$hashCode, super$5$setProperty, super$5$getMetaClass, super$5$setMetaClass, super$5$invokeMethod, super$5$getProperty, super$5$$getStaticMetaClass, super$3$run, super$3$run, super$5$getApplicationContext, super$4$assertArrayEquals, super$5$mockLogging, super$5$mockLogging, super$5$getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, super$5$setDomainClassesInfo, super$5$loadCodec, super$4$assertLength, super$4$assertLength, super$3$runTest, super$5$mockForConstraintsTests, super$5$mockForConstraintsTests, super$5$mockFor, super$5$mockFor, super$4$shouldFail, super$5$mockTagLib, super$4$fixEOLs, super$5$setErrorsMap, super$5$getSavedMetaClasses, getTestClass, super$4$shouldFailWithCause, super$5$setSavedMetaClasses, super$4$assertScript, super$5$getDomainClassesInfo, super$5$mockDomain, super$5$mockDomain, super$5$registerMetaClass, super$5$setUp, super$5$mockConfig, super$5$mockController, super$5$enableCascadingValidation, super$5$setLoadedCodecs, super$5$setApplicationContext, super$5$addConverters, super$5$tearDown, super$5$getErrorsMap, setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$notify, super$1$equals, setApplicationContext, getApplicationContext, getLoadedCodecs, setDomainClassesInfo, super$4$assertLength, super$4$shouldFail, setErrorsMap, getSavedMetaClasses, setSavedMetaClasses, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class grails.test.GrailsUnitTestCase -
setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$wait, super$1$wait, super$1$notify, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$equals, super$1$hashCode, super$3$run, super$3$run, setApplicationContext, getApplicationContext, super$4$assertArrayEquals, getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, setDomainClassesInfo, super$4$assertLength, super$4$assertLength, super$4$assertLength, super$3$runTest, super$4$shouldFail, super$4$shouldFail, super$4$fixEOLs, setErrorsMap, getSavedMetaClasses, super$4$shouldFailWithCause, setSavedMetaClasses, super$4$assertScript, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class groovy.util.GroovyTestCase -
getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.TestCase -
run, run, toString, getName, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.Assert -
fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryResourceTagLibTests

-
JQueryResourceTagLibTests()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- setUp

-
protected void setUp()
-
-
-
-

-

-
- -

- tearDown

-
protected void tearDown()
-
-
-
-

-

-
- -

- testSomething

-
void testSomething()
-
-
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/test/unit/JQueryServiceTests.html b/docs/gapi/test/unit/JQueryServiceTests.html deleted file mode 100755 index e37359d..0000000 --- a/docs/gapi/test/unit/JQueryServiceTests.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - -JQueryServiceTests (Groovy Documentation) - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-Groovy Documentation -
- - - -
- -

- -test.unit -
-Class JQueryServiceTests

-
java.lang.Object
-  junit.framework.Assert
-      junit.framework.TestCase
-          groovy.util.GroovyTestCase
-              grails.test.GrailsUnitTestCase
-                  test.unit.JQueryServiceTests
-

-
class JQueryServiceTests
-extends grails.test.GrailsUnitTestCase
-
-
- - - - - - - - - - - - - - - - - - - -
- Field Summary
-   - - -
- Fields inherited from class grails.test.GrailsUnitTestCase -
$ownClass, __timeStamp, __timeStamp__239_neverHappen1260979476917, TEST_SCRIPT_NAME_PREFIX
-   - - -
- Fields inherited from class groovy.util.GroovyTestCase -
TEST_SCRIPT_NAME_PREFIX
-   - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Summary
- JQueryServiceTests() -
-

-
-   - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Method Summary
- protected void - - setUp() -
-

-
- protected void - - tearDown() -
-

-
- void - - testSomething() -
-

-
-   - - - -
- Methods inherited from class grails.test.GrailsUnitTestCase -
setProperty, getProperty, invokeMethod, getMetaClass, setMetaClass, super$1$wait, super$1$wait, super$1$wait, super$1$notify, super$1$getClass, super$1$notifyAll, super$1$finalize, super$1$clone, super$1$equals, super$1$hashCode, super$3$run, super$3$run, setApplicationContext, getApplicationContext, super$4$assertArrayEquals, getLoadedCodecs, super$4$getMethodName, super$4$assertInspect, super$4$assertToString, setDomainClassesInfo, super$4$assertLength, super$4$assertLength, super$4$assertLength, super$3$runTest, super$4$shouldFail, super$4$shouldFail, super$4$fixEOLs, setErrorsMap, getSavedMetaClasses, super$4$shouldFailWithCause, setSavedMetaClasses, super$4$assertScript, getDomainClassesInfo, setLoadedCodecs, getErrorsMap, super$4$notYetImplemented, super$3$toString, super$4$getTestClassName, super$3$setUp, super$3$runBare, super$3$createResult, super$3$setName, super$4$assertContains, super$4$assertContains, super$3$countTestCases, super$4$getName, super$3$tearDown, getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class groovy.util.GroovyTestCase -
getName, getMethodName, notYetImplemented, notYetImplemented, assertEquals, assertEquals, assertEquals, run, run, toString, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.TestCase -
run, run, toString, getName, setName, runBare, countTestCases, fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, notify, notifyAll
-   - - -
- Methods inherited from class junit.framework.Assert -
fail, fail, assertNotNull, assertNotNull, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertTrue, assertTrue, failNotEquals, assertFalse, assertFalse, assertNull, assertNull, assertSame, assertSame, assertNotSame, assertNotSame, failSame, failNotSame, wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - - -
- Methods inherited from class java.lang.Object -
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
-   - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Constructor Detail
- -

- JQueryServiceTests

-
JQueryServiceTests()
-
-
-
-

-

-
- -   - - - - - - - - - - -
- Method Detail
- -

- setUp

-
protected void setUp()
-
-
-
-

-

-
- -

- tearDown

-
protected void tearDown()
-
-
-
-

-

-
- -

- testSomething

-
void testSomething()
-
-
-
-

-

-
- -   - - - -

Groovy Documentation

-
- - - diff --git a/docs/gapi/test/unit/package-frame.html b/docs/gapi/test/unit/package-frame.html deleted file mode 100755 index dee9d74..0000000 --- a/docs/gapi/test/unit/package-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -test.unit - - - - - - - - - - - -test.unit - - - - - - - - -
-Classes  -
JQTagLibTests
JQueryResourceTagLibTests
JQueryServiceTests
- - - - - - - - - diff --git a/docs/gapi/test/unit/package-summary.html b/docs/gapi/test/unit/package-summary.html deleted file mode 100755 index 4bec2c5..0000000 --- a/docs/gapi/test/unit/package-summary.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -test.unit (grails-jquery) - - - - - - - - - - -
- - - - - - - - - - - - - -
- Groovy Documentation - -
- - - -
-

-Package test.unit -

- - - -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Class Summary
JQTagLibTests
JQueryResourceTagLibTests
JQueryServiceTests
-  -

-

-
-
- - - - - - -

Groovy Documentation

-
- - From 12422b4d77a9198eec250b893d0f7d86c4a55245 Mon Sep 17 00:00:00 2001 From: Burt Beckwith Date: Thu, 31 Oct 2013 21:15:12 -0400 Subject: [PATCH 35/48] deleted unused files --- src/docs/ref/Filters/getProperty.gdoc | 21 --------------------- src/docs/ref/Filters/invokeMethod.gdoc | 22 ---------------------- test/unit/JQueryResourceTagLibTests.groovy | 15 --------------- test/unit/JQueryServiceTests.groovy | 15 --------------- test/unit/JQueryTagLibTests.groovy | 15 --------------- 5 files changed, 88 deletions(-) delete mode 100644 src/docs/ref/Filters/getProperty.gdoc delete mode 100644 src/docs/ref/Filters/invokeMethod.gdoc delete mode 100755 test/unit/JQueryResourceTagLibTests.groovy delete mode 100755 test/unit/JQueryServiceTests.groovy delete mode 100755 test/unit/JQueryTagLibTests.groovy diff --git a/src/docs/ref/Filters/getProperty.gdoc b/src/docs/ref/Filters/getProperty.gdoc deleted file mode 100644 index 97e712c..0000000 --- a/src/docs/ref/Filters/getProperty.gdoc +++ /dev/null @@ -1,21 +0,0 @@ - -h1. getProperty - -h2. Purpose - - - -h2. Examples - -{code:java} -foo.getProperty(string) -{code} - -h2. Description - - - -Arguments: - -[* @string@ -] diff --git a/src/docs/ref/Filters/invokeMethod.gdoc b/src/docs/ref/Filters/invokeMethod.gdoc deleted file mode 100644 index eff382d..0000000 --- a/src/docs/ref/Filters/invokeMethod.gdoc +++ /dev/null @@ -1,22 +0,0 @@ - -h1. invokeMethod - -h2. Purpose - - - -h2. Examples - -{code:java} -foo.invokeMethod(string,object) -{code} - -h2. Description - - - -Arguments: - -[* @string@ -, * @object@ -] diff --git a/test/unit/JQueryResourceTagLibTests.groovy b/test/unit/JQueryResourceTagLibTests.groovy deleted file mode 100755 index aa433e6..0000000 --- a/test/unit/JQueryResourceTagLibTests.groovy +++ /dev/null @@ -1,15 +0,0 @@ -import grails.test.* - -class JQueryResourceTagLibTests extends TagLibUnitTestCase { - protected void setUp() { - super.setUp() - } - - protected void tearDown() { - super.tearDown() - } - - void testSomething() { - - } -} diff --git a/test/unit/JQueryServiceTests.groovy b/test/unit/JQueryServiceTests.groovy deleted file mode 100755 index 967694c..0000000 --- a/test/unit/JQueryServiceTests.groovy +++ /dev/null @@ -1,15 +0,0 @@ -import grails.test.* - -class JQueryServiceTests extends GrailsUnitTestCase { - protected void setUp() { - super.setUp() - } - - protected void tearDown() { - super.tearDown() - } - - void testSomething() { - - } -} diff --git a/test/unit/JQueryTagLibTests.groovy b/test/unit/JQueryTagLibTests.groovy deleted file mode 100755 index caca054..0000000 --- a/test/unit/JQueryTagLibTests.groovy +++ /dev/null @@ -1,15 +0,0 @@ -import grails.test.* - -class JQueryTagLibTests extends TagLibUnitTestCase { - protected void setUp() { - super.setUp() - } - - protected void tearDown() { - super.tearDown() - } - - void testSomething() { - - } -} From aabd85b79f7ff069a11dfdb14bc59ba82439fbc5 Mon Sep 17 00:00:00 2001 From: Burt Beckwith Date: Thu, 31 Oct 2013 21:24:23 -0400 Subject: [PATCH 36/48] cleanup --- .classpath | 17 +++++- .gitignore | 10 ++-- JqueryGrailsPlugin.groovy | 8 +-- grails-app/conf/Config.groovy | 6 +- grails-app/conf/JQueryConfig.groovy | 2 +- grails-app/conf/JQueryPluginResources.groovy | 12 ++-- grails-app/services/JQueryService.groovy | 29 +++------- grails-app/taglib/JQueryResourceTagLib.groovy | 22 ++++--- grails-app/taglib/JQueryTagLib.groovy | 39 +++++++------ scripts/InstallJQuery.groovy | 26 ++++----- .../grails/plugins/jquery/JQueryConfig.groovy | 10 ++-- .../plugins/jquery/JQueryProvider.groovy | 57 +++++++++++-------- 12 files changed, 125 insertions(+), 113 deletions(-) mode change 100755 => 100644 .classpath diff --git a/.classpath b/.classpath old mode 100755 new mode 100644 index cc1f95e..588d278 --- a/.classpath +++ b/.classpath @@ -4,8 +4,23 @@ - + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index 1cfa32d..a45f413 100755 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ +*.log +/target +/docs +grails-jquery-*.zip +grails-jquery-*.zip.sha1 plugin.xml -/grails-jquery-*.zip* -out/* -target/* -.idea/* +.idea *.iml web-app/WEB-INF diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index ca4d0b3..dc81ea7 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -34,8 +34,8 @@ class JqueryGrailsPlugin { 'src/docs/**' ] - def title = "JQuery for Grails" - def description = "Provides integration for the JQuery library with Grails JavascriptProvider" + def title = "jQuery for Grails" + def description = "Provides integration for the jQuery library with Grails JavascriptProvider" def documentation = "http://grails.org/plugin/jquery" def license = "APACHE" def issueManagement = [ system: "JIRA", url: "http://jira.grails.org/browse/GPJQUERY" ] @@ -63,7 +63,7 @@ class JqueryGrailsPlugin { } catch (Exception e) { // } - ConfigObject config = confClass ? new ConfigSlurper().parse(confClass).merge(application.config) : application.config + ConfigObject config = confClass ? new ConfigSlurper(Environment.current.name).parse(confClass).merge(application.config) : application.config JqueryGrailsPlugin.jQueryVersion = config.jquery.version instanceof String ? config.jquery.version : JQueryConfig.SHIPPED_VERSION JqueryGrailsPlugin.jQuerySources = config.jquery.sources instanceof String ? config.jquery.sources : JqueryGrailsPlugin.SHIPPED_SRC_DIR @@ -82,7 +82,7 @@ class JqueryGrailsPlugin { def jQueryConfig = applicationContext.jQueryConfig jQueryConfig.init() - if(jQueryConfig.defaultPlugins) { + if (jQueryConfig.defaultPlugins) { jQueryConfig.defaultPlugins.each { pluginName -> jQueryConfig.plugins."$pluginName".each {fileName -> JavascriptTagLib.LIBRARY_MAPPINGS.jquery += ["${JqueryGrailsPlugin.jQuerySources}/${fileName}"[0..-4]] diff --git a/grails-app/conf/Config.groovy b/grails-app/conf/Config.groovy index 51cc9d3..2f1168d 100644 --- a/grails-app/conf/Config.groovy +++ b/grails-app/conf/Config.groovy @@ -1,6 +1,6 @@ log4j = { error 'org.codehaus.groovy.grails', - 'org.springframework', - 'org.hibernate', - 'net.sf.ehcache.hibernate' + 'org.springframework', + 'org.hibernate', + 'net.sf.ehcache.hibernate' } diff --git a/grails-app/conf/JQueryConfig.groovy b/grails-app/conf/JQueryConfig.groovy index f9a01bb..fb607c1 100755 --- a/grails-app/conf/JQueryConfig.groovy +++ b/grails-app/conf/JQueryConfig.groovy @@ -1,4 +1,4 @@ jquery { sources = 'jquery' // Holds the value where to store jQuery-js files /web-app/js/ version = org.codehaus.groovy.grails.plugins.jquery.JQueryConfig.SHIPPED_VERSION // The jQuery version in use -} \ No newline at end of file +} diff --git a/grails-app/conf/JQueryPluginResources.groovy b/grails-app/conf/JQueryPluginResources.groovy index 5a33d4d..43399df 100644 --- a/grails-app/conf/JQueryPluginResources.groovy +++ b/grails-app/conf/JQueryPluginResources.groovy @@ -3,12 +3,14 @@ def jqver = org.codehaus.groovy.grails.plugins.jquery.JQueryConfig.SHIPPED_VERSI modules = { 'jquery' { - resource id:'js', url:[plugin: 'jquery', dir:'js/jquery', file:"jquery-${jqver}.min.js"], - disposition:'head', nominify: true + resource id: 'js', + url: [plugin: 'jquery', dir: 'js/jquery', file: "jquery-${jqver}.min.js"], + disposition: 'head', nominify: true } 'jquery-dev' { - resource id:'js', url:[plugin: 'jquery', dir:'js/jquery', file:"jquery-${jqver}.js"], - disposition:'head' + resource id: 'js', + url: [plugin: 'jquery', dir: 'js/jquery', file: "jquery-${jqver}.js"], + disposition:'head' } -} \ No newline at end of file +} diff --git a/grails-app/services/JQueryService.groovy b/grails-app/services/JQueryService.groovy index 77e2fa6..9f48f37 100755 --- a/grails-app/services/JQueryService.groovy +++ b/grails-app/services/JQueryService.groovy @@ -14,6 +14,8 @@ * limitations under the License. */ +import grails.util.Environment + import org.springframework.beans.factory.InitializingBean class JQueryService implements InitializingBean { @@ -33,7 +35,7 @@ class JQueryService implements InitializingBean { def pathWhichDoNotExist = [] void afterPropertiesSet() { - ConfigObject config = new ConfigSlurper().parse(grailsApplication.classLoader.loadClass('JQueryConfig')) + ConfigObject config = new ConfigSlurper(Environment.current.name).parse(grailsApplication.classLoader.loadClass('JQueryConfig')) jsFolder = config?.jquery?.sources ?: 'js/jquery' coreSuffix = config?.jquery?.coreSuffix?: 'core' @@ -48,20 +50,10 @@ class JQueryService implements InitializingBean { jsFolder = 'js/' + jsFolder } - // clean or prepare the folder path jsFolder = cleanPath(jsFolder) cssFolder = cleanPath(cssFolder) minFolder = cleanPath(minFolder) - - /* - println "jsFolder: ${jsFolder}" - println "coreSuffix: ${coreSuffix}" - println "cssFolder: ${cssFolder}" - println "cssDefault: ${cssDefault}" - println "minFolder: ${minFolder}" - println "minExt: ${minExt}" - */ } // all this is to avoid checking the filesystem too often @@ -73,11 +65,8 @@ class JQueryService implements InitializingBean { if (!pathChecked.contains(path)) { checkPath path } - if (pathWhichDoNotExist.contains(path)) { - return false - } else { - return true - } + + !pathWhichDoNotExist.contains(path) } def checkPath = {path -> @@ -88,11 +77,9 @@ class JQueryService implements InitializingBean { } def cleanPath = { path -> - if (path != null - && path != '' - && !path?.endsWith('/')) { + if (path && !path?.endsWith('/')) { path += '/' - } - path + } + path } } diff --git a/grails-app/taglib/JQueryResourceTagLib.groovy b/grails-app/taglib/JQueryResourceTagLib.groovy index 053bb69..066861d 100755 --- a/grails-app/taglib/JQueryResourceTagLib.groovy +++ b/grails-app/taglib/JQueryResourceTagLib.groovy @@ -35,16 +35,16 @@ class JQueryResourceTagLib { */ def resources = { attrs -> def plugin = pluginManager.getGrailsPlugin('jquery') - def jqver = plugin.instance.class.jQueryVersion + def jqver = plugin.instance.getClass().jQueryVersion - def flavour = Environment.current == Environment.DEVELOPMENT ? '' : '.min' + def flavour = Environment.isDevelopmentMode() ? '' : '.min' def fn = "jquery-${jqver}${flavour}.js" // Let user specify local="true" to stop us loading from the plugin, instead from the app - def local = attrs.remove('local')?.toString() + def local = attrs.remove('local')?.toString() def pluginName = local?.toBoolean() ? null : 'jquery' out << """""" } - + /** * Include JavaScript and CSS resources in the head. * -- attrs.components = comma separated list of ui components to include @@ -53,14 +53,13 @@ class JQueryResourceTagLib { * -- attrs.mode = javascript packing to use. Can be 'min' (default), * 'packed' or 'normal' */ - def resource = {attrs -> + def resource = { attrs -> def components = attrs.remove('components') if (components instanceof String) { components = components.split(/[,;]/).collect {it.trim()} } if (!components) throw new GrailsTagException("The resources tag must have a 'components' attribute") - def jsFolder = jQueryService.jsFolder def coreSuffix = jQueryService.coreSuffix @@ -73,15 +72,14 @@ class JQueryResourceTagLib { def exist = jQueryService.exist def cleanPath = jQueryService.cleanPath - def mode = Environment.current == Environment.DEVELOPMENT ? 'normal' : 'min' - def bundle = attrs.remove('bundle') ?: '' - def theme = attrs.remove('theme') ?: cssDefault - theme = cleanPath(theme) + def mode = Environment.isDevelopmentMode() ? 'normal' : 'min' + def bundle = attrs.remove('bundle') ?: '' + def theme = cleanPath(attrs.remove('theme') ?: cssDefault) def js = [] def css = [] def subdir = '' - switch(mode) { + switch (mode) { case 'min': subdir = minFolder mode = '.' + minExt @@ -97,7 +95,7 @@ class JQueryResourceTagLib { if (bundle) bundle += '.' - components.each {component -> + components.each { component -> addResource "${subdir}${bundle}${component}${mode}.js", js addResource "${theme}${bundle}${component}.css", css } diff --git a/grails-app/taglib/JQueryTagLib.groovy b/grails-app/taglib/JQueryTagLib.groovy index 06e1e96..fd73579 100755 --- a/grails-app/taglib/JQueryTagLib.groovy +++ b/grails-app/taglib/JQueryTagLib.groovy @@ -22,6 +22,7 @@ import org.springframework.context.ApplicationContextAware * @author Finn Herpich (finn.herpich marfinn-software de) */ class JQueryTagLib implements ApplicationContextAware { + static namespace = "jq" def jQueryConfig @@ -33,16 +34,18 @@ class JQueryTagLib implements ApplicationContextAware { * * @param attrs A plugin to use */ - def plugin = {attrs, body -> - if(attrs.name) { - def plugin = pluginManager.getGrailsPlugin('jquery') - - // TODO kick this damn need for the config-file - jQueryConfig.plugins."${attrs.name}".each { - out << '' - } + def plugin = { attrs, body -> + if (!attrs.name) { + return + } + + def plugin = pluginManager.getGrailsPlugin('jquery') + + // TODO kick this damn need for the config-file + jQueryConfig.plugins."${attrs.name}".each { + out << '' } } @@ -52,7 +55,7 @@ class JQueryTagLib implements ApplicationContextAware { * @param attrs No use * @param body The javascript code to execute */ - def jquery = {attrs, body -> + def jquery = { attrs, body -> out << '' @@ -67,10 +70,10 @@ class JQueryTagLib implements ApplicationContextAware { * event -> event to fire the toggle action on (OPTIONAL) * speed -> effect-speed (OPTIONAL) */ - def toggle = {attrs -> + def toggle = { attrs -> // Default values - if(!attrs.event) attrs.event = 'click' - if(!attrs.speed) attrs.speed = 'normal' + if (!attrs.event) attrs.event = 'click' + if (!attrs.speed) attrs.speed = 'normal' // out out << /jQuery("#${attrs['sourceId']}").${attrs['event']}(function(){jQuery("#${attrs['targetId']}").toggle("${attrs['speed']}"); return false; });/ @@ -81,12 +84,12 @@ class JQueryTagLib implements ApplicationContextAware { * * @param attrs Must contain either an attribute selector or elementId that specifies the target element */ - def fieldValue = {attrs -> + def fieldValue = { attrs -> def selector - if(attrs.selector) { + if (attrs.selector) { selector = attrs['selector'] - } else if(attrs.elementId) { + } else if (attrs.elementId) { selector = /#${attrs['elementId']}/ } @@ -97,7 +100,7 @@ class JQueryTagLib implements ApplicationContextAware { jQueryConfig = applicationContext.jQueryConfig } - def toggleelement = {attrs -> + def toggleelement = { attrs -> log.info('toggleelement is deprecated, please use toggle instead') out << /jQuery("#${attrs['linkId']}").${attrs['event']}(function(){ jQuery("#${attrs['elementId']}").toggle("${attrs['speed']}"); return false; });/ } diff --git a/scripts/InstallJQuery.groovy b/scripts/InstallJQuery.groovy index 2c7f43f..c7aec43 100644 --- a/scripts/InstallJQuery.groovy +++ b/scripts/InstallJQuery.groovy @@ -1,26 +1,22 @@ -Ant.property(environment:"env") -grailsHome = Ant.antProject.properties."env.GRAILS_HOME" - // Hard coded for installation purpose -def jQueryVersion = '1.7.1' +def jQueryVersion = '1.10.2' def jQuerySources = 'jquery' includeTargets << grailsScript("_GrailsEvents") -target ('default': "Sets the current application version") { - Ant.sequential { - event("StatusUpdate", ["Downloading JQuery ${jQueryVersion}"]) +target(installJQuery: "Downloads jQuery from code.jquery.com") { + + event("StatusUpdate", ["Downloading jQuery ${jQueryVersion}"]) - def files = ["jquery-${jQueryVersion}.js", "jquery-${jQueryVersion}.min.js"] + mkdir(dir:"${basedir}/web-app/js/${jQuerySources}") - mkdir(dir:"${basedir}/web-app/js/${jQuerySources}") - files.each { - get(dest:"${basedir}/web-app/js/${jQuerySources}/${it}", - src:"http://code.jquery.com/${it}", - verbose:true) - } + ["jquery-${jQueryVersion}.js", "jquery-${jQueryVersion}.min.js"].each { + get(dest: "${basedir}/web-app/js/${jQuerySources}/${it}", + src: "http://code.jquery.com/${it}", + verbose: true) } + event("StatusFinal", ["JQuery ${jQueryVersion} installed successfully"]) } - +setDefaultTarget 'installJQuery' diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index 94a83fe..d4ef179 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -16,11 +16,7 @@ package org.codehaus.groovy.grails.plugins.jquery -import org.codehaus.groovy.grails.commons.ApplicationHolder - /** - * TODO: write javadoc - * * @author Sergey Nebolsin (nebolsin@prophotos.ru) */ class JQueryConfig { @@ -30,7 +26,9 @@ class JQueryConfig { static SHIPPED_VERSION = '1.10.2' def init() { - ApplicationHolder.application.metadata.findAll{ key, value -> + + def application = org.codehaus.groovy.grails.commons.ApplicationHolder.application + application.metadata.findAll { key, value -> key.startsWith('jquery.plugins') }.each {key, value -> // wtf? @@ -38,6 +36,6 @@ class JQueryConfig { plugins."$pluginName" = value.split(",") as List } - defaultPlugins = ApplicationHolder.application.config.jquery?.defaultPlugins + defaultPlugins = application.config.jquery?.defaultPlugins } } diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.groovy index c7d8801..a1de5e2 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryProvider.groovy @@ -23,6 +23,7 @@ import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptProvider * @author Finn Herpich (finn.herpich marfinn-software de) */ class JQueryProvider implements JavascriptProvider { + /** * doRemoteFunction creates a jQuery-AJAX-Call * @@ -34,8 +35,9 @@ class JQueryProvider implements JavascriptProvider { */ def doRemoteFunction(taglib, attrs, out) { // Optional, onLoad - if(attrs.onLoading) + if (attrs.onLoading) { out << "${attrs.onLoading};" + } // Start ajax out << /jQuery.ajax({/ @@ -45,26 +47,27 @@ class JQueryProvider implements JavascriptProvider { out << "type:'$method'" // Optional, synchron call - if("false" == attrs.asynchronous) { + if ("false" == attrs.asynchronous) { out << ",async:false" attrs.remove('asynchronous') } // Optional, dataType to use - if(attrs.dataType) + if (attrs.dataType) { out << ",dataType:'${attrs.remove('dataType')}'" + } // Additional attributes - if(attrs.params || attrs.jsParams) { - if(!(attrs?.params instanceof Map)) { + if (attrs.params || attrs.jsParams) { + if (!(attrs?.params instanceof Map)) { // tags like remoteField don't deliver a map out << ",data:${attrs.remove('params')}" } else { out << ",data:{" - def hasParams = false + boolean hasParams = false - if(attrs?.params instanceof Map) { + if (attrs?.params instanceof Map) { hasParams = true out << attrs.remove('params').collect { k, v -> "\'" + @@ -75,9 +78,10 @@ class JQueryProvider implements JavascriptProvider { }.join(",") } - if(attrs?.jsParams instanceof Map) { - if(hasParams) + if (attrs?.jsParams instanceof Map) { + if (hasParams) { out << "," + } out << attrs.remove('jsParams').collect { k, v -> "\'" + @@ -116,32 +120,35 @@ class JQueryProvider implements JavascriptProvider { } /** - * Helper method to create callback object + * Helper method to create callback object * * @param attrs Attributes to use for the callback - * @param out Variable to attache the output + * @param out Variable to attache the output */ def buildCallback(attrs, out) { // TODO check for strlen - if(out) + if (out) { out << ',' + } //*** success out << 'success:function(data,textStatus){' - if(attrs.onLoaded) + if (attrs.onLoaded) { out << "${attrs.onLoaded};" + } - if(attrs.update instanceof Map) { - if(attrs.update?.success) { + if (attrs.update instanceof Map) { + if (attrs.update?.success) { out << "jQuery('#${attrs.update.success}').html(data);" } - } else if(attrs.update) { - out << "jQuery('#${attrs.update}').html(data);" + } else if (attrs.update) { + out << "jQuery('#${attrs.update}').html(data);" } - if(attrs.onSuccess) + if (attrs.onSuccess) { out << "${attrs.onSuccess};" + } out << '}' @@ -155,13 +162,15 @@ class JQueryProvider implements JavascriptProvider { } } - if (attrs.onFailure) + if (attrs.onFailure) { out << "${attrs.onFailure};" + } out << '}' - if(attrs.onComplete) + if (attrs.onComplete) { out << ",complete:function(XMLHttpRequest,textStatus){${attrs.onComplete}}" + } } /** @@ -171,9 +180,11 @@ class JQueryProvider implements JavascriptProvider { */ def prepareAjaxForm(attrs) { // Fix for http://jira.codehaus.org/browse/GRAILSPLUGINS-1865 - if(attrs.forSubmitTag) + if (attrs.forSubmitTag) { attrs.params = "jQuery(this).parents('form:first').serialize()".toString() - else + } + else { attrs.params = "jQuery(this).serialize()".toString() + } } -} \ No newline at end of file +} From 4d80ab13118d44c70c646be7e5a439c5e9cb3d85 Mon Sep 17 00:00:00 2001 From: Bobby Warner Date: Thu, 21 Nov 2013 10:20:57 -0600 Subject: [PATCH 37/48] Updated version to 1.10.2.1 for simple release with map file --- JqueryGrailsPlugin.groovy | 2 +- .../codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index dc81ea7..34a391b 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -23,7 +23,7 @@ import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.10.2" + def version = "1.10.2.1" static SHIPPED_SRC_DIR = 'jquery' diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index d4ef179..2a9a391 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -23,7 +23,7 @@ class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.10.2' + static SHIPPED_VERSION = '1.10.2.1' def init() { From bdbb3862b0ed22f71137744bbbddd5e30172dcc2 Mon Sep 17 00:00:00 2001 From: Bobby Warner Date: Thu, 21 Nov 2013 13:41:00 -0600 Subject: [PATCH 38/48] Fixed version number --- JqueryGrailsPlugin.groovy | 2 +- grails-app/conf/BuildConfig.groovy | 1 + .../codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index 34a391b..26a85db 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -23,7 +23,7 @@ import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.10.2.1" + def version = "1.10.2.2" static SHIPPED_SRC_DIR = 'jquery' diff --git a/grails-app/conf/BuildConfig.groovy b/grails-app/conf/BuildConfig.groovy index f5f406f..4175167 100644 --- a/grails-app/conf/BuildConfig.groovy +++ b/grails-app/conf/BuildConfig.groovy @@ -7,6 +7,7 @@ grails.project.dependency.resolution = { repositories { grailsCentral() + mavenCentral() } plugins { diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index 2a9a391..d4ef179 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -23,7 +23,7 @@ class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.10.2.1' + static SHIPPED_VERSION = '1.10.2' def init() { From 863c57320c015292fc85379709937da5a9fa07cb Mon Sep 17 00:00:00 2001 From: Bobby Warner Date: Fri, 24 Jan 2014 11:41:55 -0600 Subject: [PATCH 39/48] Updated jQuery to 1.11.0 --- JqueryGrailsPlugin.groovy | 2 +- application.properties | 2 +- .../grails/plugins/jquery/JQueryConfig.groovy | 2 +- web-app/js/jquery/jquery-1.10.2.min.js | 6 - web-app/js/jquery/jquery-1.10.2.min.map | 1 - .../{jquery-1.10.2.js => jquery-1.11.0.js} | 12586 ++++++++-------- web-app/js/jquery/jquery-1.11.0.min.js | 4 + web-app/js/jquery/jquery-1.11.0.min.map | 1 + 8 files changed, 6575 insertions(+), 6029 deletions(-) delete mode 100644 web-app/js/jquery/jquery-1.10.2.min.js delete mode 100644 web-app/js/jquery/jquery-1.10.2.min.map rename web-app/js/jquery/{jquery-1.10.2.js => jquery-1.11.0.js} (82%) create mode 100644 web-app/js/jquery/jquery-1.11.0.min.js create mode 100644 web-app/js/jquery/jquery-1.11.0.min.map diff --git a/JqueryGrailsPlugin.groovy b/JqueryGrailsPlugin.groovy index 26a85db..daab671 100755 --- a/JqueryGrailsPlugin.groovy +++ b/JqueryGrailsPlugin.groovy @@ -23,7 +23,7 @@ import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib class JqueryGrailsPlugin { // Only change the point release. Edit o.c.g.g.o.j.JQueryConfig.SHIPPED_VERSION when changing jQuery resource version // This should match JQueryConfig.SHIPPED_VERSION but must be a literal here due to how AstPluginDescriptorReader parses this file - def version = "1.10.2.2" + def version = "1.11.0" static SHIPPED_SRC_DIR = 'jquery' diff --git a/application.properties b/application.properties index e9920ce..5988a34 100755 --- a/application.properties +++ b/application.properties @@ -1 +1 @@ -app.grails.version=2.2.0 +app.grails.version=2.2.4 diff --git a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy index d4ef179..9630ad3 100755 --- a/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy +++ b/src/groovy/org/codehaus/groovy/grails/plugins/jquery/JQueryConfig.groovy @@ -23,7 +23,7 @@ class JQueryConfig { def defaultPlugins def plugins = [:] - static SHIPPED_VERSION = '1.10.2' + static SHIPPED_VERSION = '1.11.0' def init() { diff --git a/web-app/js/jquery/jquery-1.10.2.min.js b/web-app/js/jquery/jquery-1.10.2.min.js deleted file mode 100644 index da41706..0000000 --- a/web-app/js/jquery/jquery-1.10.2.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery-1.10.2.min.map -*/ -(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;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 x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.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(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.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?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},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||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.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||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},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:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.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 d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},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}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(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]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?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},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.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},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-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 S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(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?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.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+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===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]||at.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]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.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,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!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[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[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]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[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[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(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:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("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===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.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!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.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:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(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 xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.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?x.extend(e,r):r}},i={};return r.pipe=r.then,x.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=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.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;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[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%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.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&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t -}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),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 x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.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=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.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,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._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(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t: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,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.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 t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={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}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[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),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=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));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,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]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),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=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),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=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=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 x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):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,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.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))},x.Event=function(e,n){return this instanceof x.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&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.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()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._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 x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.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 x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.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,x(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(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.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?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(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(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.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:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.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 x.clone(this,e,t)})},html:function(e){return x.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)||!x.support.htmlSerialize&&mt.test(e)||!x.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&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._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++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.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)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(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||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.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),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(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,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); -u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(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 x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});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("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","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"===x.css(e,"display")||!x.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]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.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}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.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,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],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||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});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+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.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=x.support.boxSizing&&"border-box"===x.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&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("