1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/632a7a0f3caa/
changeset: r5124:632a7a0f3caa
user: kanwei
date: 2011-02-24 23:23:16
summary: Update jQuery to 1.5.1, and also jquery.form as old one was incompatible with
1.5
affected #: 4 files (7.5 KB)
--- a/static/scripts/jquery.form.js Thu Feb 24 16:19:03 2011 -0500
+++ b/static/scripts/jquery.form.js Thu Feb 24 17:23:16 2011 -0500
@@ -1,632 +1,803 @@
-/*
- * jQuery Form Plugin
- * version: 2.21 (08-FEB-2009)
- * @requires jQuery v1.2.2 or later
- *
- * Examples and documentation at:
http://malsup.com/jquery/form/
- * Dual licensed under the MIT and GPL licenses:
- *
http://www.opensource.org/licenses/mit-license.php
- *
http://www.gnu.org/licenses/gpl.html
- */
-;(function($) {
-
-/*
- Usage Note:
- -----------
- Do not use both ajaxSubmit and ajaxForm on the same form. These
- functions are intended to be exclusive. Use ajaxSubmit if you want
- to bind your own submit handler to the form. For example,
-
- $(document).ready(function() {
- $('#myForm').bind('submit', function() {
- $(this).ajaxSubmit({
- target: '#output'
- });
- return false; // <-- important!
- });
- });
-
- Use ajaxForm when you want the plugin to manage all the event binding
- for you. For example,
-
- $(document).ready(function() {
- $('#myForm').ajaxForm({
- target: '#output'
- });
- });
-
- When using ajaxForm, the ajaxSubmit function will be invoked for you
- at the appropriate time.
-*/
-
-/**
- * ajaxSubmit() provides a mechanism for immediately submitting
- * an HTML form using AJAX.
- */
-$.fn.ajaxSubmit = function(options) {
- // fast fail if nothing selected (
http://dev.jquery.com/ticket/2752)
- if (!this.length) {
- log('ajaxSubmit: skipping submit process - no element selected');
- return this;
- }
-
- if (typeof options == 'function')
- options = { success: options };
-
- options = $.extend({
- url: this.attr('action') || window.location.toString(),
- type: this.attr('method') || 'GET'
- }, options || {});
-
- // hook for manipulating the form data before it is extracted;
- // convenient for use with rich editors like tinyMCE or FCKEditor
- var veto = {};
- this.trigger('form-pre-serialize', [this, options, veto]);
- if (veto.veto) {
- log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
- return this;
- }
-
- // provide opportunity to alter form data before it is serialized
- if (options.beforeSerialize && options.beforeSerialize(this, options) ===
false) {
- log('ajaxSubmit: submit aborted via beforeSerialize callback');
- return this;
- }
-
- var a = this.formToArray(options.semantic);
- if (options.data) {
- options.extraData = options.data;
- for (var n in options.data) {
- if(options.data[n] instanceof Array) {
- for (var k in options.data[n])
- a.push( { name: n, value: options.data[n][k] } )
- }
- else
- a.push( { name: n, value: options.data[n] } );
- }
- }
-
- // give pre-submit callback an opportunity to abort the submit
- if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false)
{
- log('ajaxSubmit: submit aborted via beforeSubmit callback');
- return this;
- }
-
- // fire vetoable 'validate' event
- this.trigger('form-submit-validate', [a, this, options, veto]);
- if (veto.veto) {
- log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
- return this;
- }
-
- var q = $.param(a);
-
- if (options.type.toUpperCase() == 'GET') {
- options.url += (options.url.indexOf('?') >= 0 ? '&' :
'?') + q;
- options.data = null; // data is null for 'get'
- }
- else
- options.data = q; // data is the query string for 'post'
-
- var $form = this, callbacks = [];
- if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
- if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
-
- // perform a load on the target only if dataType is not provided
- if (!options.dataType && options.target) {
- var oldSuccess = options.success || function(){};
- callbacks.push(function(data) {
- $(options.target).html(data).each(oldSuccess, arguments);
- });
- }
- else if (options.success)
- callbacks.push(options.success);
-
- options.success = function(data, status) {
- for (var i=0, max=callbacks.length; i < max; i++)
- callbacks[i].apply(options, [data, status, $form]);
- };
-
- // are there files to upload?
- var files = $('input:file', this).fieldValue();
- var found = false;
- for (var j=0; j < files.length; j++)
- if (files[j])
- found = true;
-
- // options.iframe allows user to force iframe mode
- if (options.iframe || found) {
- // hack to fix Safari hang (thanks to Tim Molendijk for this)
- // see:
http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab5...
- if (options.closeKeepAlive)
- $.get(options.closeKeepAlive, fileUpload);
- else
- fileUpload();
- }
- else
- $.ajax(options);
-
- // fire 'notify' event
- this.trigger('form-submit-notify', [this, options]);
- return this;
-
-
- // private function for handling file uploads (hat tip to YAHOO!)
- function fileUpload() {
- var form = $form[0];
-
- if ($(':input[name=submit]', form).length) {
- alert('Error: Form elements must not be named "submit".');
- return;
- }
-
- var opts = $.extend({}, $.ajaxSettings, options);
- var s = jQuery.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
-
- var id = 'jqFormIO' + (new Date().getTime());
- var $io = $('<iframe id="' + id + '" name="' +
id + '" src="about:blank" />');
- var io = $io[0];
-
- $io.css({ position: 'absolute', top: '-1000px', left:
'-1000px' });
-
- var xhr = { // mock object
- aborted: 0,
- responseText: null,
- responseXML: null,
- status: 0,
- statusText: 'n/a',
- getAllResponseHeaders: function() {},
- getResponseHeader: function() {},
- setRequestHeader: function() {},
- abort: function() {
- this.aborted = 1;
- $io.attr('src','about:blank'); // abort op in progress
- }
- };
-
- var g = opts.global;
- // trigger ajax global events so that activity/block indicators work like normal
- if (g && ! $.active++) $.event.trigger("ajaxStart");
- if (g) $.event.trigger("ajaxSend", [xhr, opts]);
-
- if (s.beforeSend && s.beforeSend(xhr, s) === false) {
- s.global && jQuery.active--;
- return;
- }
- if (xhr.aborted)
- return;
-
- var cbInvoked = 0;
- var timedOut = 0;
-
- // add submitting element to data if we know it
- var sub = form.clk;
- if (sub) {
- var n = sub.name;
- if (n && !sub.disabled) {
- options.extraData = options.extraData || {};
- options.extraData[n] = sub.value;
- if (sub.type == "image") {
- options.extraData[name+'.x'] = form.clk_x;
- options.extraData[name+'.y'] = form.clk_y;
- }
- }
- }
-
- // take a breath so that pending repaints get some cpu time before the upload
starts
- setTimeout(function() {
- // make sure form attrs are set
- var t = $form.attr('target'), a = $form.attr('action');
-
- // update form attrs in IE friendly way
- form.setAttribute('target',id);
- if (form.getAttribute('method') != 'POST')
- form.setAttribute('method', 'POST');
- if (form.getAttribute('action') != opts.url)
- form.setAttribute('action', opts.url);
-
- // ie borks in some cases when setting encoding
- if (! options.skipEncodingOverride) {
- $form.attr({
- encoding: 'multipart/form-data',
- enctype: 'multipart/form-data'
- });
- }
-
- // support timout
- if (opts.timeout)
- setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
-
- // add "extra" data to form if provided in options
- var extraInputs = [];
- try {
- if (options.extraData)
- for (var n in options.extraData)
- extraInputs.push(
- $('<input type="hidden"
name="'+n+'" value="'+options.extraData[n]+'"
/>')
- .appendTo(form)[0]);
-
- // add iframe to doc and submit the form
- $io.appendTo('body');
- io.attachEvent ? io.attachEvent('onload', cb) :
io.addEventListener('load', cb, false);
- form.submit();
- }
- finally {
- // reset attrs and remove "extra" input elements
- form.setAttribute('action',a);
- t ? form.setAttribute('target', t) :
$form.removeAttr('target');
- $(extraInputs).remove();
- }
- }, 10);
-
- var nullCheckFlag = 0;
-
- function cb() {
- if (cbInvoked++) return;
-
- io.detachEvent ? io.detachEvent('onload', cb) :
io.removeEventListener('load', cb, false);
-
- var ok = true;
- try {
- if (timedOut) throw 'timeout';
- // extract the server response from the iframe
- var data, doc;
-
- doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ?
io.contentDocument : io.document;
-
- if ((doc.body == null || doc.body.innerHTML == '') &&
!nullCheckFlag) {
- // in some browsers (cough, Opera 9.2.x) the iframe DOM is not always
traversable when
- // the onload callback fires, so we give them a 2nd chance
- nullCheckFlag = 1;
- cbInvoked--;
- setTimeout(cb, 100);
- return;
- }
-
- xhr.responseText = doc.body ? doc.body.innerHTML : null;
- xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
- xhr.getResponseHeader = function(header){
- var headers = {'content-type': opts.dataType};
- return headers[header];
- };
-
- if (opts.dataType == 'json' || opts.dataType == 'script')
{
- var ta = doc.getElementsByTagName('textarea')[0];
- xhr.responseText = ta ? ta.value : xhr.responseText;
- }
- else if (opts.dataType == 'xml' && !xhr.responseXML
&& xhr.responseText != null) {
- xhr.responseXML = toXml(xhr.responseText);
- }
- data = $.httpData(xhr, opts.dataType);
- }
- catch(e){
- ok = false;
- $.handleError(opts, xhr, 'error', e);
- }
-
- // ordering of these callbacks/triggers is odd, but that's how $.ajax
does it
- if (ok) {
- opts.success(data, 'success');
- if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
- }
- if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
- if (g && ! --$.active) $.event.trigger("ajaxStop");
- if (opts.complete) opts.complete(xhr, ok ? 'success' :
'error');
-
- // clean up
- setTimeout(function() {
- $io.remove();
- xhr.responseXML = null;
- }, 100);
- };
-
- function toXml(s, doc) {
- if (window.ActiveXObject) {
- doc = new ActiveXObject('Microsoft.XMLDOM');
- doc.async = 'false';
- doc.loadXML(s);
- }
- else
- doc = (new DOMParser()).parseFromString(s, 'text/xml');
- return (doc && doc.documentElement &&
doc.documentElement.tagName != 'parsererror') ? doc : null;
- };
- };
-};
-
-/**
- * ajaxForm() provides a mechanism for fully automating form submission.
- *
- * The advantages of using this method instead of ajaxSubmit() are:
- *
- * 1: This method will include coordinates for <input type="image" />
elements (if the element
- * is used to submit the form).
- * 2. This method will include the submit element's name/value data (for the element
that was
- * used to submit the form).
- * 3. This method binds the submit() method to the form for you.
- *
- * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm
merely
- * passes the options argument along after properly binding events for submit elements
and
- * the form itself.
- */
-$.fn.ajaxForm = function(options) {
- return this.ajaxFormUnbind().bind('submit.form-plugin',function() {
- $(this).ajaxSubmit(options);
- return false;
- }).each(function() {
- // store options in hash
- $(":submit,input:image",
this).bind('click.form-plugin',function(e) {
- var form = this.form;
- form.clk = this;
- if (this.type == 'image') {
- if (e.offsetX != undefined) {
- form.clk_x = e.offsetX;
- form.clk_y = e.offsetY;
- } else if (typeof $.fn.offset == 'function') { // try to use
dimensions plugin
- var offset = $(this).offset();
- form.clk_x = e.pageX - offset.left;
- form.clk_y = e.pageY - offset.top;
- } else {
- form.clk_x = e.pageX - this.offsetLeft;
- form.clk_y = e.pageY - this.offsetTop;
- }
- }
- // clear form vars
- setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 10);
- });
- });
-};
-
-// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
-$.fn.ajaxFormUnbind = function() {
- this.unbind('submit.form-plugin');
- return this.each(function() {
- $(":submit,input:image", this).unbind('click.form-plugin');
- });
-
-};
-
-/**
- * formToArray() gathers form element data into an array of objects that can
- * be passed to any of the following ajax functions: $.get, $.post, or load.
- * Each object in the array has both a 'name' and 'value' property. An
example of
- * an array for a simple login form might be:
- *
- * [ { name: 'username', value: 'jresig' }, { name: 'password',
value: 'secret' } ]
- *
- * It is this array that is passed to pre-submit callback functions provided to the
- * ajaxSubmit() and ajaxForm() methods.
- */
-$.fn.formToArray = function(semantic) {
- var a = [];
- if (this.length == 0) return a;
-
- var form = this[0];
- var els = semantic ? form.getElementsByTagName('*') : form.elements;
- if (!els) return a;
- for(var i=0, max=els.length; i < max; i++) {
- var el = els[i];
- var n = el.name;
- if (!n) continue;
-
- if (semantic && form.clk && el.type == "image") {
- // handle image inputs on the fly when semantic == true
- if(!el.disabled && form.clk == el)
- a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y',
value: form.clk_y});
- continue;
- }
-
- var v = $.fieldValue(el, true);
- if (v && v.constructor == Array) {
- for(var j=0, jmax=v.length; j < jmax; j++)
- a.push({name: n, value: v[j]});
- }
- else if (v !== null && typeof v != 'undefined')
- a.push({name: n, value: v});
- }
-
- if (!semantic && form.clk) {
- // input type=='image' are not found in elements array! handle them here
- var inputs = form.getElementsByTagName("input");
- for(var i=0, max=inputs.length; i < max; i++) {
- var input = inputs[i];
- var n = input.name;
- if(n && !input.disabled && input.type == "image"
&& form.clk == input)
- a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y',
value: form.clk_y});
- }
- }
- return a;
-};
-
-/**
- * Serializes form data into a 'submittable' string. This method will return a
string
- * in the format: name1=value1&name2=value2
- */
-$.fn.formSerialize = function(semantic) {
- //hand off to jQuery.param for proper encoding
- return $.param(this.formToArray(semantic));
-};
-
-/**
- * Serializes all field elements in the jQuery object into a query string.
- * This method will return a string in the format: name1=value1&name2=value2
- */
-$.fn.fieldSerialize = function(successful) {
- var a = [];
- this.each(function() {
- var n = this.name;
- if (!n) return;
- var v = $.fieldValue(this, successful);
- if (v && v.constructor == Array) {
- for (var i=0,max=v.length; i < max; i++)
- a.push({name: n, value: v[i]});
- }
- else if (v !== null && typeof v != 'undefined')
- a.push({name: this.name, value: v});
- });
- //hand off to jQuery.param for proper encoding
- return $.param(a);
-};
-
-/**
- * Returns the value(s) of the element in the matched set. For example, consider the
following form:
- *
- * <form><fieldset>
- * <input name="A" type="text" />
- * <input name="A" type="text" />
- * <input name="B" type="checkbox" value="B1"
/>
- * <input name="B" type="checkbox" value="B2"/>
- * <input name="C" type="radio" value="C1" />
- * <input name="C" type="radio" value="C2" />
- * </fieldset></form>
- *
- * var v = $(':text').fieldValue();
- * // if no values are entered into the text inputs
- * v == ['','']
- * // if values entered into the text inputs are 'foo' and 'bar'
- * v == ['foo','bar']
- *
- * var v = $(':checkbox').fieldValue();
- * // if neither checkbox is checked
- * v === undefined
- * // if both checkboxes are checked
- * v == ['B1', 'B2']
- *
- * var v = $(':radio').fieldValue();
- * // if neither radio is checked
- * v === undefined
- * // if first radio is checked
- * v == ['C1']
- *
- * The successful argument controls whether or not the field element must be
'successful'
- * (per
http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
- * The default value of the successful argument is true. If this value is false the
value(s)
- * for each element is returned.
- *
- * Note: This method *always* returns an array. If no valid value can be determined the
- * array will be empty, otherwise it will contain one or more values.
- */
-$.fn.fieldValue = function(successful) {
- for (var val=[], i=0, max=this.length; i < max; i++) {
- var el = this[i];
- var v = $.fieldValue(el, successful);
- if (v === null || typeof v == 'undefined' || (v.constructor == Array
&& !v.length))
- continue;
- v.constructor == Array ? $.merge(val, v) : val.push(v);
- }
- return val;
-};
-
-/**
- * Returns the value of the field element.
- */
-$.fieldValue = function(el, successful) {
- var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
- if (typeof successful == 'undefined') successful = true;
-
- if (successful && (!n || el.disabled || t == 'reset' || t ==
'button' ||
- (t == 'checkbox' || t == 'radio') && !el.checked ||
- (t == 'submit' || t == 'image') && el.form &&
el.form.clk != el ||
- tag == 'select' && el.selectedIndex == -1))
- return null;
-
- if (tag == 'select') {
- var index = el.selectedIndex;
- if (index < 0) return null;
- var a = [], ops = el.options;
- var one = (t == 'select-one');
- var max = (one ? index+1 : ops.length);
- for(var i=(one ? index : 0); i < max; i++) {
- var op = ops[i];
- if (op.selected) {
- var v = op.value;
- if (!v) // extra pain for IE...
- v = (op.attributes && op.attributes['value'] &&
!(op.attributes['value'].specified)) ? op.text : op.value;
- if (one) return v;
- a.push(v);
- }
- }
- return a;
- }
- return el.value;
-};
-
-/**
- * Clears the form data. Takes the following actions on the form's input fields:
- * - input text fields will have their 'value' property set to the empty string
- * - select elements will have their 'selectedIndex' property set to -1
- * - checkbox and radio inputs will have their 'checked' property set to false
- * - inputs of type submit, button, reset, and hidden will *not* be effected
- * - button elements will *not* be effected
- */
-$.fn.clearForm = function() {
- return this.each(function() {
- $('input,select,textarea', this).clearFields();
- });
-};
-
-/**
- * Clears the selected form elements.
- */
-$.fn.clearFields = $.fn.clearInputs = function() {
- return this.each(function() {
- var t = this.type, tag = this.tagName.toLowerCase();
- if (t == 'text' || t == 'password' || tag == 'textarea')
- this.value = '';
- else if (t == 'checkbox' || t == 'radio')
- this.checked = false;
- else if (tag == 'select')
- this.selectedIndex = -1;
- });
-};
-
-/**
- * Resets the form data. Causes all form elements to be reset to their original value.
- */
-$.fn.resetForm = function() {
- return this.each(function() {
- // guard against an input with the name of 'reset'
- // note that IE reports the reset function as an 'object'
- if (typeof this.reset == 'function' || (typeof this.reset ==
'object' && !this.reset.nodeType))
- this.reset();
- });
-};
-
-/**
- * Enables or disables any matching elements.
- */
-$.fn.enable = function(b) {
- if (b == undefined) b = true;
- return this.each(function() {
- this.disabled = !b
- });
-};
-
-/**
- * Checks/unchecks any matching checkboxes or radio buttons and
- * selects/deselects and matching option elements.
- */
-$.fn.selected = function(select) {
- if (select == undefined) select = true;
- return this.each(function() {
- var t = this.type;
- if (t == 'checkbox' || t == 'radio')
- this.checked = select;
- else if (this.tagName.toLowerCase() == 'option') {
- var $sel = $(this).parent('select');
- if (select && $sel[0] && $sel[0].type ==
'select-one') {
- // deselect all other options
- $sel.find('option').selected(false);
- }
- this.selected = select;
- }
- });
-};
-
-// helper fn for console logging
-// set $.fn.ajaxSubmit.debug to true to enable debug logging
-function log() {
- if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
- window.console.log('[jquery.form] ' +
Array.prototype.join.call(arguments,''));
-};
-
-})(jQuery);
+/*!
+ * jQuery Form Plugin
+ * version: 2.63 (29-JAN-2011)
+ * @requires jQuery v1.3.2 or later
+ *
+ * Examples and documentation at:
http://malsup.com/jquery/form/
+ * Dual licensed under the MIT and GPL licenses:
+ *
http://www.opensource.org/licenses/mit-license.php
+ *
http://www.gnu.org/licenses/gpl.html
+ */
+;(function($) {
+
+/*
+ Usage Note:
+ -----------
+ Do not use both ajaxSubmit and ajaxForm on the same form. These
+ functions are intended to be exclusive. Use ajaxSubmit if you want
+ to bind your own submit handler to the form. For example,
+
+ $(document).ready(function() {
+ $('#myForm').bind('submit', function(e) {
+ e.preventDefault(); // <-- important
+ $(this).ajaxSubmit({
+ target: '#output'
+ });
+ });
+ });
+
+ Use ajaxForm when you want the plugin to manage all the event binding
+ for you. For example,
+
+ $(document).ready(function() {
+ $('#myForm').ajaxForm({
+ target: '#output'
+ });
+ });
+
+ When using ajaxForm, the ajaxSubmit function will be invoked for you
+ at the appropriate time.
+*/
+
+/**
+ * ajaxSubmit() provides a mechanism for immediately submitting
+ * an HTML form using AJAX.
+ */
+$.fn.ajaxSubmit = function(options) {
+ // fast fail if nothing selected (
http://dev.jquery.com/ticket/2752)
+ if (!this.length) {
+ log('ajaxSubmit: skipping submit process - no element selected');
+ return this;
+ }
+
+ if (typeof options == 'function') {
+ options = { success: options };
+ }
+
+ var action = this.attr('action');
+ var url = (typeof action === 'string') ? $.trim(action) : '';
+ if (url) {
+ // clean url (don't include hash vaue)
+ url = (url.match(/^([^#]+)/)||[])[1];
+ }
+ url = url || window.location.href || '';
+
+ options = $.extend(true, {
+ url: url,
+ type: this[0].getAttribute('method') || 'GET', // IE7 massage (see
issue 57)
+ iframeSrc: /^https/i.test(window.location.href || '') ?
'javascript:false' : 'about:blank'
+ }, options);
+
+ // hook for manipulating the form data before it is extracted;
+ // convenient for use with rich editors like tinyMCE or FCKEditor
+ var veto = {};
+ this.trigger('form-pre-serialize', [this, options, veto]);
+ if (veto.veto) {
+ log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
+ return this;
+ }
+
+ // provide opportunity to alter form data before it is serialized
+ if (options.beforeSerialize && options.beforeSerialize(this, options) === false)
{
+ log('ajaxSubmit: submit aborted via beforeSerialize callback');
+ return this;
+ }
+
+ var n,v,a = this.formToArray(options.semantic);
+ if (options.data) {
+ options.extraData = options.data;
+ for (n in options.data) {
+ if(options.data[n] instanceof Array) {
+ for (var k in options.data[n]) {
+ a.push( { name: n, value: options.data[n][k] } );
+ }
+ }
+ else {
+ v = options.data[n];
+ v = $.isFunction(v) ? v() : v; // if value is fn, invoke it
+ a.push( { name: n, value: v } );
+ }
+ }
+ }
+
+ // give pre-submit callback an opportunity to abort the submit
+ if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
+ log('ajaxSubmit: submit aborted via beforeSubmit callback');
+ return this;
+ }
+
+ // fire vetoable 'validate' event
+ this.trigger('form-submit-validate', [a, this, options, veto]);
+ if (veto.veto) {
+ log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
+ return this;
+ }
+
+ var q = $.param(a);
+
+ if (options.type.toUpperCase() == 'GET') {
+ options.url += (options.url.indexOf('?') >= 0 ? '&' :
'?') + q;
+ options.data = null; // data is null for 'get'
+ }
+ else {
+ options.data = q; // data is the query string for 'post'
+ }
+
+ var $form = this, callbacks = [];
+ if (options.resetForm) {
+ callbacks.push(function() { $form.resetForm(); });
+ }
+ if (options.clearForm) {
+ callbacks.push(function() { $form.clearForm(); });
+ }
+
+ // perform a load on the target only if dataType is not provided
+ if (!options.dataType && options.target) {
+ var oldSuccess = options.success || function(){};
+ callbacks.push(function(data) {
+ var fn = options.replaceTarget ? 'replaceWith' : 'html';
+ $(options.target)[fn](data).each(oldSuccess, arguments);
+ });
+ }
+ else if (options.success) {
+ callbacks.push(options.success);
+ }
+
+ options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
+ var context = options.context || options; // jQuery 1.4+ supports scope context
+ for (var i=0, max=callbacks.length; i < max; i++) {
+ callbacks[i].apply(context, [data, status, xhr || $form, $form]);
+ }
+ };
+
+ // are there files to upload?
+ var fileInputs = $('input:file', this).length > 0;
+ var mp = 'multipart/form-data';
+ var multipart = ($form.attr('enctype') == mp || $form.attr('encoding')
== mp);
+
+ // options.iframe allows user to force iframe mode
+ // 06-NOV-09: now defaulting to iframe mode if file input is detected
+ if (options.iframe !== false && (fileInputs || options.iframe || multipart))
{
+ // hack to fix Safari hang (thanks to Tim Molendijk for this)
+ // see:
http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab5...
+ if (options.closeKeepAlive) {
+ $.get(options.closeKeepAlive, fileUpload);
+ }
+ else {
+ fileUpload();
+ }
+ }
+ else {
+ $.ajax(options);
+ }
+
+ // fire 'notify' event
+ this.trigger('form-submit-notify', [this, options]);
+ return this;
+
+
+ // private function for handling file uploads (hat tip to YAHOO!)
+ function fileUpload() {
+ var form = $form[0];
+
+ if ($(':input[name=submit],:input[id=submit]', form).length) {
+ // if there is an input with a name or id of 'submit' then we won't be
+ // able to invoke the submit fn on the form (at least not x-browser)
+ alert('Error: Form elements must not have name or id of
"submit".');
+ return;
+ }
+
+ var s = $.extend(true, {}, $.ajaxSettings, options);
+ s.context = s.context || s;
+ var id = 'jqFormIO' + (new Date().getTime()), fn = '_'+id;
+ var $io = $('<iframe id="' + id + '" name="' + id +
'" src="'+ s.iframeSrc +'" />');
+ var io = $io[0];
+
+ $io.css({ position: 'absolute', top: '-1000px', left: '-1000px'
});
+
+ var xhr = { // mock object
+ aborted: 0,
+ responseText: null,
+ responseXML: null,
+ status: 0,
+ statusText: 'n/a',
+ getAllResponseHeaders: function() {},
+ getResponseHeader: function() {},
+ setRequestHeader: function() {},
+ abort: function() {
+ this.aborted = 1;
+ $io.attr('src', s.iframeSrc); // abort op in progress
+ }
+ };
+
+ var g = s.global;
+ // trigger ajax global events so that activity/block indicators work like normal
+ if (g && ! $.active++) {
+ $.event.trigger("ajaxStart");
+ }
+ if (g) {
+ $.event.trigger("ajaxSend", [xhr, s]);
+ }
+
+ if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
+ if (s.global) {
+ $.active--;
+ }
+ return;
+ }
+ if (xhr.aborted) {
+ return;
+ }
+
+ var timedOut = 0;
+
+ // add submitting element to data if we know it
+ var sub = form.clk;
+ if (sub) {
+ var n = sub.name;
+ if (n && !sub.disabled) {
+ s.extraData = s.extraData || {};
+ s.extraData[n] = sub.value;
+ if (sub.type == "image") {
+ s.extraData[n+'.x'] = form.clk_x;
+ s.extraData[n+'.y'] = form.clk_y;
+ }
+ }
+ }
+
+ // take a breath so that pending repaints get some cpu time before the upload starts
+ function doSubmit() {
+ // make sure form attrs are set
+ var t = $form.attr('target'), a = $form.attr('action');
+
+ // update form attrs in IE friendly way
+ form.setAttribute('target',id);
+ if (form.getAttribute('method') != 'POST') {
+ form.setAttribute('method', 'POST');
+ }
+ if (form.getAttribute('action') != s.url) {
+ form.setAttribute('action', s.url);
+ }
+
+ // ie borks in some cases when setting encoding
+ if (! s.skipEncodingOverride) {
+ $form.attr({
+ encoding: 'multipart/form-data',
+ enctype: 'multipart/form-data'
+ });
+ }
+
+ // support timout
+ if (s.timeout) {
+ setTimeout(function() { timedOut = true; cb(); }, s.timeout);
+ }
+
+ // add "extra" data to form if provided in options
+ var extraInputs = [];
+ try {
+ if (s.extraData) {
+ for (var n in s.extraData) {
+ extraInputs.push(
+ $('<input type="hidden" name="'+n+'"
value="'+s.extraData[n]+'" />')
+ .appendTo(form)[0]);
+ }
+ }
+
+ // add iframe to doc and submit the form
+ $io.appendTo('body');
+ io.attachEvent ? io.attachEvent('onload', cb) :
io.addEventListener('load', cb, false);
+ form.submit();
+ }
+ finally {
+ // reset attrs and remove "extra" input elements
+ form.setAttribute('action',a);
+ if(t) {
+ form.setAttribute('target', t);
+ } else {
+ $form.removeAttr('target');
+ }
+ $(extraInputs).remove();
+ }
+ }
+
+ if (s.forceSync) {
+ doSubmit();
+ }
+ else {
+ setTimeout(doSubmit, 10); // this lets dom updates render
+ }
+
+ var data, doc, domCheckCount = 50;
+
+ function cb() {
+ doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ?
io.contentDocument : io.document;
+ if (!doc || doc.location.href == s.iframeSrc) {
+ // response not received yet
+ return;
+ }
+ io.detachEvent ? io.detachEvent('onload', cb) :
io.removeEventListener('load', cb, false);
+
+ var ok = true;
+ try {
+ if (timedOut) {
+ throw 'timeout';
+ }
+
+ var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
+ log('isXml='+isXml);
+ if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML
== '')) {
+ if (--domCheckCount) {
+ // in some browsers (Opera) the iframe DOM is not always traversable when
+ // the onload callback fires, so we loop a bit to accommodate
+ log('requeing onLoad callback, DOM not available');
+ setTimeout(cb, 250);
+ return;
+ }
+ // let this fall through because server response could be an empty document
+ //log('Could not access iframe DOM after mutiple tries.');
+ //throw 'DOMException: not available';
+ }
+
+ //log('response detected');
+ xhr.responseText = doc.body ? doc.body.innerHTML : doc.documentElement ?
doc.documentElement.innerHTML : null;
+ xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
+ xhr.getResponseHeader = function(header){
+ var headers = {'content-type': s.dataType};
+ return headers[header];
+ };
+
+ var scr = /(json|script)/.test(s.dataType);
+ if (scr || s.textarea) {
+ // see if user embedded response in textarea
+ var ta = doc.getElementsByTagName('textarea')[0];
+ if (ta) {
+ xhr.responseText = ta.value;
+ }
+ else if (scr) {
+ // account for browsers injecting pre around json response
+ var pre = doc.getElementsByTagName('pre')[0];
+ var b = doc.getElementsByTagName('body')[0];
+ if (pre) {
+ xhr.responseText = pre.textContent;
+ }
+ else if (b) {
+ xhr.responseText = b.innerHTML;
+ }
+ }
+ }
+ else if (s.dataType == 'xml' && !xhr.responseXML &&
xhr.responseText != null) {
+ xhr.responseXML = toXml(xhr.responseText);
+ }
+
+ data = httpData(xhr, s.dataType, s);
+ }
+ catch(e){
+ log('error caught:',e);
+ ok = false;
+ xhr.error = e;
+ s.error.call(s.context, xhr, 'error', e);
+ g && $.event.trigger("ajaxError", [xhr, s, e]);
+ }
+
+ if (xhr.aborted) {
+ log('upload aborted');
+ ok = false;
+ }
+
+ // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
+ if (ok) {
+ s.success.call(s.context, data, 'success', xhr);
+ g && $.event.trigger("ajaxSuccess", [xhr, s]);
+ }
+
+ g && $.event.trigger("ajaxComplete", [xhr, s]);
+
+ if (g && ! --$.active) {
+ $.event.trigger("ajaxStop");
+ }
+
+ s.complete && s.complete.call(s.context, xhr, ok ? 'success' :
'error');
+
+ // clean up
+ setTimeout(function() {
+ $io.removeData('form-plugin-onload');
+ $io.remove();
+ xhr.responseXML = null;
+ }, 100);
+ }
+
+ var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery
1.5+)
+ if (window.ActiveXObject) {
+ doc = new ActiveXObject('Microsoft.XMLDOM');
+ doc.async = 'false';
+ doc.loadXML(s);
+ }
+ else {
+ doc = (new DOMParser()).parseFromString(s, 'text/xml');
+ }
+ return (doc && doc.documentElement && doc.documentElement.nodeName !=
'parsererror') ? doc : null;
+ };
+ var parseJSON = $.parseJSON || function(s) {
+ return window['eval']('(' + s + ')');
+ };
+
+ var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
+ var ct = xhr.getResponseHeader('content-type') || '',
+ xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
+ data = xml ? xhr.responseXML : xhr.responseText;
+
+ if (xml && data.documentElement.nodeName === 'parsererror') {
+ $.error && $.error('parsererror');
+ }
+ if (s && s.dataFilter) {
+ data = s.dataFilter(data, type);
+ }
+ if (typeof data === 'string') {
+ if (type === 'json' || !type && ct.indexOf('json') >= 0)
{
+ data = parseJSON(data);
+ } else if (type === "script" || !type &&
ct.indexOf("javascript") >= 0) {
+ $.globalEval(data);
+ }
+ }
+ return data;
+ };
+ }
+};
+
+/**
+ * ajaxForm() provides a mechanism for fully automating form submission.
+ *
+ * The advantages of using this method instead of ajaxSubmit() are:
+ *
+ * 1: This method will include coordinates for <input type="image" />
elements (if the element
+ * is used to submit the form).
+ * 2. This method will include the submit element's name/value data (for the element
that was
+ * used to submit the form).
+ * 3. This method binds the submit() method to the form for you.
+ *
+ * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm
merely
+ * passes the options argument along after properly binding events for submit elements
and
+ * the form itself.
+ */
+$.fn.ajaxForm = function(options) {
+ // in jQuery 1.3+ we can fix mistakes with the ready state
+ if (this.length === 0) {
+ var o = { s: this.selector, c: this.context };
+ if (!$.isReady && o.s) {
+ log('DOM not ready, queuing ajaxForm');
+ $(function() {
+ $(o.s,o.c).ajaxForm(options);
+ });
+ return this;
+ }
+ // is your DOM ready?
http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+ log('terminating; zero elements found by selector' + ($.isReady ? '' :
' (DOM not ready)'));
+ return this;
+ }
+
+ return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
+ if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
+ e.preventDefault();
+ $(this).ajaxSubmit(options);
+ }
+ }).bind('click.form-plugin', function(e) {
+ var target = e.target;
+ var $el = $(target);
+ if (!($el.is(":submit,input:image"))) {
+ // is this a child element of the submit el? (ex: a span within a button)
+ var t = $el.closest(':submit');
+ if (t.length == 0) {
+ return;
+ }
+ target = t[0];
+ }
+ var form = this;
+ form.clk = target;
+ if (target.type == 'image') {
+ if (e.offsetX != undefined) {
+ form.clk_x = e.offsetX;
+ form.clk_y = e.offsetY;
+ } else if (typeof $.fn.offset == 'function') { // try to use dimensions
plugin
+ var offset = $el.offset();
+ form.clk_x = e.pageX - offset.left;
+ form.clk_y = e.pageY - offset.top;
+ } else {
+ form.clk_x = e.pageX - target.offsetLeft;
+ form.clk_y = e.pageY - target.offsetTop;
+ }
+ }
+ // clear form vars
+ setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
+ });
+};
+
+// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
+$.fn.ajaxFormUnbind = function() {
+ return this.unbind('submit.form-plugin click.form-plugin');
+};
+
+/**
+ * formToArray() gathers form element data into an array of objects that can
+ * be passed to any of the following ajax functions: $.get, $.post, or load.
+ * Each object in the array has both a 'name' and 'value' property. An
example of
+ * an array for a simple login form might be:
+ *
+ * [ { name: 'username', value: 'jresig' }, { name: 'password',
value: 'secret' } ]
+ *
+ * It is this array that is passed to pre-submit callback functions provided to the
+ * ajaxSubmit() and ajaxForm() methods.
+ */
+$.fn.formToArray = function(semantic) {
+ var a = [];
+ if (this.length === 0) {
+ return a;
+ }
+
+ var form = this[0];
+ var els = semantic ? form.getElementsByTagName('*') : form.elements;
+ if (!els) {
+ return a;
+ }
+
+ var i,j,n,v,el,max,jmax;
+ for(i=0, max=els.length; i < max; i++) {
+ el = els[i];
+ n = el.name;
+ if (!n) {
+ continue;
+ }
+
+ if (semantic && form.clk && el.type == "image") {
+ // handle image inputs on the fly when semantic == true
+ if(!el.disabled && form.clk == el) {
+ a.push({name: n, value: $(el).val()});
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value:
form.clk_y});
+ }
+ continue;
+ }
+
+ v = $.fieldValue(el, true);
+ if (v && v.constructor == Array) {
+ for(j=0, jmax=v.length; j < jmax; j++) {
+ a.push({name: n, value: v[j]});
+ }
+ }
+ else if (v !== null && typeof v != 'undefined') {
+ a.push({name: n, value: v});
+ }
+ }
+
+ if (!semantic && form.clk) {
+ // input type=='image' are not found in elements array! handle it here
+ var $input = $(form.clk), input = $input[0];
+ n = input.name;
+ if (n && !input.disabled && input.type == 'image') {
+ a.push({name: n, value: $input.val()});
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value:
form.clk_y});
+ }
+ }
+ return a;
+};
+
+/**
+ * Serializes form data into a 'submittable' string. This method will return a
string
+ * in the format: name1=value1&name2=value2
+ */
+$.fn.formSerialize = function(semantic) {
+ //hand off to jQuery.param for proper encoding
+ return $.param(this.formToArray(semantic));
+};
+
+/**
+ * Serializes all field elements in the jQuery object into a query string.
+ * This method will return a string in the format: name1=value1&name2=value2
+ */
+$.fn.fieldSerialize = function(successful) {
+ var a = [];
+ this.each(function() {
+ var n = this.name;
+ if (!n) {
+ return;
+ }
+ var v = $.fieldValue(this, successful);
+ if (v && v.constructor == Array) {
+ for (var i=0,max=v.length; i < max; i++) {
+ a.push({name: n, value: v[i]});
+ }
+ }
+ else if (v !== null && typeof v != 'undefined') {
+ a.push({name: this.name, value: v});
+ }
+ });
+ //hand off to jQuery.param for proper encoding
+ return $.param(a);
+};
+
+/**
+ * Returns the value(s) of the element in the matched set. For example, consider the
following form:
+ *
+ * <form><fieldset>
+ * <input name="A" type="text" />
+ * <input name="A" type="text" />
+ * <input name="B" type="checkbox" value="B1" />
+ * <input name="B" type="checkbox" value="B2"/>
+ * <input name="C" type="radio" value="C1" />
+ * <input name="C" type="radio" value="C2" />
+ * </fieldset></form>
+ *
+ * var v = $(':text').fieldValue();
+ * // if no values are entered into the text inputs
+ * v == ['','']
+ * // if values entered into the text inputs are 'foo' and 'bar'
+ * v == ['foo','bar']
+ *
+ * var v = $(':checkbox').fieldValue();
+ * // if neither checkbox is checked
+ * v === undefined
+ * // if both checkboxes are checked
+ * v == ['B1', 'B2']
+ *
+ * var v = $(':radio').fieldValue();
+ * // if neither radio is checked
+ * v === undefined
+ * // if first radio is checked
+ * v == ['C1']
+ *
+ * The successful argument controls whether or not the field element must be
'successful'
+ * (per
http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
+ * The default value of the successful argument is true. If this value is false the
value(s)
+ * for each element is returned.
+ *
+ * Note: This method *always* returns an array. If no valid value can be determined the
+ * array will be empty, otherwise it will contain one or more values.
+ */
+$.fn.fieldValue = function(successful) {
+ for (var val=[], i=0, max=this.length; i < max; i++) {
+ var el = this[i];
+ var v = $.fieldValue(el, successful);
+ if (v === null || typeof v == 'undefined' || (v.constructor == Array &&
!v.length)) {
+ continue;
+ }
+ v.constructor == Array ? $.merge(val, v) : val.push(v);
+ }
+ return val;
+};
+
+/**
+ * Returns the value of the field element.
+ */
+$.fieldValue = function(el, successful) {
+ var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
+ if (successful === undefined) {
+ successful = true;
+ }
+
+ if (successful && (!n || el.disabled || t == 'reset' || t ==
'button' ||
+ (t == 'checkbox' || t == 'radio') && !el.checked ||
+ (t == 'submit' || t == 'image') && el.form &&
el.form.clk != el ||
+ tag == 'select' && el.selectedIndex == -1)) {
+ return null;
+ }
+
+ if (tag == 'select') {
+ var index = el.selectedIndex;
+ if (index < 0) {
+ return null;
+ }
+ var a = [], ops = el.options;
+ var one = (t == 'select-one');
+ var max = (one ? index+1 : ops.length);
+ for(var i=(one ? index : 0); i < max; i++) {
+ var op = ops[i];
+ if (op.selected) {
+ var v = op.value;
+ if (!v) { // extra pain for IE...
+ v = (op.attributes && op.attributes['value'] &&
!(op.attributes['value'].specified)) ? op.text : op.value;
+ }
+ if (one) {
+ return v;
+ }
+ a.push(v);
+ }
+ }
+ return a;
+ }
+ return $(el).val();
+};
+
+/**
+ * Clears the form data. Takes the following actions on the form's input fields:
+ * - input text fields will have their 'value' property set to the empty string
+ * - select elements will have their 'selectedIndex' property set to -1
+ * - checkbox and radio inputs will have their 'checked' property set to false
+ * - inputs of type submit, button, reset, and hidden will *not* be effected
+ * - button elements will *not* be effected
+ */
+$.fn.clearForm = function() {
+ return this.each(function() {
+ $('input,select,textarea', this).clearFields();
+ });
+};
+
+/**
+ * Clears the selected form elements.
+ */
+$.fn.clearFields = $.fn.clearInputs = function() {
+ return this.each(function() {
+ var t = this.type, tag = this.tagName.toLowerCase();
+ if (t == 'text' || t == 'password' || tag == 'textarea') {
+ this.value = '';
+ }
+ else if (t == 'checkbox' || t == 'radio') {
+ this.checked = false;
+ }
+ else if (tag == 'select') {
+ this.selectedIndex = -1;
+ }
+ });
+};
+
+/**
+ * Resets the form data. Causes all form elements to be reset to their original value.
+ */
+$.fn.resetForm = function() {
+ return this.each(function() {
+ // guard against an input with the name of 'reset'
+ // note that IE reports the reset function as an 'object'
+ if (typeof this.reset == 'function' || (typeof this.reset == 'object'
&& !this.reset.nodeType)) {
+ this.reset();
+ }
+ });
+};
+
+/**
+ * Enables or disables any matching elements.
+ */
+$.fn.enable = function(b) {
+ if (b === undefined) {
+ b = true;
+ }
+ return this.each(function() {
+ this.disabled = !b;
+ });
+};
+
+/**
+ * Checks/unchecks any matching checkboxes or radio buttons and
+ * selects/deselects and matching option elements.
+ */
+$.fn.selected = function(select) {
+ if (select === undefined) {
+ select = true;
+ }
+ return this.each(function() {
+ var t = this.type;
+ if (t == 'checkbox' || t == 'radio') {
+ this.checked = select;
+ }
+ else if (this.tagName.toLowerCase() == 'option') {
+ var $sel = $(this).parent('select');
+ if (select && $sel[0] && $sel[0].type == 'select-one') {
+ // deselect all other options
+ $sel.find('option').selected(false);
+ }
+ this.selected = select;
+ }
+ });
+};
+
+// helper fn for console logging
+// set $.fn.ajaxSubmit.debug to true to enable debug logging
+function log() {
+ if ($.fn.ajaxSubmit.debug) {
+ var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
+ if (window.console && window.console.log) {
+ window.console.log(msg);
+ }
+ else if (window.opera && window.opera.postError) {
+ window.opera.postError(msg);
+ }
+ }
+};
+
+})(jQuery);
--- a/static/scripts/jquery.js Thu Feb 24 16:19:03 2011 -0500
+++ b/static/scripts/jquery.js Thu Feb 24 17:23:16 2011 -0500
@@ -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 @@
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.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 @@
if ( data && rnotwhite.test(data) ) {
// Inspired by code by Andrea Giammarchi
//
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom...
- 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 @@
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 @@
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 @@
// 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 @@
}
// Expose jQuery to the global object
-return (window.jQuery = window.$ = jQuery);
+return jQuery;
})();
@@ -1088,7 +1102,8 @@
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 @@
// 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 @@
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 @@
// 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 @@
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 @@
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 @@
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 @@
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 @@
// 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 @@
// 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 @@
// 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 @@
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 @@
}
}
+ // 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
// 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 @@
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 @@
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 @@
// 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 @@
// 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 @@
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 @@
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 ( 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 @@
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 ( (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 @@
}
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 @@
jQuery.event.special[ fix ] = {
setup: function() {
this.addEventListener( orig, handler, true );
- },
- teardown: function() {
+ },
+ teardown: function() {
this.removeEventListener( orig, handler, true );
}
};
@@ -3148,11 +3189,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
},
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 @@
},
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 @@
},
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 @@
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 @@
},
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 @@
// 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 @@
} catch(pseudoError) {
} finally {
if ( !old ) {
- context.removeAttribute( "id" );
+ oldContext.removeAttribute( "id" );
}
}
}
@@ -4845,11 +4892,11 @@
}, 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 @@
rtbody = /<tbody/i,
rhtml = /<|&#?\w+;/,
rnocache = /<(?:script|object|embed|option|style)/i,
- // checked="checked" or checked (html5)
+ // checked="checked" or checked
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
wrapMap = {
option: [ 1, "<select multiple='multiple'>",
"</select>" ],
@@ -5111,7 +5158,7 @@
}
if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
+ elem.parentNode.removeChild( elem );
}
}
}
@@ -5136,7 +5183,7 @@
},
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 @@
}
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 @@
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 @@
};
});
+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 @@
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 @@
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 ) {
-
- srcElements = elem.getElementsByTagName("*");
- destElements = clone.getElementsByTagName("*");
-
- if ( srcElements.length ) {
- for ( i = 0; srcElements[i]; ++i ) {
- cloneCopyEvent( srcElements[i], destElements[i] );
- }
- }
- }
- }
+ if ( deepDataAndEvents ) {
+ srcElements = getAll( elem );
+ destElements = getAll( clone );
+
+ 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.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 @@
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 @@
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 @@
* 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 @@
}
//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 @@
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 @@
// 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 @@
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 @@
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 @@
}
if ( callback ) {
- self.each( callback, [ responseText, status, jXHR ] );
+ self.each( callback, [ responseText, status, jqXHR ] );
}
}
});
@@ -6213,7 +6297,7 @@
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
- data = null;
+ data = undefined;
}
return jQuery.ajax({
@@ -6229,22 +6313,39 @@
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 @@
// 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 @@
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 @@
// 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 @@
}
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 @@
// 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 @@
}
// 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 @@
// 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 @@
// 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 @@
}
// 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 ] );
-
- if ( s.global ) {
- globalEventContext.trigger( "ajaxComplete", [ jXHR, s] );
+ completeDeferred.resolveWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s] );
// Handle the global AJAX counter
if ( !( --jQuery.active ) ) {
jQuery.event.trigger( "ajaxStop" );
@@ -6504,13 +6615,13 @@
}
// 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 @@
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 @@
// 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 @@
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 @@
}
// 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 @@
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 @@
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 @@
// 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 ];
- }
- if ( jQuery.etag[ s.url ] ) {
- requestHeaders[ "if-none-match" ] = jQuery.etag[ s.url ];
+ ifModifiedKey = ifModifiedKey || s.url;
+ if ( jQuery.lastModified[ ifModifiedKey ] ) {
+ requestHeaders[ "If-Modified-Since" ] = jQuery.lastModified[ ifModifiedKey
];
+ }
+ 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;
+
+ }
+
+ // Install callbacks on deferreds
+ for ( i in { success: 1, error: 1, complete: 1 } ) {
+ jqXHR[ i ]( s[ i ] );
+ }
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
} else {
-
- // Install callbacks on deferreds
- for ( i in { success: 1, error: 1, complete: 1 } ) {
- jXHR[ i ]( s[ i ] );
- }
-
- // Get transport
- transport = inspectPrefiltersOrTransports( transports, s, options, jXHR );
-
- // 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 );
- }
-
- 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 );
- }
- }
- }
- }
- return jXHR;
+ 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 {
+ 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 jqXHR;
},
// Serialize an array of form elements or a set of
@@ -6673,7 +6795,7 @@
}
// 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 @@
// 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 @@
* - 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 @@
// 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 @@
while( dataTypes[ 0 ] === "*" ) {
dataTypes.shift();
if ( ct === undefined ) {
- ct = jXHR.getResponseHeader( "content-type" );
+ ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
}
}
@@ -6822,8 +6944,9 @@
}
var dataTypes = s.dataTypes,
- converters = s.converters,
+ converters = {},
i,
+ key,
length = dataTypes.length,
tmp,
// Current and previous dataTypes
@@ -6840,6 +6963,16 @@
// 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 @@
});
// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString
/* internal */ ) {
-
- dataIsString = ( typeof s.data === "string" );
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var dataIsString = ( typeof s.data === "string" );
if ( s.dataTypes[ 0 ] === "jsonp" ||
originalSettings.jsonpCallback ||
@@ -6918,7 +7051,15 @@
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 @@
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 @@
// 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 @@
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 @@
-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 @@
* 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 @@
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 @@
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 @@
// Listener
callback = function( _, isAbort ) {
- // Was never called and is aborted or complete
- if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
-
- // Only called once
- callback = 0;
-
- // Do not keep as active anymore
- if ( handle ) {
- xhr.onreadystatechange = jQuery.noop;
- delete xhrs[ handle ];
+ var status,
+ statusText,
+ responseHeaders,
+ responses,
+ xml;
+
+ // 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:...
+ try {
+
+ // Was never called and is aborted or complete
+ if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
+
+ // Only called once
+ callback = undefined;
+
+ // Do not keep as active anymore
+ if ( handle ) {
+ xhr.onreadystatechange = jQuery.noop;
+ delete xhrCallbacks[ handle ];
+ }
+
+ // 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 = "";
+ }
+
+ // 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;
+ }
+ }
}
-
- // If it's an abort
- if ( isAbort ) {
- // Abort it manually if needed
- if ( xhr.readyState !== 4 ) {
- xhr.abort();
- }
- } else {
- // Get info
- var status = xhr.status,
- statusText,
- 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 = "";
- }
-
- // 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 ( !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 @@
} 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 @@
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 @@
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 @@
if ( win ) {
win.scrollTo(
!i ? val : jQuery(win).scrollLeft(),
- i ? val : jQuery(win).scrollTop()
+ i ? val : jQuery(win).scrollTop()
);
} else {
@@ -8173,4 +8312,5 @@
});
+window.jQuery = window.$ = jQuery;
})(window);
--- a/static/scripts/packed/jquery.form.js Thu Feb 24 16:19:03 2011 -0500
+++ b/static/scripts/packed/jquery.form.js Thu Feb 24 17:23:16 2011 -0500
@@ -1,1 +1,11 @@
-(function(b){b.fn.ajaxSubmit=function(p){if(!this.length){a("ajaxSubmit: skipping
submit process - no element selected");return this}if(typeof
p=="function"){p={success:p}}p=b.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},p||{});var
s={};this.trigger("form-pre-serialize",[this,p,s]);if(s.veto){a("ajaxSubmit:
submit vetoed via form-pre-serialize trigger");return
this}if(p.beforeSerialize&&p.beforeSerialize(this,p)===false){a("ajaxSubmit:
submit aborted via beforeSerialize callback");return this}var
i=this.formToArray(p.semantic);if(p.data){p.extraData=p.data;for(var e in
p.data){if(p.data[e] instanceof Array){for(var f in
p.data[e]){i.push({name:e,value:p.data[e][f]})}}else{i.push({name:e,value:p.data[e]})}}}if(p.beforeSubmit&&p.beforeSubmit(i,this,p)===false){a("ajaxSubmit:
submit aborted via beforeSubmit callback");return
this}this.trigger("form-submit-validate",[i,this,p,s]);if(s.veto){a("ajaxSubmit:
submit vetoed via form-submit-validate trigger");return this}var
d=b.param(i);if(p.type.toUpperCase()=="GET"){p.url+=(p.url.indexOf("?")>=0?"&":"?")+d;p.data=null}else{p.data=d}var
r=this,h=[];if(p.resetForm){h.push(function(){r.resetForm()})}if(p.clearForm){h.push(function(){r.clearForm()})}if(!p.dataType&&p.target){var
m=p.success||function(){};h.push(function(j){b(p.target).html(j).each(m,arguments)})}else{if(p.success){h.push(p.success)}}p.success=function(q,k){for(var
n=0,j=h.length;n<j;n++){h[n].apply(p,[q,k,r])}};var
c=b("input:file",this).fieldValue();var o=false;for(var
g=0;g<c.length;g++){if(c[g]){o=true}}if(p.iframe||o){if(p.closeKeepAlive){b.get(p.closeKeepAlive,l)}else{l()}}else{b.ajax(p)}this.trigger("form-submit-notify",[this,p]);return
this;function l(){var
u=r[0];if(b(":input[name=submit]",u).length){alert('Error: Form elements
must not be named "submit".');return}var q=b.extend({},b.ajaxSettings,p);var
E=jQuery.extend(true,{},b.extend(true,{},b.ajaxSettings),q);var
t="jqFormIO"+(new Date().getTime());var A=b('<iframe
id="'+t+'" name="'+t+'" src="about:blank"
/>');var
C=A[0];A.css({position:"absolute",top:"-1000px",left:"-1000px"});var
D={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;A.attr("src","about:blank")}};var
B=q.global;if(B&&!b.active++){b.event.trigger("ajaxStart")}if(B){b.event.trigger("ajaxSend",[D,q])}if(E.beforeSend&&E.beforeSend(D,E)===false){E.global&&jQuery.active--;return}if(D.aborted){return}var
k=0;var w=0;var j=u.clk;if(j){var
v=j.name;if(v&&!j.disabled){p.extraData=p.extraData||{};p.extraData[v]=j.value;if(j.type=="image"){p.extraData[name+".x"]=u.clk_x;p.extraData[name+".y"]=u.clk_y}}}setTimeout(function(){var
H=r.attr("target"),F=r.attr("action");u.setAttribute("target",t);if(u.getAttribute("method")!="POST"){u.setAttribute("method","POST")}if(u.getAttribute("action")!=q.url){u.setAttribute("action",q.url)}if(!p.skipEncodingOverride){r.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(q.timeout){setTimeout(function(){w=true;x()},q.timeout)}var
G=[];try{if(p.extraData){for(var I in p.extraData){G.push(b('<input
type="hidden" name="'+I+'"
value="'+p.extraData[I]+'"
/>').appendTo(u)[0])}}A.appendTo("body");C.attachEvent?C.attachEvent("onload",x):C.addEventListener("load",x,false);u.submit()}finally{u.setAttribute("action",F);H?u.setAttribute("target",H):r.removeAttr("target");b(G).remove()}},10);var
y=0;function
x(){if(k++){return}C.detachEvent?C.detachEvent("onload",x):C.removeEventListener("load",x,false);var
F=true;try{if(w){throw"timeout"}var
G,I;I=C.contentWindow?C.contentWindow.document:C.contentDocument?C.contentDocument:C.document;if((I.body==null||I.body.innerHTML=="")&&!y){y=1;k--;setTimeout(x,100);return}D.responseText=I.body?I.body.innerHTML:null;D.responseXML=I.XMLDocument?I.XMLDocument:I;D.getResponseHeader=function(K){var
J={"content-type":q.dataType};return
J[K]};if(q.dataType=="json"||q.dataType=="script"){var
n=I.getElementsByTagName("textarea")[0];D.responseText=n?n.value:D.responseText}else{if(q.dataType=="xml"&&!D.responseXML&&D.responseText!=null){D.responseXML=z(D.responseText)}}G=b.httpData(D,q.dataType)}catch(H){F=false;b.handleError(q,D,"error",H)}if(F){q.success(G,"success");if(B){b.event.trigger("ajaxSuccess",[D,q])}}if(B){b.event.trigger("ajaxComplete",[D,q])}if(B&&!--b.active){b.event.trigger("ajaxStop")}if(q.complete){q.complete(D,F?"success":"error")}setTimeout(function(){A.remove();D.responseXML=null},100)}function
z(n,F){if(window.ActiveXObject){F=new
ActiveXObject("Microsoft.XMLDOM");F.async="false";F.loadXML(n)}else{F=(new
DOMParser()).parseFromString(n,"text/xml")}return(F&&F.documentElement&&F.documentElement.tagName!="parsererror")?F:null}}};b.fn.ajaxForm=function(c){return
this.ajaxFormUnbind().bind("submit.form-plugin",function(){b(this).ajaxSubmit(c);return
false}).each(function(){b(":submit,input:image",this).bind("click.form-plugin",function(f){var
d=this.form;d.clk=this;if(this.type=="image"){if(f.offsetX!=undefined){d.clk_x=f.offsetX;d.clk_y=f.offsetY}else{if(typeof
b.fn.offset=="function"){var
g=b(this).offset();d.clk_x=f.pageX-g.left;d.clk_y=f.pageY-g.top}else{d.clk_x=f.pageX-this.offsetLeft;d.clk_y=f.pageY-this.offsetTop}}}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},10)})})};b.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return
this.each(function(){b(":submit,input:image",this).unbind("click.form-plugin")})};b.fn.formToArray=function(q){var
p=[];if(this.length==0){return p}var d=this[0];var
h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var
k=0,m=h.length;k<m;k++){var e=h[k];var
f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}var
r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var
g=0,c=r.length;g<c;g++){p.push({name:f,value:r[g]})}}else{if(r!==null&&typeof
r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var
l=d.getElementsByTagName("input");for(var k=0,m=l.length;k<m;k++){var
o=l[k];var
f=o.name;if(f&&!o.disabled&&o.type=="image"&&d.clk==o){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}}return
p};b.fn.formSerialize=function(c){return
b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var
c=[];this.each(function(){var h=this.name;if(!h){return}var
f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var
g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof
f!="undefined"){c.push({name:this.name,value:f})}}});return
b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var
f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof
d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return
g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(typeof
j=="undefined"){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return
null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var
m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var
f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var
o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return
o}m.push(o)}}return m}return c.value};b.fn.clearForm=function(){return
this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return
this.each(function(){var
d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return
this.each(function(){if(typeof this.reset=="function"||(typeof
this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c==undefined){c=true}return
this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c==undefined){c=true}return
this.each(function(){var
d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var
e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function
a(){if(b.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form]
"+Array.prototype.join.call(arguments,""))}}})(jQuery);
\ No newline at end of file
+/*
+ * jQuery Form Plugin
+ * version: 2.63 (29-JAN-2011)
+ * @requires jQuery v1.3.2 or later
+ *
+ * Examples and documentation at:
http://malsup.com/jquery/form/
+ * Dual licensed under the MIT and GPL licenses:
+ *
http://www.opensource.org/licenses/mit-license.php
+ *
http://www.gnu.org/licenses/gpl.html
+ */
+(function(b){b.fn.ajaxSubmit=function(t){if(!this.length){a("ajaxSubmit: skipping
submit process - no element selected");return this}if(typeof
t=="function"){t={success:t}}var h=this.attr("action");var d=(typeof
h==="string")?b.trim(h):"";if(d){d=(d.match(/^([^#]+)/)||[])[1]}d=d||window.location.href||"";t=b.extend(true,{url:d,type:this[0].getAttribute("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var
u={};this.trigger("form-pre-serialize",[this,t,u]);if(u.veto){a("ajaxSubmit:
submit vetoed via form-pre-serialize trigger");return
this}if(t.beforeSerialize&&t.beforeSerialize(this,t)===false){a("ajaxSubmit:
submit aborted via beforeSerialize callback");return this}var
f,p,m=this.formToArray(t.semantic);if(t.data){t.extraData=t.data;for(f in
t.data){if(t.data[f] instanceof Array){for(var i in
t.data[f]){m.push({name:f,value:t.data[f][i]})}}else{p=t.data[f];p=b.isFunction(p)?p():p;m.push({name:f,value:p})}}}if(t.beforeSubmit&&t.beforeSubmit(m,this,t)===false){a("ajaxSubmit:
submit aborted via beforeSubmit callback");return
this}this.trigger("form-submit-validate",[m,this,t,u]);if(u.veto){a("ajaxSubmit:
submit vetoed via form-submit-validate trigger");return this}var
c=b.param(m);if(t.type.toUpperCase()=="GET"){t.url+=(t.url.indexOf("?")>=0?"&":"?")+c;t.data=null}else{t.data=c}var
s=this,l=[];if(t.resetForm){l.push(function(){s.resetForm()})}if(t.clearForm){l.push(function(){s.clearForm()})}if(!t.dataType&&t.target){var
r=t.success||function(){};l.push(function(n){var
k=t.replaceTarget?"replaceWith":"html";b(t.target)[k](n).each(r,arguments)})}else{if(t.success){l.push(t.success)}}t.success=function(w,n,x){var
v=t.context||t;for(var q=0,k=l.length;q<k;q++){l[q].apply(v,[w,n,x||s,s])}};var
g=b("input:file",this).length>0;var e="multipart/form-data";var
j=(s.attr("enctype")==e||s.attr("encoding")==e);if(t.iframe!==false&&(g||t.iframe||j)){if(t.closeKeepAlive){b.get(t.closeKeepAlive,o)}else{o()}}else{b.ajax(t)}this.trigger("form-submit-notify",[this,t]);return
this;function o(){var
v=s[0];if(b(":input[name=submit],:input[id=submit]",v).length){alert('Error:
Form elements must not have name or id of "submit".');return}var
B=b.extend(true,{},b.ajaxSettings,t);B.context=B.context||B;var
E="jqFormIO"+(new Date().getTime()),z="_"+E;var w=b('<iframe
id="'+E+'" name="'+E+'"
src="'+B.iframeSrc+'" />');var
A=w[0];w.css({position:"absolute",top:"-1000px",left:"-1000px"});var
x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;w.attr("src",B.iframeSrc)}};var
I=B.global;if(I&&!b.active++){b.event.trigger("ajaxStart")}if(I){b.event.trigger("ajaxSend",[x,B])}if(B.beforeSend&&B.beforeSend.call(B.context,x,B)===false){if(B.global){b.active--}return}if(x.aborted){return}var
H=0;var y=v.clk;if(y){var
F=y.name;if(F&&!y.disabled){B.extraData=B.extraData||{};B.extraData[F]=y.value;if(y.type=="image"){B.extraData[F+".x"]=v.clk_x;B.extraData[F+".y"]=v.clk_y}}}function
G(){var
O=s.attr("target"),M=s.attr("action");v.setAttribute("target",E);if(v.getAttribute("method")!="POST"){v.setAttribute("method","POST")}if(v.getAttribute("action")!=B.url){v.setAttribute("action",B.url)}if(!B.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(B.timeout){setTimeout(function(){H=true;D()},B.timeout)}var
N=[];try{if(B.extraData){for(var P in B.extraData){N.push(b('<input
type="hidden" name="'+P+'"
value="'+B.extraData[P]+'"
/>').appendTo(v)[0])}}w.appendTo("body");A.attachEvent?A.attachEvent("onload",D):A.addEventListener("load",D,false);v.submit()}finally{v.setAttribute("action",M);if(O){v.setAttribute("target",O)}else{s.removeAttr("target")}b(N).remove()}}if(B.forceSync){G()}else{setTimeout(G,10)}var
K,L,J=50;function
D(){L=A.contentWindow?A.contentWindow.document:A.contentDocument?A.contentDocument:A.document;if(!L||L.location.href==B.iframeSrc){return}A.detachEvent?A.detachEvent("onload",D):A.removeEventListener("load",D,false);var
N=true;try{if(H){throw"timeout"}var
R=B.dataType=="xml"||L.XMLDocument||b.isXMLDoc(L);a("isXml="+R);if(!R&&window.opera&&(L.body==null||L.body.innerHTML=="")){if(--J){a("requeing
onLoad callback, DOM not
available");setTimeout(D,250);return}}x.responseText=L.body?L.body.innerHTML:L.documentElement?L.documentElement.innerHTML:null;x.responseXML=L.XMLDocument?L.XMLDocument:L;x.getResponseHeader=function(T){var
S={"content-type":B.dataType};return S[T]};var
Q=/(json|script)/.test(B.dataType);if(Q||B.textarea){var
M=L.getElementsByTagName("textarea")[0];if(M){x.responseText=M.value}else{if(Q){var
P=L.getElementsByTagName("pre")[0];var
n=L.getElementsByTagName("body")[0];if(P){x.responseText=P.textContent}else{if(n){x.responseText=n.innerHTML}}}}}else{if(B.dataType=="xml"&&!x.responseXML&&x.responseText!=null){x.responseXML=C(x.responseText)}}K=k(x,B.dataType,B)}catch(O){a("error
caught:",O);N=false;x.error=O;B.error.call(B.context,x,"error",O);I&&b.event.trigger("ajaxError",[x,B,O])}if(x.aborted){a("upload
aborted");N=false}if(N){B.success.call(B.context,K,"success",x);I&&b.event.trigger("ajaxSuccess",[x,B])}I&&b.event.trigger("ajaxComplete",[x,B]);if(I&&!--b.active){b.event.trigger("ajaxStop")}B.complete&&B.complete.call(B.context,x,N?"success":"error");setTimeout(function(){w.removeData("form-plugin-onload");w.remove();x.responseXML=null},100)}var
C=b.parseXML||function(n,M){if(window.ActiveXObject){M=new
ActiveXObject("Microsoft.XMLDOM");M.async="false";M.loadXML(n)}else{M=(new
DOMParser()).parseFromString(n,"text/xml")}return(M&&M.documentElement&&M.documentElement.nodeName!="parsererror")?M:null};var
q=b.parseJSON||function(n){return
window["eval"]("("+n+")")};var k=function(Q,O,N){var
M=Q.getResponseHeader("content-type")||"",n=O==="xml"||!O&&M.indexOf("xml")>=0,P=n?Q.responseXML:Q.responseText;if(n&&P.documentElement.nodeName==="parsererror"){b.error&&b.error("parsererror")}if(N&&N.dataFilter){P=N.dataFilter(P,O)}if(typeof
P==="string"){if(O==="json"||!O&&M.indexOf("json")>=0){P=q(P)}else{if(O==="script"||!O&&M.indexOf("javascript")>=0){b.globalEval(P)}}}return
P}}};b.fn.ajaxForm=function(c){if(this.length===0){var
d={s:this.selector,c:this.context};if(!b.isReady&&d.s){a("DOM not ready,
queuing ajaxForm");b(function(){b(d.s,d.c).ajaxForm(c)});return
this}a("terminating; zero elements found by
selector"+(b.isReady?"":" (DOM not ready)"));return this}return
this.ajaxFormUnbind().bind("submit.form-plugin",function(f){if(!f.isDefaultPrevented()){f.preventDefault();b(this).ajaxSubmit(c)}}).bind("click.form-plugin",function(j){var
i=j.target;var g=b(i);if(!(g.is(":submit,input:image"))){var
f=g.closest(":submit");if(f.length==0){return}i=f[0]}var
h=this;h.clk=i;if(i.type=="image"){if(j.offsetX!=undefined){h.clk_x=j.offsetX;h.clk_y=j.offsetY}else{if(typeof
b.fn.offset=="function"){var
k=g.offset();h.clk_x=j.pageX-k.left;h.clk_y=j.pageY-k.top}else{h.clk_x=j.pageX-i.offsetLeft;h.clk_y=j.pageY-i.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return
this.unbind("submit.form-plugin
click.form-plugin")};b.fn.formToArray=function(q){var p=[];if(this.length===0){return
p}var d=this[0];var g=q?d.getElementsByTagName("*"):d.elements;if(!g){return
p}var
k,h,f,r,e,m,c;for(k=0,m=g.length;k<m;k++){e=g[k];f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f,value:b(e).val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(h=0,c=r.length;h<c;h++){p.push({name:f,value:r[h]})}}else{if(r!==null&&typeof
r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var
l=b(d.clk),o=l[0];f=o.name;if(f&&!o.disabled&&o.type=="image"){p.push({name:f,value:l.val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}return
p};b.fn.formSerialize=function(c){return
b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var
c=[];this.each(function(){var h=this.name;if(!h){return}var
f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var
g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof
f!="undefined"){c.push({name:this.name,value:f})}}});return
b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var
f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof
d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return
g};b.fieldValue=function(c,j){var
e=c.name,p=c.type,q=c.tagName.toLowerCase();if(j===undefined){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return
null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var
m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var
f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var
o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return
o}m.push(o)}}return m}return b(c).val()};b.fn.clearForm=function(){return
this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return
this.each(function(){var
d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return
this.each(function(){if(typeof this.reset=="function"||(typeof
this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c===undefined){c=true}return
this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c===undefined){c=true}return
this.each(function(){var
d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var
e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function
a(){if(b.fn.ajaxSubmit.debug){var c="[jquery.form]
"+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(c)}else{if(window.opera&&window.opera.postError){window.opera.postError(c)}}}}})(jQuery);
\ No newline at end of file
--- a/static/scripts/packed/jquery.js Thu Feb 24 16:19:03 2011 -0500
+++ b/static/scripts/packed/jquery.js Thu Feb 24 17:23:16 2011 -0500
@@ -1,8 +1,23 @@
-(function(aP,E){var ae=aP.document;var a=(function(){var bf=function(bA,bB){return new
bf.fn.init(bA,bB,bd)},bv=aP.jQuery,bh=aP.$,bd,bz=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,bn=/\S/,bj=/^\s+/,be=/\s+$/,bi=/\d/,bb=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bo=/^[\],:{}\s]*$/,bx=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bq=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bk=/(?:^|:|,)(?:\s*\[)+/g,a9=/(webkit)[
\/]([\w.]+)/,bs=/(opera)(?:.*version)?[ \/]([\w.]+)/,br=/(msie)
([\w.]+)/,bt=/(mozilla)(?:.*?
rv:([\w.]+))?/,by=navigator.userAgent,bw,bu=false,bc,a4="then done fail isResolved
isRejected promise".split("
"),a5,bm=Object.prototype.toString,bg=Object.prototype.hasOwnProperty,ba=Array.prototype.push,bl=Array.prototype.slice,bp=String.prototype.trim,a6=Array.prototype.indexOf,a8={};bf.fn=bf.prototype={constructor:bf,init:function(bA,bE,bD){var
bC,bF,bB,bG;if(!bA){return
this}if(bA.nodeType){this.context=this[0]=bA;this.length=1;return
this}if(bA==="body"&&!bE&&ae.body){this.context=ae;this[0]=ae.body;this.selector="body";this.length=1;return
this}if(typeof
bA==="string"){bC=bz.exec(bA);if(bC&&(bC[1]||!bE)){if(bC[1]){bE=bE
instanceof
bf?bE[0]:bE;bG=(bE?bE.ownerDocument||bE:ae);bB=bb.exec(bA);if(bB){if(bf.isPlainObject(bE)){bA=[ae.createElement(bB[1])];bf.fn.attr.call(bA,bE,true)}else{bA=[bG.createElement(bB[1])]}}else{bB=bf.buildFragment([bC[1]],[bG]);bA=(bB.cacheable?bf.clone(bB.fragment):bB.fragment).childNodes}return
bf.merge(this,bA)}else{bF=ae.getElementById(bC[2]);if(bF&&bF.parentNode){if(bF.id!==bC[2]){return
bD.find(bA)}this.length=1;this[0]=bF}this.context=ae;this.selector=bA;return
this}}else{if(!bE||bE.jquery){return(bE||bD).find(bA)}else{return
this.constructor(bE).find(bA)}}}else{if(bf.isFunction(bA)){return
bD.ready(bA)}}if(bA.selector!==E){this.selector=bA.selector;this.context=bA.context}return
bf.makeArray(bA,this)},selector:"",jquery:"1.5",length:0,size:function(){return
this.length},toArray:function(){return bl.call(this,0)},get:function(bA){return
bA==null?this.toArray():(bA<0?this[this.length+bA]:this[bA])},pushStack:function(bB,bD,bA){var
bC=this.constructor();if(bf.isArray(bB)){ba.apply(bC,bB)}else{bf.merge(bC,bB)}bC.prevObject=this;bC.context=this.context;if(bD==="find"){bC.selector=this.selector+(this.selector?"
":"")+bA}else{if(bD){bC.selector=this.selector+"."+bD+"("+bA+")"}}return
bC},each:function(bB,bA){return
bf.each(this,bB,bA)},ready:function(bA){bf.bindReady();bc.done(bA);return
this},eq:function(bA){return
bA===-1?this.slice(bA):this.slice(bA,+bA+1)},first:function(){return
this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return
this.pushStack(bl.apply(this,arguments),"slice",bl.call(arguments).join(","))},map:function(bA){return
this.pushStack(bf.map(this,function(bC,bB){return
bA.call(bC,bB,bC)}))},end:function(){return
this.prevObject||this.constructor(null)},push:ba,sort:[].sort,splice:[].splice};bf.fn.init.prototype=bf.fn;bf.extend=bf.fn.extend=function(){var
bJ,bC,bA,bB,bG,bH,bF=arguments[0]||{},bE=1,bD=arguments.length,bI=false;if(typeof
bF==="boolean"){bI=bF;bF=arguments[1]||{};bE=2}if(typeof
bF!=="object"&&!bf.isFunction(bF)){bF={}}if(bD===bE){bF=this;--bE}for(;bE<bD;bE++){if((bJ=arguments[bE])!=null){for(bC
in
bJ){bA=bF[bC];bB=bJ[bC];if(bF===bB){continue}if(bI&&bB&&(bf.isPlainObject(bB)||(bG=bf.isArray(bB)))){if(bG){bG=false;bH=bA&&bf.isArray(bA)?bA:[]}else{bH=bA&&bf.isPlainObject(bA)?bA:{}}bF[bC]=bf.extend(bI,bH,bB)}else{if(bB!==E){bF[bC]=bB}}}}}return
bF};bf.extend({noConflict:function(bA){aP.$=bh;if(bA){aP.jQuery=bv}return
bf},isReady:false,readyWait:1,ready:function(bA){if(bA===true){bf.readyWait--}if(!bf.readyWait||(bA!==true&&!bf.isReady)){if(!ae.body){return
setTimeout(bf.ready,1)}bf.isReady=true;if(bA!==true&&--bf.readyWait>0){return}bc.resolveWith(ae,[bf]);if(bf.fn.trigger){bf(ae).trigger("ready").unbind("ready")}}},bindReady:function(){if(bu){return}bu=true;if(ae.readyState==="complete"){return
setTimeout(bf.ready,1)}if(ae.addEventListener){ae.addEventListener("DOMContentLoaded",a5,false);aP.addEventListener("load",bf.ready,false)}else{if(ae.attachEvent){ae.attachEvent("onreadystatechange",a5);aP.attachEvent("onload",bf.ready);var
bA=false;try{bA=aP.frameElement==null}catch(bB){}if(ae.documentElement.doScroll&&bA){a7()}}}},isFunction:function(bA){return
bf.type(bA)==="function"},isArray:Array.isArray||function(bA){return
bf.type(bA)==="array"},isWindow:function(bA){return bA&&typeof
bA==="object"&&"setInterval" in bA},isNaN:function(bA){return
bA==null||!bi.test(bA)||isNaN(bA)},type:function(bA){return
bA==null?String(bA):a8[bm.call(bA)]||"object"},isPlainObject:function(bB){if(!bB||bf.type(bB)!=="object"||bB.nodeType||bf.isWindow(bB)){return
false}if(bB.constructor&&!bg.call(bB,"constructor")&&!bg.call(bB.constructor.prototype,"isPrototypeOf")){return
false}var bA;for(bA in bB){}return
bA===E||bg.call(bB,bA)},isEmptyObject:function(bB){for(var bA in bB){return false}return
true},error:function(bA){throw bA},parseJSON:function(bA){if(typeof
bA!=="string"||!bA){return
null}bA=bf.trim(bA);if(bo.test(bA.replace(bx,"(a)").replace(bq,"]").replace(bk,""))){return
aP.JSON&&aP.JSON.parse?aP.JSON.parse(bA):(new Function("return
"+bA))()}else{bf.error("Invalid JSON:
"+bA)}},parseXML:function(bC,bA,bB){if(aP.DOMParser){bB=new
DOMParser();bA=bB.parseFromString(bC,"text/xml")}else{bA=new
ActiveXObject("Microsoft.XMLDOM");bA.async="false";bA.loadXML(bC)}bB=bA.documentElement;if(!bB||!bB.nodeName||bB.nodeName==="parsererror"){bf.error("Invalid
XML: "+bC)}return
bA},noop:function(){},globalEval:function(bC){if(bC&&bn.test(bC)){var
bB=ae.getElementsByTagName("head")[0]||ae.documentElement,bA=ae.createElement("script");bA.type="text/javascript";if(bf.support.scriptEval()){bA.appendChild(ae.createTextNode(bC))}else{bA.text=bC}bB.insertBefore(bA,bB.firstChild);bB.removeChild(bA)}},nodeName:function(bB,bA){return
bB.nodeName&&bB.nodeName.toUpperCase()===bA.toUpperCase()},each:function(bD,bH,bC){var
bB,bE=0,bF=bD.length,bA=bF===E||bf.isFunction(bD);if(bC){if(bA){for(bB in
bD){if(bH.apply(bD[bB],bC)===false){break}}}else{for(;bE<bF;){if(bH.apply(bD[bE++],bC)===false){break}}}}else{if(bA){for(bB
in bD){if(bH.call(bD[bB],bB,bD[bB])===false){break}}}else{for(var
bG=bD[0];bE<bF&&bH.call(bG,bE,bG)!==false;bG=bD[++bE]){}}}return
bD},trim:bp?function(bA){return bA==null?"":bp.call(bA)}:function(bA){return
bA==null?"":bA.toString().replace(bj,"").replace(be,"")},makeArray:function(bD,bB){var
bA=bB||[];if(bD!=null){var
bC=bf.type(bD);if(bD.length==null||bC==="string"||bC==="function"||bC==="regexp"||bf.isWindow(bD)){ba.call(bA,bD)}else{bf.merge(bA,bD)}}return
bA},inArray:function(bC,bD){if(bD.indexOf){return bD.indexOf(bC)}for(var
bA=0,bB=bD.length;bA<bB;bA++){if(bD[bA]===bC){return bA}}return
-1},merge:function(bE,bC){var bD=bE.length,bB=0;if(typeof
bC.length==="number"){for(var
bA=bC.length;bB<bA;bB++){bE[bD++]=bC[bB]}}else{while(bC[bB]!==E){bE[bD++]=bC[bB++]}}bE.length=bD;return
bE},grep:function(bB,bG,bA){var bC=[],bF;bA=!!bA;for(var
bD=0,bE=bB.length;bD<bE;bD++){bF=!!bG(bB[bD],bD);if(bA!==bF){bC.push(bB[bD])}}return
bC},map:function(bB,bG,bA){var bC=[],bF;for(var
bD=0,bE=bB.length;bD<bE;bD++){bF=bG(bB[bD],bD,bA);if(bF!=null){bC[bC.length]=bF}}return
bC.concat.apply([],bC)},guid:1,proxy:function(bC,bB,bA){if(arguments.length===2){if(typeof
bB==="string"){bA=bC;bC=bA[bB];bB=E}else{if(bB&&!bf.isFunction(bB)){bA=bB;bB=E}}}if(!bB&&bC){bB=function(){return
bC.apply(bA||this,arguments)}}if(bC){bB.guid=bC.guid=bC.guid||bB.guid||bf.guid++}return
bB},access:function(bA,bI,bG,bC,bF,bH){var bB=bA.length;if(typeof
bI==="object"){for(var bD in bI){bf.access(bA,bD,bI[bD],bC,bF,bG)}return
bA}if(bG!==E){bC=!bH&&bC&&bf.isFunction(bG);for(var
bE=0;bE<bB;bE++){bF(bA[bE],bI,bC?bG.call(bA[bE],bE,bF(bA[bE],bI)):bG,bH)}return
bA}return bB?bF(bA[0],bI):E},now:function(){return(new
Date()).getTime()},_Deferred:function(){var bD=[],bE,bB,bC,bA={done:function(){if(!bC){var
bG=arguments,bH,bK,bJ,bI,bF;if(bE){bF=bE;bE=0}for(bH=0,bK=bG.length;bH<bK;bH++){bJ=bG[bH];bI=bf.type(bJ);if(bI==="array"){bA.done.apply(bA,bJ)}else{if(bI==="function"){bD.push(bJ)}}}if(bF){bA.resolveWith(bF[0],bF[1])}}return
this},resolveWith:function(bG,bF){if(!bC&&!bE&&!bB){bB=1;try{while(bD[0]){bD.shift().apply(bG,bF)}}finally{bE=[bG,bF];bB=0}}return
this},resolve:function(){bA.resolveWith(bf.isFunction(this.promise)?this.promise():this,arguments);return
this},isResolved:function(){return !!(bB||bE)},cancel:function(){bC=1;bD=[];return
this}};return bA},Deferred:function(bB){var
bA=bf._Deferred(),bD=bf._Deferred(),bC;bf.extend(bA,{then:function(bF,bE){bA.done(bF).fail(bE);return
this},fail:bD.done,rejectWith:bD.resolveWith,reject:bD.resolve,isRejected:bD.isResolved,promise:function(bF,bE){if(bF==null){if(bC){return
bC}bC=bF={}}bE=a4.length;while(bE--){bF[a4[bE]]=bA[a4[bE]]}return
bF}});bA.then(bD.cancel,bA.cancel);delete bA.cancel;if(bB){bB.call(bA,bA)}return
bA},when:function(bD){var
bC=arguments,bE=bC.length,bB=bE<=1&&bD&&bf.isFunction(bD.promise)?bD:bf.Deferred(),bF=bB.promise(),bA;if(bE>1){bA=new
Array(bE);bf.each(bC,function(bG,bH){bf.when(bH).then(function(bI){bA[bG]=arguments.length>1?bl.call(arguments,0):bI;if(!--bE){bB.resolveWith(bF,bA)}},bB.reject)})}else{if(bB!==bD){bB.resolve(bD)}}return
bF},uaMatch:function(bB){bB=bB.toLowerCase();var
bA=a9.exec(bB)||bs.exec(bB)||br.exec(bB)||bB.indexOf("compatible")<0&&bt.exec(bB)||[];return{browser:bA[1]||"",version:bA[2]||"0"}},sub:function(){function
bB(bD,bE){return new
bB.fn.init(bD,bE)}bf.extend(true,bB,this);bB.superclass=this;bB.fn=bB.prototype=this();bB.fn.constructor=bB;bB.subclass=this.subclass;bB.fn.init=function
bC(bD,bE){if(bE&&bE instanceof bf&&!(bE instanceof bB)){bE=bB(bE)}return
bf.fn.init.call(this,bD,bE,bA)};bB.fn.init.prototype=bB.fn;var bA=bB(ae);return
bB},browser:{}});bc=bf._Deferred();bf.each("Boolean Number String Function Array Date
RegExp Object".split(" "),function(bB,bA){a8["[object
"+bA+"]"]=bA.toLowerCase()});bw=bf.uaMatch(by);if(bw.browser){bf.browser[bw.browser]=true;bf.browser.version=bw.version}if(bf.browser.webkit){bf.browser.safari=true}if(a6){bf.inArray=function(bA,bB){return
a6.call(bB,bA)}}if(bn.test("\xA0")){bj=/^[\s\xA0]+/;be=/[\s\xA0]+$/}bd=bf(ae);if(ae.addEventListener){a5=function(){ae.removeEventListener("DOMContentLoaded",a5,false);bf.ready()}}else{if(ae.attachEvent){a5=function(){if(ae.readyState==="complete"){ae.detachEvent("onreadystatechange",a5);bf.ready()}}}}function
a7(){if(bf.isReady){return}try{ae.documentElement.doScroll("left")}catch(bA){setTimeout(a7,1);return}bf.ready()}return(aP.jQuery=aP.$=bf)})();(function(){a.support={};var
a4=ae.createElement("div");a4.style.display="none";a4.innerHTML="
<link/><table></table><a href='/a'
style='color:red;float:left;opacity:.55;'>a</a><input
type='checkbox'/>";var
bb=a4.getElementsByTagName("*"),a9=a4.getElementsByTagName("a")[0],ba=ae.createElement("select"),a5=ba.appendChild(ae.createElement("option"));if(!bb||!bb.length||!a9){return}a.support={leadingWhitespace:a4.firstChild.nodeType===3,tbody:!a4.getElementsByTagName("tbody").length,htmlSerialize:!!a4.getElementsByTagName("link").length,style:/red/.test(a9.getAttribute("style")),hrefNormalized:a9.getAttribute("href")==="/a",opacity:/^0.55$/.test(a9.style.opacity),cssFloat:!!a9.style.cssFloat,checkOn:a4.getElementsByTagName("input")[0].value==="on",optSelected:a5.selected,deleteExpando:true,optDisabled:false,checkClone:false,_scriptEval:null,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};ba.disabled=true;a.support.optDisabled=!a5.disabled;a.support.scriptEval=function(){if(a.support._scriptEval===null){var
bd=ae.documentElement,be=ae.createElement("script"),bg="script"+a.now();be.type="text/javascript";try{be.appendChild(ae.createTextNode("window."+bg+"=1;"))}catch(bf){}bd.insertBefore(be,bd.firstChild);if(aP[bg]){a.support._scriptEval=true;delete
aP[bg]}else{a.support._scriptEval=false}bd.removeChild(be);bd=be=bg=null}return
a.support._scriptEval};try{delete
a4.test}catch(a6){a.support.deleteExpando=false}if(a4.attachEvent&&a4.fireEvent){a4.attachEvent("onclick",function
bc(){a.support.noCloneEvent=false;a4.detachEvent("onclick",bc)});a4.cloneNode(true).fireEvent("onclick")}a4=ae.createElement("div");a4.innerHTML="<input
type='radio' name='radiotest' checked='checked'/>";var
a7=ae.createDocumentFragment();a7.appendChild(a4.firstChild);a.support.checkClone=a7.cloneNode(true).cloneNode(true).lastChild.checked;a(function(){var
bf=ae.createElement("div"),bd=ae.getElementsByTagName("body")[0];if(!bd){return}bf.style.width=bf.style.paddingLeft="1px";bd.appendChild(bf);a.boxModel=a.support.boxModel=bf.offsetWidth===2;if("zoom"
in
bf.style){bf.style.display="inline";bf.style.zoom=1;a.support.inlineBlockNeedsLayout=bf.offsetWidth===2;bf.style.display="";bf.innerHTML="<div
style='width:4px;'></div>";a.support.shrinkWrapBlocks=bf.offsetWidth!==2}bf.innerHTML="<table><tr><td
style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var
be=bf.getElementsByTagName("td");a.support.reliableHiddenOffsets=be[0].offsetHeight===0;be[0].style.display="";be[1].style.display="none";a.support.reliableHiddenOffsets=a.support.reliableHiddenOffsets&&be[0].offsetHeight===0;bf.innerHTML="";bd.removeChild(bf).style.display="none";bf=be=null});var
a8=function(bd){var
bf=ae.createElement("div");bd="on"+bd;if(!bf.attachEvent){return
true}var be=(bd in bf);if(!be){bf.setAttribute(bd,"return;");be=typeof
bf[bd]==="function"}bf=null;return
be};a.support.submitBubbles=a8("submit");a.support.changeBubbles=a8("change");a4=bb=a9=null})();var
at=/^(?:\{.*\}|\[.*\])$/;a.extend({cache:{},uuid:0,expando:"jQuery"+(a.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(a4){a4=a4.nodeType?a.cache[a4[a.expando]]:a4[a.expando];return
!!a4&&!a.isEmptyObject(a4)},data:function(a7,a5,a9,a8){if(!a.acceptData(a7)){return}var
bc=a.expando,bb=typeof
a5==="string",ba,bd=a7.nodeType,a4=bd?a.cache:a7,a6=bd?a7[a.expando]:a7[a.expando]&&a.expando;if((!a6||(a8&&a6&&!a4[a6][bc]))&&bb&&a9===E){return}if(!a6){if(bd){a7[a.expando]=a6=++a.uuid}else{a6=a.expando}}if(!a4[a6]){a4[a6]={}}if(typeof
a5==="object"){if(a8){a4[a6][bc]=a.extend(a4[a6][bc],a5)}else{a4[a6]=a.extend(a4[a6],a5)}}ba=a4[a6];if(a8){if(!ba[bc]){ba[bc]={}}ba=ba[bc]}if(a9!==E){ba[a5]=a9}if(a5==="events"&&!ba[a5]){return
ba[bc]&&ba[bc].events}return
bb?ba[a5]:ba},removeData:function(a8,a6,a9){if(!a.acceptData(a8)){return}var
bb=a.expando,bc=a8.nodeType,a5=bc?a.cache:a8,a7=bc?a8[a.expando]:a.expando;if(!a5[a7]){return}if(a6){var
ba=a9?a5[a7][bb]:a5[a7];if(ba){delete
ba[a6];if(!a.isEmptyObject(ba)){return}}}if(a9){delete
a5[a7][bb];if(!a.isEmptyObject(a5[a7])){return}}var
a4=a5[a7][bb];if(a.support.deleteExpando||a5!=aP){delete
a5[a7]}else{a5[a7]=null}if(a4){a5[a7]={};a5[a7][bb]=a4}else{if(bc){if(a.support.deleteExpando){delete
a8[a.expando]}else{if(a8.removeAttribute){a8.removeAttribute(a.expando)}else{a8[a.expando]=null}}}}},_data:function(a5,a4,a6){return
a.data(a5,a4,a6,true)},acceptData:function(a5){if(a5.nodeName){var
a4=a.noData[a5.nodeName.toLowerCase()];if(a4){return
!(a4===true||a5.getAttribute("classid")!==a4)}}return
true}});a.fn.extend({data:function(a8,ba){var a9=null;if(typeof
a8==="undefined"){if(this.length){a9=a.data(this[0]);if(this[0].nodeType===1){var
a4=this[0].attributes,a6;for(var
a7=0,a5=a4.length;a7<a5;a7++){a6=a4[a7].name;if(a6.indexOf("data-")===0){a6=a6.substr(5);aK(this[0],a6,a9[a6])}}}}return
a9}else{if(typeof a8==="object"){return
this.each(function(){a.data(this,a8)})}}var
bb=a8.split(".");bb[1]=bb[1]?"."+bb[1]:"";if(ba===E){a9=this.triggerHandler("getData"+bb[1]+"!",[bb[0]]);if(a9===E&&this.length){a9=a.data(this[0],a8);a9=aK(this[0],a8,a9)}return
a9===E&&bb[1]?this.data(bb[0]):a9}else{return this.each(function(){var
bd=a(this),bc=[bb[0],ba];bd.triggerHandler("setData"+bb[1]+"!",bc);a.data(this,a8,ba);bd.triggerHandler("changeData"+bb[1]+"!",bc)})}},removeData:function(a4){return
this.each(function(){a.removeData(this,a4)})}});function
aK(a5,a4,a6){if(a6===E&&a5.nodeType===1){a6=a5.getAttribute("data-"+a4);if(typeof
a6==="string"){try{a6=a6==="true"?true:a6==="false"?false:a6==="null"?null:!a.isNaN(a6)?parseFloat(a6):at.test(a6)?a.parseJSON(a6):a6}catch(a7){}a.data(a5,a4,a6)}else{a6=E}}return
a6}a.extend({queue:function(a5,a4,a7){if(!a5){return}a4=(a4||"fx")+"queue";var
a6=a._data(a5,a4);if(!a7){return
a6||[]}if(!a6||a.isArray(a7)){a6=a._data(a5,a4,a.makeArray(a7))}else{a6.push(a7)}return
a6},dequeue:function(a7,a6){a6=a6||"fx";var
a4=a.queue(a7,a6),a5=a4.shift();if(a5==="inprogress"){a5=a4.shift()}if(a5){if(a6==="fx"){a4.unshift("inprogress")}a5.call(a7,function(){a.dequeue(a7,a6)})}if(!a4.length){a.removeData(a7,a6+"queue",true)}}});a.fn.extend({queue:function(a4,a5){if(typeof
a4!=="string"){a5=a4;a4="fx"}if(a5===E){return
a.queue(this[0],a4)}return this.each(function(a7){var
a6=a.queue(this,a4,a5);if(a4==="fx"&&a6[0]!=="inprogress"){a.dequeue(this,a4)}})},dequeue:function(a4){return
this.each(function(){a.dequeue(this,a4)})},delay:function(a5,a4){a5=a.fx?a.fx.speeds[a5]||a5:a5;a4=a4||"fx";return
this.queue(a4,function(){var
a6=this;setTimeout(function(){a.dequeue(a6,a4)},a5)})},clearQueue:function(a4){return
this.queue(a4||"fx",[])}});var
aq=/[\n\t\r]/g,aT=/\s+/,av=/\r/g,aS=/^(?:href|src|style)$/,e=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,j=/^a(?:rea)?$/i,L=/^(?:radio|checkbox)$/i;a.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};a.fn.extend({attr:function(a4,a5){return
a.access(this,a4,a5,true,a.attr)},removeAttr:function(a4,a5){return
this.each(function(){a.attr(this,a4,"");if(this.nodeType===1){this.removeAttribute(a4)}})},addClass:function(bb){if(a.isFunction(bb)){return
this.each(function(be){var
bd=a(this);bd.addClass(bb.call(this,be,bd.attr("class")))})}if(bb&&typeof
bb==="string"){var a4=(bb||"").split(aT);for(var
a7=0,a6=this.length;a7<a6;a7++){var
a5=this[a7];if(a5.nodeType===1){if(!a5.className){a5.className=bb}else{var a8="
"+a5.className+" ",ba=a5.className;for(var
a9=0,bc=a4.length;a9<bc;a9++){if(a8.indexOf(" "+a4[a9]+"
")<0){ba+=" "+a4[a9]}}a5.className=a.trim(ba)}}}}return
this},removeClass:function(a9){if(a.isFunction(a9)){return this.each(function(bd){var
bc=a(this);bc.removeClass(a9.call(this,bd,bc.attr("class")))})}if((a9&&typeof
a9==="string")||a9===E){var ba=(a9||"").split(aT);for(var
a6=0,a5=this.length;a6<a5;a6++){var
a8=this[a6];if(a8.nodeType===1&&a8.className){if(a9){var a7=("
"+a8.className+" ").replace(aq," ");for(var
bb=0,a4=ba.length;bb<a4;bb++){a7=a7.replace(" "+ba[bb]+" ","
")}a8.className=a.trim(a7)}else{a8.className=""}}}}return
this},toggleClass:function(a7,a5){var a6=typeof a7,a4=typeof
a5==="boolean";if(a.isFunction(a7)){return this.each(function(a9){var
a8=a(this);a8.toggleClass(a7.call(this,a9,a8.attr("class"),a5),a5)})}return
this.each(function(){if(a6==="string"){var
ba,a9=0,a8=a(this),bb=a5,bc=a7.split(aT);while((ba=bc[a9++])){bb=a4?bb:!a8.hasClass(ba);a8[bb?"addClass":"removeClass"](ba)}}else{if(a6==="undefined"||a6==="boolean"){if(this.className){a._data(this,"__className__",this.className)}this.className=this.className||a7===false?"":a._data(this,"__className__")||""}}})},hasClass:function(a4){var
a7=" "+a4+" ";for(var a6=0,a5=this.length;a6<a5;a6++){if(("
"+this[a6].className+" ").replace(aq,"
").indexOf(a7)>-1){return true}}return
false},val:function(bc){if(!arguments.length){var
a6=this[0];if(a6){if(a.nodeName(a6,"option")){var a5=a6.attributes.value;return
!a5||a5.specified?a6.value:a6.text}if(a.nodeName(a6,"select")){var
ba=a6.selectedIndex,bd=[],be=a6.options,a9=a6.type==="select-one";if(ba<0){return
null}for(var a7=a9?ba:0,bb=a9?ba+1:be.length;a7<bb;a7++){var
a8=be[a7];if(a8.selected&&(a.support.optDisabled?!a8.disabled:a8.getAttribute("disabled")===null)&&(!a8.parentNode.disabled||!a.nodeName(a8.parentNode,"optgroup"))){bc=a(a8).val();if(a9){return
bc}bd.push(bc)}}return bd}if(L.test(a6.type)&&!a.support.checkOn){return
a6.getAttribute("value")===null?"on":a6.value}return(a6.value||"").replace(av,"")}return
E}var a4=a.isFunction(bc);return this.each(function(bh){var
bg=a(this),bi=bc;if(this.nodeType!==1){return}if(a4){bi=bc.call(this,bh,bg.val())}if(bi==null){bi=""}else{if(typeof
bi==="number"){bi+=""}else{if(a.isArray(bi)){bi=a.map(bi,function(bj){return
bj==null?"":bj+""})}}}if(a.isArray(bi)&&L.test(this.type)){this.checked=a.inArray(bg.val(),bi)>=0}else{if(a.nodeName(this,"select")){var
bf=a.makeArray(bi);a("option",this).each(function(){this.selected=a.inArray(a(this).val(),bf)>=0});if(!bf.length){this.selectedIndex=-1}}else{this.value=bi}}})}});a.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a5,a4,ba,bd){if(!a5||a5.nodeType===3||a5.nodeType===8||a5.nodeType===2){return
E}if(bd&&a4 in a.attrFn){return a(a5)[a4](ba)}var
a6=a5.nodeType!==1||!a.isXMLDoc(a5),a9=ba!==E;a4=a6&&a.props[a4]||a4;if(a5.nodeType===1){var
a8=aS.test(a4);if(a4==="selected"&&!a.support.optSelected){var
bb=a5.parentNode;if(bb){bb.selectedIndex;if(bb.parentNode){bb.parentNode.selectedIndex}}}if((a4
in
a5||a5[a4]!==E)&&a6&&!a8){if(a9){if(a4==="type"&&e.test(a5.nodeName)&&a5.parentNode){a.error("type
property can't be
changed")}if(ba===null){if(a5.nodeType===1){a5.removeAttribute(a4)}}else{a5[a4]=ba}}if(a.nodeName(a5,"form")&&a5.getAttributeNode(a4)){return
a5.getAttributeNode(a4).nodeValue}if(a4==="tabIndex"){var
bc=a5.getAttributeNode("tabIndex");return
bc&&bc.specified?bc.value:z.test(a5.nodeName)||j.test(a5.nodeName)&&a5.href?0:E}return
a5[a4]}if(!a.support.style&&a6&&a4==="style"){if(a9){a5.style.cssText=""+ba}return
a5.style.cssText}if(a9){a5.setAttribute(a4,""+ba)}if(!a5.attributes[a4]&&(a5.hasAttribute&&!a5.hasAttribute(a4))){return
E}var
a7=!a.support.hrefNormalized&&a6&&a8?a5.getAttribute(a4,2):a5.getAttribute(a4);return
a7===null?E:a7}if(a9){a5[a4]=ba}return a5[a4]}});var
aG=/\.(.*)$/,aR=/^(?:textarea|input|select)$/i,G=/\./g,U=/
/g,am=/[^\w\s.|`]/g,B=function(a4){return
a4.replace(am,"\\$&")},ay="events";a.event={add:function(a7,bb,bg,a9){if(a7.nodeType===3||a7.nodeType===8){return}if(a.isWindow(a7)&&(a7!==aP&&!a7.frameElement)){a7=aP}if(bg===false){bg=aV}else{if(!bg){return}}var
a5,bf;if(bg.handler){a5=bg;bg=a5.handler}if(!bg.guid){bg.guid=a.guid++}var
bc=a._data(a7);if(!bc){return}var bh=bc[ay],ba=bc.handle;if(typeof
bh==="function"){ba=bh.handle;bh=bh.events}else{if(!bh){if(!a7.nodeType){bc[ay]=bc=function(){}}bc.events=bh={}}}if(!ba){bc.handle=ba=function(){return
typeof
a!=="undefined"&&!a.event.triggered?a.event.handle.apply(ba.elem,arguments):E}}ba.elem=a7;bb=bb.split("
");var
be,a8=0,a4;while((be=bb[a8++])){bf=a5?a.extend({},a5):{handler:bg,data:a9};if(be.indexOf(".")>-1){a4=be.split(".");be=a4.shift();bf.namespace=a4.slice(0).sort().join(".")}else{a4=[];bf.namespace=""}bf.type=be;if(!bf.guid){bf.guid=bg.guid}var
a6=bh[be],bd=a.event.special[be]||{};if(!a6){a6=bh[be]=[];if(!bd.setup||bd.setup.call(a7,a9,a4,ba)===false){if(a7.addEventListener){a7.addEventListener(be,ba,false)}else{if(a7.attachEvent){a7.attachEvent("on"+be,ba)}}}}if(bd.add){bd.add.call(a7,bf);if(!bf.handler.guid){bf.handler.guid=bg.guid}}a6.push(bf);a.event.global[be]=true}a7=null},global:{},remove:function(bj,be,a6,ba){if(bj.nodeType===3||bj.nodeType===8){return}if(a6===false){a6=aV}var
bm,a9,bb,bg,bh=0,a7,bc,bf,a8,bd,a4,bl,bi=a.hasData(bj)&&a._data(bj),a5=bi&&bi[ay];if(!bi||!a5){return}if(typeof
a5==="function"){bi=a5;a5=a5.events}if(be&&be.type){a6=be.handler;be=be.type}if(!be||typeof
be==="string"&&be.charAt(0)==="."){be=be||"";for(a9
in a5){a.event.remove(bj,a9+be)}return}be=be.split("
");while((a9=be[bh++])){bl=a9;a4=null;a7=a9.indexOf(".")<0;bc=[];if(!a7){bc=a9.split(".");a9=bc.shift();bf=new
RegExp("(^|\\.)"+a.map(bc.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")}bd=a5[a9];if(!bd){continue}if(!a6){for(bg=0;bg<bd.length;bg++){a4=bd[bg];if(a7||bf.test(a4.namespace)){a.event.remove(bj,bl,a4.handler,bg);bd.splice(bg--,1)}}continue}a8=a.event.special[a9]||{};for(bg=ba||0;bg<bd.length;bg++){a4=bd[bg];if(a6.guid===a4.guid){if(a7||bf.test(a4.namespace)){if(ba==null){bd.splice(bg--,1)}if(a8.remove){a8.remove.call(bj,a4)}}if(ba!=null){break}}}if(bd.length===0||ba!=null&&bd.length===1){if(!a8.teardown||a8.teardown.call(bj,bc)===false){a.removeEvent(bj,a9,bi.handle)}bm=null;delete
a5[a9]}}if(a.isEmptyObject(a5)){var bk=bi.handle;if(bk){bk.elem=null}delete
bi.events;delete bi.handle;if(typeof
bi==="function"){a.removeData(bj,ay,true)}else{if(a.isEmptyObject(bi)){a.removeData(bj,E,true)}}}},trigger:function(a5,ba,a7){var
be=a5.type||a5,a9=arguments[3];if(!a9){a5=typeof
a5==="object"?a5[a.expando]?a5:a.extend(a.Event(be),a5):a.Event(be);if(be.indexOf("!")>=0){a5.type=be=be.slice(0,-1);a5.exclusive=true}if(!a7){a5.stopPropagation();if(a.event.global[be]){a.each(a.cache,function(){var
bj=a.expando,bi=this[bj];if(bi&&bi.events&&bi.events[be]){a.event.trigger(a5,ba,bi.handle.elem)}})}}if(!a7||a7.nodeType===3||a7.nodeType===8){return
E}a5.result=E;a5.target=a7;ba=a.makeArray(ba);ba.unshift(a5)}a5.currentTarget=a7;var
bb=a7.nodeType?a._data(a7,"handle"):(a._data(a7,ay)||{}).handle;if(bb){bb.apply(a7,ba)}var
bg=a7.parentNode||a7.ownerDocument;try{if(!(a7&&a7.nodeName&&a.noData[a7.nodeName.toLowerCase()])){if(a7["on"+be]&&a7["on"+be].apply(a7,ba)===false){a5.result=false;a5.preventDefault()}}}catch(bf){}if(!a5.isPropagationStopped()&&bg){a.event.trigger(a5,ba,bg,true)}else{if(!a5.isDefaultPrevented()){var
a6,bc=a5.target,a4=be.replace(aG,""),bh=a.nodeName(bc,"a")&&a4==="click",bd=a.event.special[a4]||{};if((!bd._default||bd._default.call(a7,a5)===false)&&!bh&&!(bc&&bc.nodeName&&a.noData[bc.nodeName.toLowerCase()])){try{if(bc[a4]){a6=bc["on"+a4];if(a6){bc["on"+a4]=null}a.event.triggered=true;bc[a4]()}}catch(a8){}if(a6){bc["on"+a4]=a6}a.event.triggered=false}}}},handle:function(a4){var
bd,a6,a5,bf,be,a9=[],bb=a.makeArray(arguments);a4=bb[0]=a.event.fix(a4||aP.event);a4.currentTarget=this;bd=a4.type.indexOf(".")<0&&!a4.exclusive;if(!bd){a5=a4.type.split(".");a4.type=a5.shift();a9=a5.slice(0).sort();bf=new
RegExp("(^|\\.)"+a9.join("\\.(?:.*\\.)?")+"(\\.|$)")}a4.namespace=a4.namespace||a9.join(".");be=a._data(this,ay);if(typeof
be==="function"){be=be.events}a6=(be||{})[a4.type];if(be&&a6){a6=a6.slice(0);for(var
a8=0,a7=a6.length;a8<a7;a8++){var
bc=a6[a8];if(bd||bf.test(bc.namespace)){a4.handler=bc.handler;a4.data=bc.data;a4.handleObj=bc;var
ba=bc.handler.apply(this,bb);if(ba!==E){a4.result=ba;if(ba===false){a4.preventDefault();a4.stopPropagation()}}if(a4.isImmediatePropagationStopped()){break}}}}return
a4.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(a7){if(a7[a.expando]){return a7}var
a5=a7;a7=a.Event(a5);for(var
a6=this.props.length,a9;a6;){a9=this.props[--a6];a7[a9]=a5[a9]}if(!a7.target){a7.target=a7.srcElement||ae}if(a7.target.nodeType===3){a7.target=a7.target.parentNode}if(!a7.relatedTarget&&a7.fromElement){a7.relatedTarget=a7.fromElement===a7.target?a7.toElement:a7.fromElement}if(a7.pageX==null&&a7.clientX!=null){var
a8=ae.documentElement,a4=ae.body;a7.pageX=a7.clientX+(a8&&a8.scrollLeft||a4&&a4.scrollLeft||0)-(a8&&a8.clientLeft||a4&&a4.clientLeft||0);a7.pageY=a7.clientY+(a8&&a8.scrollTop||a4&&a4.scrollTop||0)-(a8&&a8.clientTop||a4&&a4.clientTop||0)}if(a7.which==null&&(a7.charCode!=null||a7.keyCode!=null)){a7.which=a7.charCode!=null?a7.charCode:a7.keyCode}if(!a7.metaKey&&a7.ctrlKey){a7.metaKey=a7.ctrlKey}if(!a7.which&&a7.button!==E){a7.which=(a7.button&1?1:(a7.button&2?3:(a7.button&4?2:0)))}return
a7},guid:100000000,proxy:a.proxy,special:{ready:{setup:a.bindReady,teardown:a.noop},live:{add:function(a4){a.event.add(this,m(a4.origType,a4.selector),a.extend({},a4,{handler:Y,guid:a4.handler.guid}))},remove:function(a4){a.event.remove(this,m(a4.origType,a4.selector),a4)}},beforeunload:{setup:function(a6,a5,a4){if(a.isWindow(this)){this.onbeforeunload=a4}},teardown:function(a5,a4){if(this.onbeforeunload===a4){this.onbeforeunload=null}}}}};a.removeEvent=ae.removeEventListener?function(a5,a4,a6){if(a5.removeEventListener){a5.removeEventListener(a4,a6,false)}}:function(a5,a4,a6){if(a5.detachEvent){a5.detachEvent("on"+a4,a6)}};a.Event=function(a4){if(!this.preventDefault){return
new
a.Event(a4)}if(a4&&a4.type){this.originalEvent=a4;this.type=a4.type;this.isDefaultPrevented=(a4.defaultPrevented||a4.returnValue===false||a4.getPreventDefault&&a4.getPreventDefault())?g:aV}else{this.type=a4}this.timeStamp=a.now();this[a.expando]=true};function
aV(){return false}function g(){return
true}a.Event.prototype={preventDefault:function(){this.isDefaultPrevented=g;var
a4=this.originalEvent;if(!a4){return}if(a4.preventDefault){a4.preventDefault()}else{a4.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=g;var
a4=this.originalEvent;if(!a4){return}if(a4.stopPropagation){a4.stopPropagation()}a4.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=g;this.stopPropagation()},isDefaultPrevented:aV,isPropagationStopped:aV,isImmediatePropagationStopped:aV};var
T=function(a5){var
a4=a5.relatedTarget;try{while(a4&&a4!==this){a4=a4.parentNode}if(a4!==this){a5.type=a5.data;a.event.handle.apply(this,arguments)}}catch(a6){}},az=function(a4){a4.type=a4.data;a.event.handle.apply(this,arguments)};a.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a5,a4){a.event.special[a5]={setup:function(a6){a.event.add(this,a4,a6&&a6.selector?az:T,a5)},teardown:function(a6){a.event.remove(this,a4,a6&&a6.selector?az:T)}}});if(!a.support.submitBubbles){a.event.special.submit={setup:function(a5,a4){if(this.nodeName&&this.nodeName.toLowerCase()!=="form"){a.event.add(this,"click.specialSubmit",function(a8){var
a7=a8.target,a6=a7.type;if((a6==="submit"||a6==="image")&&a(a7).closest("form").length){a8.liveFired=E;return
aD("submit",this,arguments)}});a.event.add(this,"keypress.specialSubmit",function(a8){var
a7=a8.target,a6=a7.type;if((a6==="text"||a6==="password")&&a(a7).closest("form").length&&a8.keyCode===13){a8.liveFired=E;return
aD("submit",this,arguments)}})}else{return
false}},teardown:function(a4){a.event.remove(this,".specialSubmit")}}}if(!a.support.changeBubbles){var
aW,i=function(a5){var
a4=a5.type,a6=a5.value;if(a4==="radio"||a4==="checkbox"){a6=a5.checked}else{if(a4==="select-multiple"){a6=a5.selectedIndex>-1?a.map(a5.options,function(a7){return
a7.selected}).join("-"):""}else{if(a5.nodeName.toLowerCase()==="select"){a6=a5.selectedIndex}}}return
a6},R=function R(a6){var
a4=a6.target,a5,a7;if(!aR.test(a4.nodeName)||a4.readOnly){return}a5=a._data(a4,"_change_data");a7=i(a4);if(a6.type!=="focusout"||a4.type!=="radio"){a._data(a4,"_change_data",a7)}if(a5===E||a7===a5){return}if(a5!=null||a7){a6.type="change";a6.liveFired=E;return
a.event.trigger(a6,arguments[1],a4)}};a.event.special.change={filters:{focusout:R,beforedeactivate:R,click:function(a6){var
a5=a6.target,a4=a5.type;if(a4==="radio"||a4==="checkbox"||a5.nodeName.toLowerCase()==="select"){return
R.call(this,a6)}},keydown:function(a6){var
a5=a6.target,a4=a5.type;if((a6.keyCode===13&&a5.nodeName.toLowerCase()!=="textarea")||(a6.keyCode===32&&(a4==="checkbox"||a4==="radio"))||a4==="select-multiple"){return
R.call(this,a6)}},beforeactivate:function(a5){var
a4=a5.target;a._data(a4,"_change_data",i(a4))}},setup:function(a6,a5){if(this.type==="file"){return
false}for(var a4 in aW){a.event.add(this,a4+".specialChange",aW[a4])}return
aR.test(this.nodeName)},teardown:function(a4){a.event.remove(this,".specialChange");return
aR.test(this.nodeName)}};aW=a.event.special.change.filters;aW.focus=aW.beforeactivate}function
aD(a5,a6,a4){a4[0].type=a5;return
a.event.handle.apply(a6,a4)}if(ae.addEventListener){a.each({focus:"focusin",blur:"focusout"},function(a6,a4){a.event.special[a4]={setup:function(){this.addEventListener(a6,a5,true)},teardown:function(){this.removeEventListener(a6,a5,true)}};function
a5(a7){a7=a.event.fix(a7);a7.type=a4;return
a.event.handle.call(this,a7)}})}a.each(["bind","one"],function(a5,a4){a.fn[a4]=function(bb,bc,ba){if(typeof
bb==="object"){for(var a8 in bb){this[a4](a8,bc,bb[a8],ba)}return
this}if(a.isFunction(bc)||bc===false){ba=bc;bc=E}var
a9=a4==="one"?a.proxy(ba,function(bd){a(this).unbind(bd,a9);return
ba.apply(this,arguments)}):ba;if(bb==="unload"&&a4!=="one"){this.one(bb,bc,ba)}else{for(var
a7=0,a6=this.length;a7<a6;a7++){a.event.add(this[a7],bb,a9,bc)}}return
this}});a.fn.extend({unbind:function(a8,a7){if(typeof
a8==="object"&&!a8.preventDefault){for(var a6 in
a8){this.unbind(a6,a8[a6])}}else{for(var
a5=0,a4=this.length;a5<a4;a5++){a.event.remove(this[a5],a8,a7)}}return
this},delegate:function(a4,a5,a7,a6){return
this.live(a5,a7,a6,a4)},undelegate:function(a4,a5,a6){if(arguments.length===0){return
this.unbind("live")}else{return
this.die(a5,null,a6,a4)}},trigger:function(a4,a5){return
this.each(function(){a.event.trigger(a4,a5,this)})},triggerHandler:function(a4,a6){if(this[0]){var
a5=a.Event(a4);a5.preventDefault();a5.stopPropagation();a.event.trigger(a5,a6,this[0]);return
a5.result}},toggle:function(a6){var
a4=arguments,a5=1;while(a5<a4.length){a.proxy(a6,a4[a5++])}return
this.click(a.proxy(a6,function(a7){var
a8=(a._data(this,"lastToggle"+a6.guid)||0)%a5;a._data(this,"lastToggle"+a6.guid,a8+1);a7.preventDefault();return
a4[a8].apply(this,arguments)||false}))},hover:function(a4,a5){return
this.mouseenter(a4).mouseleave(a5||a4)}});var
aw={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};a.each(["live","die"],function(a5,a4){a.fn[a4]=function(bf,bc,bh,a8){var
bg,bd=0,be,a7,bj,ba=a8||this.selector,a6=a8?this:a(this.context);if(typeof
bf==="object"&&!bf.preventDefault){for(var bi in
bf){a6[a4](bi,bc,bf[bi],ba)}return
this}if(a.isFunction(bc)){bh=bc;bc=E}bf=(bf||"").split("
");while((bg=bf[bd++])!=null){be=aG.exec(bg);a7="";if(be){a7=be[0];bg=bg.replace(aG,"")}if(bg==="hover"){bf.push("mouseenter"+a7,"mouseleave"+a7);continue}bj=bg;if(bg==="focus"||bg==="blur"){bf.push(aw[bg]+a7);bg=bg+a7}else{bg=(aw[bg]||bg)+a7}if(a4==="live"){for(var
bb=0,a9=a6.length;bb<a9;bb++){a.event.add(a6[bb],"live."+m(bg,ba),{data:bc,selector:ba,handler:bh,origType:bg,origHandler:bh,preType:bj})}}else{a6.unbind("live."+m(bg,ba),bh)}}return
this}});function Y(bf){var
bc,a7,bl,a9,a4,bh,be,bg,bd,bk,bb,ba,bj,bi=[],a8=[],a5=a._data(this,ay);if(typeof
a5==="function"){a5=a5.events}if(bf.liveFired===this||!a5||!a5.live||bf.target.disabled||bf.button&&bf.type==="click"){return}if(bf.namespace){ba=new
RegExp("(^|\\.)"+bf.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")}bf.liveFired=this;var
a6=a5.live.slice(0);for(be=0;be<a6.length;be++){a4=a6[be];if(a4.origType.replace(aG,"")===bf.type){a8.push(a4.selector)}else{a6.splice(be--,1)}}a9=a(bf.target).closest(a8,bf.currentTarget);for(bg=0,bd=a9.length;bg<bd;bg++){bb=a9[bg];for(be=0;be<a6.length;be++){a4=a6[be];if(bb.selector===a4.selector&&(!ba||ba.test(a4.namespace))){bh=bb.elem;bl=null;if(a4.preType==="mouseenter"||a4.preType==="mouseleave"){bf.type=a4.preType;bl=a(bf.relatedTarget).closest(a4.selector)[0]}if(!bl||bl!==bh){bi.push({elem:bh,handleObj:a4,level:bb.level})}}}}for(bg=0,bd=bi.length;bg<bd;bg++){a9=bi[bg];if(a7&&a9.level>a7){break}bf.currentTarget=a9.elem;bf.data=a9.handleObj.data;bf.handleObj=a9.handleObj;bj=a9.handleObj.origHandler.apply(a9.elem,arguments);if(bj===false||bf.isPropagationStopped()){a7=a9.level;if(bj===false){bc=false}if(bf.isImmediatePropagationStopped()){break}}}return
bc}function
m(a5,a4){return(a5&&a5!=="*"?a5+".":"")+a4.replace(G,"`").replace(U,"&")}a.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(a5,a4){a.fn[a4]=function(a7,a6){if(a6==null){a6=a7;a7=null}return
arguments.length>0?this.bind(a4,a7,a6):this.trigger(a4)};if(a.attrFn){a.attrFn[a4]=true}});
+/*
+ * 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(aY,H){var al=aY.document;var a=(function(){var bn=function(bI,bJ){return new
bn.fn.init(bI,bJ,bl)},bD=aY.jQuery,bp=aY.$,bl,bH=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,bv=/\S/,br=/^\s+/,bm=/\s+$/,bq=/\d/,bj=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bw=/^[\],:{}\s]*$/,bF=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,by=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bs=/(?:^|:|,)(?:\s*\[)+/g,bh=/(webkit)[
\/]([\w.]+)/,bA=/(opera)(?:.*version)?[ \/]([\w.]+)/,bz=/(msie)
([\w.]+)/,bB=/(mozilla)(?:.*?
rv:([\w.]+))?/,bG=navigator.userAgent,bE,bC=false,bk,e="then done fail isResolved
isRejected promise".split("
"),bd,bu=Object.prototype.toString,bo=Object.prototype.hasOwnProperty,bi=Array.prototype.push,bt=Array.prototype.slice,bx=String.prototype.trim,be=Array.prototype.indexOf,bg={};bn.fn=bn.prototype={constructor:bn,init:function(bI,bM,bL){var
bK,bN,bJ,bO;if(!bI){return
this}if(bI.nodeType){this.context=this[0]=bI;this.length=1;return
this}if(bI==="body"&&!bM&&al.body){this.context=al;this[0]=al.body;this.selector="body";this.length=1;return
this}if(typeof
bI==="string"){bK=bH.exec(bI);if(bK&&(bK[1]||!bM)){if(bK[1]){bM=bM
instanceof
bn?bM[0]:bM;bO=(bM?bM.ownerDocument||bM:al);bJ=bj.exec(bI);if(bJ){if(bn.isPlainObject(bM)){bI=[al.createElement(bJ[1])];bn.fn.attr.call(bI,bM,true)}else{bI=[bO.createElement(bJ[1])]}}else{bJ=bn.buildFragment([bK[1]],[bO]);bI=(bJ.cacheable?bn.clone(bJ.fragment):bJ.fragment).childNodes}return
bn.merge(this,bI)}else{bN=al.getElementById(bK[2]);if(bN&&bN.parentNode){if(bN.id!==bK[2]){return
bL.find(bI)}this.length=1;this[0]=bN}this.context=al;this.selector=bI;return
this}}else{if(!bM||bM.jquery){return(bM||bL).find(bI)}else{return
this.constructor(bM).find(bI)}}}else{if(bn.isFunction(bI)){return
bL.ready(bI)}}if(bI.selector!==H){this.selector=bI.selector;this.context=bI.context}return
bn.makeArray(bI,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return
this.length},toArray:function(){return bt.call(this,0)},get:function(bI){return
bI==null?this.toArray():(bI<0?this[this.length+bI]:this[bI])},pushStack:function(bJ,bL,bI){var
bK=this.constructor();if(bn.isArray(bJ)){bi.apply(bK,bJ)}else{bn.merge(bK,bJ)}bK.prevObject=this;bK.context=this.context;if(bL==="find"){bK.selector=this.selector+(this.selector?"
":"")+bI}else{if(bL){bK.selector=this.selector+"."+bL+"("+bI+")"}}return
bK},each:function(bJ,bI){return
bn.each(this,bJ,bI)},ready:function(bI){bn.bindReady();bk.done(bI);return
this},eq:function(bI){return
bI===-1?this.slice(bI):this.slice(bI,+bI+1)},first:function(){return
this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return
this.pushStack(bt.apply(this,arguments),"slice",bt.call(arguments).join(","))},map:function(bI){return
this.pushStack(bn.map(this,function(bK,bJ){return
bI.call(bK,bJ,bK)}))},end:function(){return
this.prevObject||this.constructor(null)},push:bi,sort:[].sort,splice:[].splice};bn.fn.init.prototype=bn.fn;bn.extend=bn.fn.extend=function(){var
bR,bK,bI,bJ,bO,bP,bN=arguments[0]||{},bM=1,bL=arguments.length,bQ=false;if(typeof
bN==="boolean"){bQ=bN;bN=arguments[1]||{};bM=2}if(typeof
bN!=="object"&&!bn.isFunction(bN)){bN={}}if(bL===bM){bN=this;--bM}for(;bM<bL;bM++){if((bR=arguments[bM])!=null){for(bK
in
bR){bI=bN[bK];bJ=bR[bK];if(bN===bJ){continue}if(bQ&&bJ&&(bn.isPlainObject(bJ)||(bO=bn.isArray(bJ)))){if(bO){bO=false;bP=bI&&bn.isArray(bI)?bI:[]}else{bP=bI&&bn.isPlainObject(bI)?bI:{}}bN[bK]=bn.extend(bQ,bP,bJ)}else{if(bJ!==H){bN[bK]=bJ}}}}}return
bN};bn.extend({noConflict:function(bI){aY.$=bp;if(bI){aY.jQuery=bD}return
bn},isReady:false,readyWait:1,ready:function(bI){if(bI===true){bn.readyWait--}if(!bn.readyWait||(bI!==true&&!bn.isReady)){if(!al.body){return
setTimeout(bn.ready,1)}bn.isReady=true;if(bI!==true&&--bn.readyWait>0){return}bk.resolveWith(al,[bn]);if(bn.fn.trigger){bn(al).trigger("ready").unbind("ready")}}},bindReady:function(){if(bC){return}bC=true;if(al.readyState==="complete"){return
setTimeout(bn.ready,1)}if(al.addEventListener){al.addEventListener("DOMContentLoaded",bd,false);aY.addEventListener("load",bn.ready,false)}else{if(al.attachEvent){al.attachEvent("onreadystatechange",bd);aY.attachEvent("onload",bn.ready);var
bI=false;try{bI=aY.frameElement==null}catch(bJ){}if(al.documentElement.doScroll&&bI){bf()}}}},isFunction:function(bI){return
bn.type(bI)==="function"},isArray:Array.isArray||function(bI){return
bn.type(bI)==="array"},isWindow:function(bI){return bI&&typeof
bI==="object"&&"setInterval" in bI},isNaN:function(bI){return
bI==null||!bq.test(bI)||isNaN(bI)},type:function(bI){return
bI==null?String(bI):bg[bu.call(bI)]||"object"},isPlainObject:function(bJ){if(!bJ||bn.type(bJ)!=="object"||bJ.nodeType||bn.isWindow(bJ)){return
false}if(bJ.constructor&&!bo.call(bJ,"constructor")&&!bo.call(bJ.constructor.prototype,"isPrototypeOf")){return
false}var bI;for(bI in bJ){}return
bI===H||bo.call(bJ,bI)},isEmptyObject:function(bJ){for(var bI in bJ){return false}return
true},error:function(bI){throw bI},parseJSON:function(bI){if(typeof
bI!=="string"||!bI){return
null}bI=bn.trim(bI);if(bw.test(bI.replace(bF,"(a)").replace(by,"]").replace(bs,""))){return
aY.JSON&&aY.JSON.parse?aY.JSON.parse(bI):(new Function("return
"+bI))()}else{bn.error("Invalid JSON:
"+bI)}},parseXML:function(bK,bI,bJ){if(aY.DOMParser){bJ=new
DOMParser();bI=bJ.parseFromString(bK,"text/xml")}else{bI=new
ActiveXObject("Microsoft.XMLDOM");bI.async="false";bI.loadXML(bK)}bJ=bI.documentElement;if(!bJ||!bJ.nodeName||bJ.nodeName==="parsererror"){bn.error("Invalid
XML: "+bK)}return
bI},noop:function(){},globalEval:function(bK){if(bK&&bv.test(bK)){var
bJ=al.head||al.getElementsByTagName("head")[0]||al.documentElement,bI=al.createElement("script");if(bn.support.scriptEval()){bI.appendChild(al.createTextNode(bK))}else{bI.text=bK}bJ.insertBefore(bI,bJ.firstChild);bJ.removeChild(bI)}},nodeName:function(bJ,bI){return
bJ.nodeName&&bJ.nodeName.toUpperCase()===bI.toUpperCase()},each:function(bL,bP,bK){var
bJ,bM=0,bN=bL.length,bI=bN===H||bn.isFunction(bL);if(bK){if(bI){for(bJ in
bL){if(bP.apply(bL[bJ],bK)===false){break}}}else{for(;bM<bN;){if(bP.apply(bL[bM++],bK)===false){break}}}}else{if(bI){for(bJ
in bL){if(bP.call(bL[bJ],bJ,bL[bJ])===false){break}}}else{for(var
bO=bL[0];bM<bN&&bP.call(bO,bM,bO)!==false;bO=bL[++bM]){}}}return
bL},trim:bx?function(bI){return bI==null?"":bx.call(bI)}:function(bI){return
bI==null?"":bI.toString().replace(br,"").replace(bm,"")},makeArray:function(bL,bJ){var
bI=bJ||[];if(bL!=null){var
bK=bn.type(bL);if(bL.length==null||bK==="string"||bK==="function"||bK==="regexp"||bn.isWindow(bL)){bi.call(bI,bL)}else{bn.merge(bI,bL)}}return
bI},inArray:function(bK,bL){if(bL.indexOf){return bL.indexOf(bK)}for(var
bI=0,bJ=bL.length;bI<bJ;bI++){if(bL[bI]===bK){return bI}}return
-1},merge:function(bM,bK){var bL=bM.length,bJ=0;if(typeof
bK.length==="number"){for(var
bI=bK.length;bJ<bI;bJ++){bM[bL++]=bK[bJ]}}else{while(bK[bJ]!==H){bM[bL++]=bK[bJ++]}}bM.length=bL;return
bM},grep:function(bJ,bO,bI){var bK=[],bN;bI=!!bI;for(var
bL=0,bM=bJ.length;bL<bM;bL++){bN=!!bO(bJ[bL],bL);if(bI!==bN){bK.push(bJ[bL])}}return
bK},map:function(bJ,bO,bI){var bK=[],bN;for(var
bL=0,bM=bJ.length;bL<bM;bL++){bN=bO(bJ[bL],bL,bI);if(bN!=null){bK[bK.length]=bN}}return
bK.concat.apply([],bK)},guid:1,proxy:function(bK,bJ,bI){if(arguments.length===2){if(typeof
bJ==="string"){bI=bK;bK=bI[bJ];bJ=H}else{if(bJ&&!bn.isFunction(bJ)){bI=bJ;bJ=H}}}if(!bJ&&bK){bJ=function(){return
bK.apply(bI||this,arguments)}}if(bK){bJ.guid=bK.guid=bK.guid||bJ.guid||bn.guid++}return
bJ},access:function(bI,bQ,bO,bK,bN,bP){var bJ=bI.length;if(typeof
bQ==="object"){for(var bL in bQ){bn.access(bI,bL,bQ[bL],bK,bN,bO)}return
bI}if(bO!==H){bK=!bP&&bK&&bn.isFunction(bO);for(var
bM=0;bM<bJ;bM++){bN(bI[bM],bQ,bK?bO.call(bI[bM],bM,bN(bI[bM],bQ)):bO,bP)}return
bI}return bJ?bN(bI[0],bQ):H},now:function(){return(new
Date()).getTime()},_Deferred:function(){var bL=[],bM,bJ,bK,bI={done:function(){if(!bK){var
bO=arguments,bP,bS,bR,bQ,bN;if(bM){bN=bM;bM=0}for(bP=0,bS=bO.length;bP<bS;bP++){bR=bO[bP];bQ=bn.type(bR);if(bQ==="array"){bI.done.apply(bI,bR)}else{if(bQ==="function"){bL.push(bR)}}}if(bN){bI.resolveWith(bN[0],bN[1])}}return
this},resolveWith:function(bO,bN){if(!bK&&!bM&&!bJ){bJ=1;try{while(bL[0]){bL.shift().apply(bO,bN)}}catch(bP){throw
bP}finally{bM=[bO,bN];bJ=0}}return
this},resolve:function(){bI.resolveWith(bn.isFunction(this.promise)?this.promise():this,arguments);return
this},isResolved:function(){return !!(bJ||bM)},cancel:function(){bK=1;bL=[];return
this}};return bI},Deferred:function(bJ){var
bI=bn._Deferred(),bL=bn._Deferred(),bK;bn.extend(bI,{then:function(bN,bM){bI.done(bN).fail(bM);return
this},fail:bL.done,rejectWith:bL.resolveWith,reject:bL.resolve,isRejected:bL.isResolved,promise:function(bN){if(bN==null){if(bK){return
bK}bK=bN={}}var bM=e.length;while(bM--){bN[e[bM]]=bI[e[bM]]}return
bN}});bI.done(bL.cancel).fail(bI.cancel);delete bI.cancel;if(bJ){bJ.call(bI,bI)}return
bI},when:function(bJ){var
bO=arguments.length,bI=bO<=1&&bJ&&bn.isFunction(bJ.promise)?bJ:bn.Deferred(),bM=bI.promise();if(bO>1){var
bN=bt.call(arguments,0),bL=bO,bK=function(bP){return
function(bQ){bN[bP]=arguments.length>1?bt.call(arguments,0):bQ;if(!(--bL)){bI.resolveWith(bM,bN)}}};while((bO--)){bJ=bN[bO];if(bJ&&bn.isFunction(bJ.promise)){bJ.promise().then(bK(bO),bI.reject)}else{--bL}}if(!bL){bI.resolveWith(bM,bN)}}else{if(bI!==bJ){bI.resolve(bJ)}}return
bM},uaMatch:function(bJ){bJ=bJ.toLowerCase();var
bI=bh.exec(bJ)||bA.exec(bJ)||bz.exec(bJ)||bJ.indexOf("compatible")<0&&bB.exec(bJ)||[];return{browser:bI[1]||"",version:bI[2]||"0"}},sub:function(){function
bJ(bL,bM){return new
bJ.fn.init(bL,bM)}bn.extend(true,bJ,this);bJ.superclass=this;bJ.fn=bJ.prototype=this();bJ.fn.constructor=bJ;bJ.subclass=this.subclass;bJ.fn.init=function
bK(bL,bM){if(bM&&bM instanceof bn&&!(bM instanceof bJ)){bM=bJ(bM)}return
bn.fn.init.call(this,bL,bM,bI)};bJ.fn.init.prototype=bJ.fn;var bI=bJ(al);return
bJ},browser:{}});bk=bn._Deferred();bn.each("Boolean Number String Function Array Date
RegExp Object".split(" "),function(bJ,bI){bg["[object
"+bI+"]"]=bI.toLowerCase()});bE=bn.uaMatch(bG);if(bE.browser){bn.browser[bE.browser]=true;bn.browser.version=bE.version}if(bn.browser.webkit){bn.browser.safari=true}if(be){bn.inArray=function(bI,bJ){return
be.call(bJ,bI)}}if(bv.test("\xA0")){br=/^[\s\xA0]+/;bm=/[\s\xA0]+$/}bl=bn(al);if(al.addEventListener){bd=function(){al.removeEventListener("DOMContentLoaded",bd,false);bn.ready()}}else{if(al.attachEvent){bd=function(){if(al.readyState==="complete"){al.detachEvent("onreadystatechange",bd);bn.ready()}}}}function
bf(){if(bn.isReady){return}try{al.documentElement.doScroll("left")}catch(bI){setTimeout(bf,1);return}bn.ready()}return
bn})();(function(){a.support={};var
bd=al.createElement("div");bd.style.display="none";bd.innerHTML="
<link/><table></table><a href='/a'
style='color:red;float:left;opacity:.55;'>a</a><input
type='checkbox'/>";var
bm=bd.getElementsByTagName("*"),bk=bd.getElementsByTagName("a")[0],bl=al.createElement("select"),be=bl.appendChild(al.createElement("option")),bj=bd.getElementsByTagName("input")[0];if(!bm||!bm.length||!bk){return}a.support={leadingWhitespace:bd.firstChild.nodeType===3,tbody:!bd.getElementsByTagName("tbody").length,htmlSerialize:!!bd.getElementsByTagName("link").length,style:/red/.test(bk.getAttribute("style")),hrefNormalized:bk.getAttribute("href")==="/a",opacity:/^0.55$/.test(bk.style.opacity),cssFloat:!!bk.style.cssFloat,checkOn:bj.value==="on",optSelected:be.selected,deleteExpando:true,optDisabled:false,checkClone:false,noCloneEvent:true,noCloneChecked:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};bj.checked=true;a.support.noCloneChecked=bj.cloneNode(true).checked;bl.disabled=true;a.support.optDisabled=!be.disabled;var
bf=null;a.support.scriptEval=function(){if(bf===null){var
bo=al.documentElement,bp=al.createElement("script"),br="script"+a.now();try{bp.appendChild(al.createTextNode("window."+br+"=1;"))}catch(bq){}bo.insertBefore(bp,bo.firstChild);if(aY[br]){bf=true;delete
aY[br]}else{bf=false}bo.removeChild(bp);bo=bp=br=null}return bf};try{delete
bd.test}catch(bh){a.support.deleteExpando=false}if(!bd.addEventListener&&bd.attachEvent&&bd.fireEvent){bd.attachEvent("onclick",function
bn(){a.support.noCloneEvent=false;bd.detachEvent("onclick",bn)});bd.cloneNode(true).fireEvent("onclick")}bd=al.createElement("div");bd.innerHTML="<input
type='radio' name='radiotest' checked='checked'/>";var
bg=al.createDocumentFragment();bg.appendChild(bd.firstChild);a.support.checkClone=bg.cloneNode(true).cloneNode(true).lastChild.checked;a(function(){var
bp=al.createElement("div"),e=al.getElementsByTagName("body")[0];if(!e){return}bp.style.width=bp.style.paddingLeft="1px";e.appendChild(bp);a.boxModel=a.support.boxModel=bp.offsetWidth===2;if("zoom"
in
bp.style){bp.style.display="inline";bp.style.zoom=1;a.support.inlineBlockNeedsLayout=bp.offsetWidth===2;bp.style.display="";bp.innerHTML="<div
style='width:4px;'></div>";a.support.shrinkWrapBlocks=bp.offsetWidth!==2}bp.innerHTML="<table><tr><td
style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var
bo=bp.getElementsByTagName("td");a.support.reliableHiddenOffsets=bo[0].offsetHeight===0;bo[0].style.display="";bo[1].style.display="none";a.support.reliableHiddenOffsets=a.support.reliableHiddenOffsets&&bo[0].offsetHeight===0;bp.innerHTML="";e.removeChild(bp).style.display="none";bp=bo=null});var
bi=function(e){var
bp=al.createElement("div");e="on"+e;if(!bp.attachEvent){return
true}var bo=(e in bp);if(!bo){bp.setAttribute(e,"return;");bo=typeof
bp[e]==="function"}bp=null;return
bo};a.support.submitBubbles=bi("submit");a.support.changeBubbles=bi("change");bd=bm=bk=null})();var
aE=/^(?:\{.*\}|\[.*\])$/;a.extend({cache:{},uuid:0,expando:"jQuery"+(a.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?a.cache[e[a.expando]]:e[a.expando];return
!!e&&!P(e)},data:function(bf,bd,bh,bg){if(!a.acceptData(bf)){return}var
bk=a.expando,bj=typeof
bd==="string",bi,bl=bf.nodeType,e=bl?a.cache:bf,be=bl?bf[a.expando]:bf[a.expando]&&a.expando;if((!be||(bg&&be&&!e[be][bk]))&&bj&&bh===H){return}if(!be){if(bl){bf[a.expando]=be=++a.uuid}else{be=a.expando}}if(!e[be]){e[be]={};if(!bl){e[be].toJSON=a.noop}}if(typeof
bd==="object"||typeof
bd==="function"){if(bg){e[be][bk]=a.extend(e[be][bk],bd)}else{e[be]=a.extend(e[be],bd)}}bi=e[be];if(bg){if(!bi[bk]){bi[bk]={}}bi=bi[bk]}if(bh!==H){bi[bd]=bh}if(bd==="events"&&!bi[bd]){return
bi[bk]&&bi[bk].events}return
bj?bi[bd]:bi},removeData:function(bg,be,bh){if(!a.acceptData(bg)){return}var
bj=a.expando,bk=bg.nodeType,bd=bk?a.cache:bg,bf=bk?bg[a.expando]:a.expando;if(!bd[bf]){return}if(be){var
bi=bh?bd[bf][bj]:bd[bf];if(bi){delete bi[be];if(!P(bi)){return}}}if(bh){delete
bd[bf][bj];if(!P(bd[bf])){return}}var
e=bd[bf][bj];if(a.support.deleteExpando||bd!=aY){delete
bd[bf]}else{bd[bf]=null}if(e){bd[bf]={};if(!bk){bd[bf].toJSON=a.noop}bd[bf][bj]=e}else{if(bk){if(a.support.deleteExpando){delete
bg[a.expando]}else{if(bg.removeAttribute){bg.removeAttribute(a.expando)}else{bg[a.expando]=null}}}}},_data:function(bd,e,be){return
a.data(bd,e,be,true)},acceptData:function(bd){if(bd.nodeName){var
e=a.noData[bd.nodeName.toLowerCase()];if(e){return
!(e===true||bd.getAttribute("classid")!==e)}}return
true}});a.fn.extend({data:function(bg,bi){var bh=null;if(typeof
bg==="undefined"){if(this.length){bh=a.data(this[0]);if(this[0].nodeType===1){var
e=this[0].attributes,be;for(var
bf=0,bd=e.length;bf<bd;bf++){be=e[bf].name;if(be.indexOf("data-")===0){be=be.substr(5);aT(this[0],be,bh[be])}}}}return
bh}else{if(typeof bg==="object"){return
this.each(function(){a.data(this,bg)})}}var
bj=bg.split(".");bj[1]=bj[1]?"."+bj[1]:"";if(bi===H){bh=this.triggerHandler("getData"+bj[1]+"!",[bj[0]]);if(bh===H&&this.length){bh=a.data(this[0],bg);bh=aT(this[0],bg,bh)}return
bh===H&&bj[1]?this.data(bj[0]):bh}else{return this.each(function(){var
bl=a(this),bk=[bj[0],bi];bl.triggerHandler("setData"+bj[1]+"!",bk);a.data(this,bg,bi);bl.triggerHandler("changeData"+bj[1]+"!",bk)})}},removeData:function(e){return
this.each(function(){a.removeData(this,e)})}});function
aT(be,bd,bf){if(bf===H&&be.nodeType===1){bf=be.getAttribute("data-"+bd);if(typeof
bf==="string"){try{bf=bf==="true"?true:bf==="false"?false:bf==="null"?null:!a.isNaN(bf)?parseFloat(bf):aE.test(bf)?a.parseJSON(bf):bf}catch(bg){}a.data(be,bd,bf)}else{bf=H}}return
bf}function P(bd){for(var e in bd){if(e!=="toJSON"){return false}}return
true}a.extend({queue:function(bd,e,bf){if(!bd){return}e=(e||"fx")+"queue";var
be=a._data(bd,e);if(!bf){return
be||[]}if(!be||a.isArray(bf)){be=a._data(bd,e,a.makeArray(bf))}else{be.push(bf)}return
be},dequeue:function(bf,be){be=be||"fx";var
e=a.queue(bf,be),bd=e.shift();if(bd==="inprogress"){bd=e.shift()}if(bd){if(be==="fx"){e.unshift("inprogress")}bd.call(bf,function(){a.dequeue(bf,be)})}if(!e.length){a.removeData(bf,be+"queue",true)}}});a.fn.extend({queue:function(e,bd){if(typeof
e!=="string"){bd=e;e="fx"}if(bd===H){return a.queue(this[0],e)}return
this.each(function(bf){var
be=a.queue(this,e,bd);if(e==="fx"&&be[0]!=="inprogress"){a.dequeue(this,e)}})},dequeue:function(e){return
this.each(function(){a.dequeue(this,e)})},delay:function(bd,e){bd=a.fx?a.fx.speeds[bd]||bd:bd;e=e||"fx";return
this.queue(e,function(){var
be=this;setTimeout(function(){a.dequeue(be,e)},bd)})},clearQueue:function(e){return
this.queue(e||"fx",[])}});var
aC=/[\n\t\r]/g,a3=/\s+/,aG=/\r/g,a2=/^(?:href|src|style)$/,f=/^(?:button|input)$/i,C=/^(?:button|input|object|select|textarea)$/i,k=/^a(?:rea)?$/i,Q=/^(?:radio|checkbox)$/i;a.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};a.fn.extend({attr:function(e,bd){return
a.access(this,e,bd,true,a.attr)},removeAttr:function(e,bd){return
this.each(function(){a.attr(this,e,"");if(this.nodeType===1){this.removeAttribute(e)}})},addClass:function(bj){if(a.isFunction(bj)){return
this.each(function(bm){var
bl=a(this);bl.addClass(bj.call(this,bm,bl.attr("class")))})}if(bj&&typeof
bj==="string"){var e=(bj||"").split(a3);for(var
bf=0,be=this.length;bf<be;bf++){var
bd=this[bf];if(bd.nodeType===1){if(!bd.className){bd.className=bj}else{var bg="
"+bd.className+" ",bi=bd.className;for(var
bh=0,bk=e.length;bh<bk;bh++){if(bg.indexOf(" "+e[bh]+"
")<0){bi+=" "+e[bh]}}bd.className=a.trim(bi)}}}}return
this},removeClass:function(bh){if(a.isFunction(bh)){return this.each(function(bl){var
bk=a(this);bk.removeClass(bh.call(this,bl,bk.attr("class")))})}if((bh&&typeof
bh==="string")||bh===H){var bi=(bh||"").split(a3);for(var
be=0,bd=this.length;be<bd;be++){var
bg=this[be];if(bg.nodeType===1&&bg.className){if(bh){var bf=("
"+bg.className+" ").replace(aC," ");for(var
bj=0,e=bi.length;bj<e;bj++){bf=bf.replace(" "+bi[bj]+" ","
")}bg.className=a.trim(bf)}else{bg.className=""}}}}return
this},toggleClass:function(bf,bd){var be=typeof bf,e=typeof
bd==="boolean";if(a.isFunction(bf)){return this.each(function(bh){var
bg=a(this);bg.toggleClass(bf.call(this,bh,bg.attr("class"),bd),bd)})}return
this.each(function(){if(be==="string"){var
bi,bh=0,bg=a(this),bj=bd,bk=bf.split(a3);while((bi=bk[bh++])){bj=e?bj:!bg.hasClass(bi);bg[bj?"addClass":"removeClass"](bi)}}else{if(be==="undefined"||be==="boolean"){if(this.className){a._data(this,"__className__",this.className)}this.className=this.className||bf===false?"":a._data(this,"__className__")||""}}})},hasClass:function(e){var
bf=" "+e+" ";for(var be=0,bd=this.length;be<bd;be++){if(("
"+this[be].className+" ").replace(aC,"
").indexOf(bf)>-1){return true}}return
false},val:function(bk){if(!arguments.length){var
be=this[0];if(be){if(a.nodeName(be,"option")){var bd=be.attributes.value;return
!bd||bd.specified?be.value:be.text}if(a.nodeName(be,"select")){var
bi=be.selectedIndex,bl=[],bm=be.options,bh=be.type==="select-one";if(bi<0){return
null}for(var bf=bh?bi:0,bj=bh?bi+1:bm.length;bf<bj;bf++){var
bg=bm[bf];if(bg.selected&&(a.support.optDisabled?!bg.disabled:bg.getAttribute("disabled")===null)&&(!bg.parentNode.disabled||!a.nodeName(bg.parentNode,"optgroup"))){bk=a(bg).val();if(bh){return
bk}bl.push(bk)}}if(bh&&!bl.length&&bm.length){return
a(bm[bi]).val()}return bl}if(Q.test(be.type)&&!a.support.checkOn){return
be.getAttribute("value")===null?"on":be.value}return(be.value||"").replace(aG,"")}return
H}var e=a.isFunction(bk);return this.each(function(bp){var
bo=a(this),bq=bk;if(this.nodeType!==1){return}if(e){bq=bk.call(this,bp,bo.val())}if(bq==null){bq=""}else{if(typeof
bq==="number"){bq+=""}else{if(a.isArray(bq)){bq=a.map(bq,function(br){return
br==null?"":br+""})}}}if(a.isArray(bq)&&Q.test(this.type)){this.checked=a.inArray(bo.val(),bq)>=0}else{if(a.nodeName(this,"select")){var
bn=a.makeArray(bq);a("option",this).each(function(){this.selected=a.inArray(a(this).val(),bn)>=0});if(!bn.length){this.selectedIndex=-1}}else{this.value=bq}}})}});a.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bd,e,bi,bl){if(!bd||bd.nodeType===3||bd.nodeType===8||bd.nodeType===2){return
H}if(bl&&e in a.attrFn){return a(bd)[e](bi)}var
be=bd.nodeType!==1||!a.isXMLDoc(bd),bh=bi!==H;e=be&&a.props[e]||e;if(bd.nodeType===1){var
bg=a2.test(e);if(e==="selected"&&!a.support.optSelected){var
bj=bd.parentNode;if(bj){bj.selectedIndex;if(bj.parentNode){bj.parentNode.selectedIndex}}}if((e
in
bd||bd[e]!==H)&&be&&!bg){if(bh){if(e==="type"&&f.test(bd.nodeName)&&bd.parentNode){a.error("type
property can't be
changed")}if(bi===null){if(bd.nodeType===1){bd.removeAttribute(e)}}else{bd[e]=bi}}if(a.nodeName(bd,"form")&&bd.getAttributeNode(e)){return
bd.getAttributeNode(e).nodeValue}if(e==="tabIndex"){var
bk=bd.getAttributeNode("tabIndex");return
bk&&bk.specified?bk.value:C.test(bd.nodeName)||k.test(bd.nodeName)&&bd.href?0:H}return
bd[e]}if(!a.support.style&&be&&e==="style"){if(bh){bd.style.cssText=""+bi}return
bd.style.cssText}if(bh){bd.setAttribute(e,""+bi)}if(!bd.attributes[e]&&(bd.hasAttribute&&!bd.hasAttribute(e))){return
H}var
bf=!a.support.hrefNormalized&&be&&bg?bd.getAttribute(e,2):bd.getAttribute(e);return
bf===null?H:bf}if(bh){bd[e]=bi}return bd[e]}});var
aP=/\.(.*)$/,a0=/^(?:textarea|input|select)$/i,K=/\./g,aa=/
/g,aw=/[^\w\s.|`]/g,E=function(e){return
e.replace(aw,"\\$&")};a.event={add:function(bg,bk,br,bi){if(bg.nodeType===3||bg.nodeType===8){return}try{if(a.isWindow(bg)&&(bg!==aY&&!bg.frameElement)){bg=aY}}catch(bl){}if(br===false){br=a5}else{if(!br){return}}var
be,bp;if(br.handler){be=br;br=be.handler}if(!br.guid){br.guid=a.guid++}var
bm=a._data(bg);if(!bm){return}var
bq=bm.events,bj=bm.handle;if(!bq){bm.events=bq={}}if(!bj){bm.handle=bj=function(){return
typeof
a!=="undefined"&&!a.event.triggered?a.event.handle.apply(bj.elem,arguments):H}}bj.elem=bg;bk=bk.split("
");var
bo,bh=0,bd;while((bo=bk[bh++])){bp=be?a.extend({},be):{handler:br,data:bi};if(bo.indexOf(".")>-1){bd=bo.split(".");bo=bd.shift();bp.namespace=bd.slice(0).sort().join(".")}else{bd=[];bp.namespace=""}bp.type=bo;if(!bp.guid){bp.guid=br.guid}var
bf=bq[bo],bn=a.event.special[bo]||{};if(!bf){bf=bq[bo]=[];if(!bn.setup||bn.setup.call(bg,bi,bd,bj)===false){if(bg.addEventListener){bg.addEventListener(bo,bj,false)}else{if(bg.attachEvent){bg.attachEvent("on"+bo,bj)}}}}if(bn.add){bn.add.call(bg,bp);if(!bp.handler.guid){bp.handler.guid=br.guid}}bf.push(bp);a.event.global[bo]=true}bg=null},global:{},remove:function(br,bm,be,bi){if(br.nodeType===3||br.nodeType===8){return}if(be===false){be=a5}var
bu,bh,bj,bo,bp=0,bf,bk,bn,bg,bl,e,bt,bq=a.hasData(br)&&a._data(br),bd=bq&&bq.events;if(!bq||!bd){return}if(bm&&bm.type){be=bm.handler;bm=bm.type}if(!bm||typeof
bm==="string"&&bm.charAt(0)==="."){bm=bm||"";for(bh
in bd){a.event.remove(br,bh+bm)}return}bm=bm.split("
");while((bh=bm[bp++])){bt=bh;e=null;bf=bh.indexOf(".")<0;bk=[];if(!bf){bk=bh.split(".");bh=bk.shift();bn=new
RegExp("(^|\\.)"+a.map(bk.slice(0).sort(),E).join("\\.(?:.*\\.)?")+"(\\.|$)")}bl=bd[bh];if(!bl){continue}if(!be){for(bo=0;bo<bl.length;bo++){e=bl[bo];if(bf||bn.test(e.namespace)){a.event.remove(br,bt,e.handler,bo);bl.splice(bo--,1)}}continue}bg=a.event.special[bh]||{};for(bo=bi||0;bo<bl.length;bo++){e=bl[bo];if(be.guid===e.guid){if(bf||bn.test(e.namespace)){if(bi==null){bl.splice(bo--,1)}if(bg.remove){bg.remove.call(br,e)}}if(bi!=null){break}}}if(bl.length===0||bi!=null&&bl.length===1){if(!bg.teardown||bg.teardown.call(br,bk)===false){a.removeEvent(br,bh,bq.handle)}bu=null;delete
bd[bh]}}if(a.isEmptyObject(bd)){var bs=bq.handle;if(bs){bs.elem=null}delete
bq.events;delete
bq.handle;if(a.isEmptyObject(bq)){a.removeData(br,H,true)}}},trigger:function(bd,bi,bf){var
bm=bd.type||bd,bh=arguments[3];if(!bh){bd=typeof
bd==="object"?bd[a.expando]?bd:a.extend(a.Event(bm),bd):a.Event(bm);if(bm.indexOf("!")>=0){bd.type=bm=bm.slice(0,-1);bd.exclusive=true}if(!bf){bd.stopPropagation();if(a.event.global[bm]){a.each(a.cache,function(){var
br=a.expando,bq=this[br];if(bq&&bq.events&&bq.events[bm]){a.event.trigger(bd,bi,bq.handle.elem)}})}}if(!bf||bf.nodeType===3||bf.nodeType===8){return
H}bd.result=H;bd.target=bf;bi=a.makeArray(bi);bi.unshift(bd)}bd.currentTarget=bf;var
bj=a._data(bf,"handle");if(bj){bj.apply(bf,bi)}var
bo=bf.parentNode||bf.ownerDocument;try{if(!(bf&&bf.nodeName&&a.noData[bf.nodeName.toLowerCase()])){if(bf["on"+bm]&&bf["on"+bm].apply(bf,bi)===false){bd.result=false;bd.preventDefault()}}}catch(bn){}if(!bd.isPropagationStopped()&&bo){a.event.trigger(bd,bi,bo,true)}else{if(!bd.isDefaultPrevented()){var
be,bk=bd.target,e=bm.replace(aP,""),bp=a.nodeName(bk,"a")&&e==="click",bl=a.event.special[e]||{};if((!bl._default||bl._default.call(bf,bd)===false)&&!bp&&!(bk&&bk.nodeName&&a.noData[bk.nodeName.toLowerCase()])){try{if(bk[e]){be=bk["on"+e];if(be){bk["on"+e]=null}a.event.triggered=true;bk[e]()}}catch(bg){}if(be){bk["on"+e]=be}a.event.triggered=false}}}},handle:function(e){var
bl,be,bd,bn,bm,bh=[],bj=a.makeArray(arguments);e=bj[0]=a.event.fix(e||aY.event);e.currentTarget=this;bl=e.type.indexOf(".")<0&&!e.exclusive;if(!bl){bd=e.type.split(".");e.type=bd.shift();bh=bd.slice(0).sort();bn=new
RegExp("(^|\\.)"+bh.join("\\.(?:.*\\.)?")+"(\\.|$)")}e.namespace=e.namespace||bh.join(".");bm=a._data(this,"events");be=(bm||{})[e.type];if(bm&&be){be=be.slice(0);for(var
bg=0,bf=be.length;bg<bf;bg++){var
bk=be[bg];if(bl||bn.test(bk.namespace)){e.handler=bk.handler;e.data=bk.data;e.handleObj=bk;var
bi=bk.handler.apply(this,bj);if(bi!==H){e.result=bi;if(bi===false){e.preventDefault();e.stopPropagation()}}if(e.isImmediatePropagationStopped()){break}}}}return
e.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(bf){if(bf[a.expando]){return bf}var
bd=bf;bf=a.Event(bd);for(var
be=this.props.length,bh;be;){bh=this.props[--be];bf[bh]=bd[bh]}if(!bf.target){bf.target=bf.srcElement||al}if(bf.target.nodeType===3){bf.target=bf.target.parentNode}if(!bf.relatedTarget&&bf.fromElement){bf.relatedTarget=bf.fromElement===bf.target?bf.toElement:bf.fromElement}if(bf.pageX==null&&bf.clientX!=null){var
bg=al.documentElement,e=al.body;bf.pageX=bf.clientX+(bg&&bg.scrollLeft||e&&e.scrollLeft||0)-(bg&&bg.clientLeft||e&&e.clientLeft||0);bf.pageY=bf.clientY+(bg&&bg.scrollTop||e&&e.scrollTop||0)-(bg&&bg.clientTop||e&&e.clientTop||0)}if(bf.which==null&&(bf.charCode!=null||bf.keyCode!=null)){bf.which=bf.charCode!=null?bf.charCode:bf.keyCode}if(!bf.metaKey&&bf.ctrlKey){bf.metaKey=bf.ctrlKey}if(!bf.which&&bf.button!==H){bf.which=(bf.button&1?1:(bf.button&2?3:(bf.button&4?2:0)))}return
bf},guid:100000000,proxy:a.proxy,special:{ready:{setup:a.bindReady,teardown:a.noop},live:{add:function(e){a.event.add(this,n(e.origType,e.selector),a.extend({},e,{handler:af,guid:e.handler.guid}))},remove:function(e){a.event.remove(this,n(e.origType,e.selector),e)}},beforeunload:{setup:function(be,bd,e){if(a.isWindow(this)){this.onbeforeunload=e}},teardown:function(bd,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}}};a.removeEvent=al.removeEventListener?function(bd,e,be){if(bd.removeEventListener){bd.removeEventListener(e,be,false)}}:function(bd,e,be){if(bd.detachEvent){bd.detachEvent("on"+e,be)}};a.Event=function(e){if(!this.preventDefault){return
new
a.Event(e)}if(e&&e.type){this.originalEvent=e;this.type=e.type;this.isDefaultPrevented=(e.defaultPrevented||e.returnValue===false||e.getPreventDefault&&e.getPreventDefault())?h:a5}else{this.type=e}this.timeStamp=a.now();this[a.expando]=true};function
a5(){return false}function h(){return
true}a.Event.prototype={preventDefault:function(){this.isDefaultPrevented=h;var
bd=this.originalEvent;if(!bd){return}if(bd.preventDefault){bd.preventDefault()}else{bd.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=h;var
bd=this.originalEvent;if(!bd){return}if(bd.stopPropagation){bd.stopPropagation()}bd.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=h;this.stopPropagation()},isDefaultPrevented:a5,isPropagationStopped:a5,isImmediatePropagationStopped:a5};var
Z=function(be){var
bd=be.relatedTarget;try{if(bd!==al&&!bd.parentNode){return}while(bd&&bd!==this){bd=bd.parentNode}if(bd!==this){be.type=be.data;a.event.handle.apply(this,arguments)}}catch(bf){}},aK=function(e){e.type=e.data;a.event.handle.apply(this,arguments)};a.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bd,e){a.event.special[bd]={setup:function(be){a.event.add(this,e,be&&be.selector?aK:Z,bd)},teardown:function(be){a.event.remove(this,e,be&&be.selector?aK:Z)}}});if(!a.support.submitBubbles){a.event.special.submit={setup:function(bd,e){if(this.nodeName&&this.nodeName.toLowerCase()!=="form"){a.event.add(this,"click.specialSubmit",function(bg){var
bf=bg.target,be=bf.type;if((be==="submit"||be==="image")&&a(bf).closest("form").length){aN("submit",this,arguments)}});a.event.add(this,"keypress.specialSubmit",function(bg){var
bf=bg.target,be=bf.type;if((be==="text"||be==="password")&&a(bf).closest("form").length&&bg.keyCode===13){aN("submit",this,arguments)}})}else{return
false}},teardown:function(e){a.event.remove(this,".specialSubmit")}}}if(!a.support.changeBubbles){var
a6,j=function(bd){var
e=bd.type,be=bd.value;if(e==="radio"||e==="checkbox"){be=bd.checked}else{if(e==="select-multiple"){be=bd.selectedIndex>-1?a.map(bd.options,function(bf){return
bf.selected}).join("-"):""}else{if(bd.nodeName.toLowerCase()==="select"){be=bd.selectedIndex}}}return
be},X=function X(bf){var
bd=bf.target,be,bg;if(!a0.test(bd.nodeName)||bd.readOnly){return}be=a._data(bd,"_change_data");bg=j(bd);if(bf.type!=="focusout"||bd.type!=="radio"){a._data(bd,"_change_data",bg)}if(be===H||bg===be){return}if(be!=null||bg){bf.type="change";bf.liveFired=H;a.event.trigger(bf,arguments[1],bd)}};a.event.special.change={filters:{focusout:X,beforedeactivate:X,click:function(bf){var
be=bf.target,bd=be.type;if(bd==="radio"||bd==="checkbox"||be.nodeName.toLowerCase()==="select"){X.call(this,bf)}},keydown:function(bf){var
be=bf.target,bd=be.type;if((bf.keyCode===13&&be.nodeName.toLowerCase()!=="textarea")||(bf.keyCode===32&&(bd==="checkbox"||bd==="radio"))||bd==="select-multiple"){X.call(this,bf)}},beforeactivate:function(be){var
bd=be.target;a._data(bd,"_change_data",j(bd))}},setup:function(be,bd){if(this.type==="file"){return
false}for(var e in a6){a.event.add(this,e+".specialChange",a6[e])}return
a0.test(this.nodeName)},teardown:function(e){a.event.remove(this,".specialChange");return
a0.test(this.nodeName)}};a6=a.event.special.change.filters;a6.focus=a6.beforeactivate}function
aN(bd,bf,e){var
be=a.extend({},e[0]);be.type=bd;be.originalEvent={};be.liveFired=H;a.event.handle.call(bf,be);if(be.isDefaultPrevented()){e[0].preventDefault()}}if(al.addEventListener){a.each({focus:"focusin",blur:"focusout"},function(be,e){a.event.special[e]={setup:function(){this.addEventListener(be,bd,true)},teardown:function(){this.removeEventListener(be,bd,true)}};function
bd(bf){bf=a.event.fix(bf);bf.type=e;return
a.event.handle.call(this,bf)}})}a.each(["bind","one"],function(bd,e){a.fn[e]=function(bj,bk,bi){if(typeof
bj==="object"){for(var bg in bj){this[e](bg,bk,bj[bg],bi)}return
this}if(a.isFunction(bk)||bk===false){bi=bk;bk=H}var
bh=e==="one"?a.proxy(bi,function(bl){a(this).unbind(bl,bh);return
bi.apply(this,arguments)}):bi;if(bj==="unload"&&e!=="one"){this.one(bj,bk,bi)}else{for(var
bf=0,be=this.length;bf<be;bf++){a.event.add(this[bf],bj,bh,bk)}}return
this}});a.fn.extend({unbind:function(bg,bf){if(typeof
bg==="object"&&!bg.preventDefault){for(var be in
bg){this.unbind(be,bg[be])}}else{for(var
bd=0,e=this.length;bd<e;bd++){a.event.remove(this[bd],bg,bf)}}return
this},delegate:function(e,bd,bf,be){return
this.live(bd,bf,be,e)},undelegate:function(e,bd,be){if(arguments.length===0){return
this.unbind("live")}else{return
this.die(bd,null,be,e)}},trigger:function(e,bd){return
this.each(function(){a.event.trigger(e,bd,this)})},triggerHandler:function(e,be){if(this[0]){var
bd=a.Event(e);bd.preventDefault();bd.stopPropagation();a.event.trigger(bd,be,this[0]);return
bd.result}},toggle:function(be){var
e=arguments,bd=1;while(bd<e.length){a.proxy(be,e[bd++])}return
this.click(a.proxy(be,function(bf){var
bg=(a._data(this,"lastToggle"+be.guid)||0)%bd;a._data(this,"lastToggle"+be.guid,bg+1);bf.preventDefault();return
e[bg].apply(this,arguments)||false}))},hover:function(e,bd){return
this.mouseenter(e).mouseleave(bd||e)}});var
aH={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};a.each(["live","die"],function(bd,e){a.fn[e]=function(bn,bk,bp,bg){var
bo,bl=0,bm,bf,br,bi=bg||this.selector,be=bg?this:a(this.context);if(typeof
bn==="object"&&!bn.preventDefault){for(var bq in
bn){be[e](bq,bk,bn[bq],bi)}return
this}if(a.isFunction(bk)){bp=bk;bk=H}bn=(bn||"").split("
");while((bo=bn[bl++])!=null){bm=aP.exec(bo);bf="";if(bm){bf=bm[0];bo=bo.replace(aP,"")}if(bo==="hover"){bn.push("mouseenter"+bf,"mouseleave"+bf);continue}br=bo;if(bo==="focus"||bo==="blur"){bn.push(aH[bo]+bf);bo=bo+bf}else{bo=(aH[bo]||bo)+bf}if(e==="live"){for(var
bj=0,bh=be.length;bj<bh;bj++){a.event.add(be[bj],"live."+n(bo,bi),{data:bk,selector:bi,handler:bp,origType:bo,origHandler:bp,preType:br})}}else{be.unbind("live."+n(bo,bi),bp)}}return
this}});function af(bn){var
bk,bf,bt,bh,e,bp,bm,bo,bl,bs,bj,bi,br,bq=[],bg=[],bd=a._data(this,"events");if(bn.liveFired===this||!bd||!bd.live||bn.target.disabled||bn.button&&bn.type==="click"){return}if(bn.namespace){bi=new
RegExp("(^|\\.)"+bn.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")}bn.liveFired=this;var
be=bd.live.slice(0);for(bm=0;bm<be.length;bm++){e=be[bm];if(e.origType.replace(aP,"")===bn.type){bg.push(e.selector)}else{be.splice(bm--,1)}}bh=a(bn.target).closest(bg,bn.currentTarget);for(bo=0,bl=bh.length;bo<bl;bo++){bj=bh[bo];for(bm=0;bm<be.length;bm++){e=be[bm];if(bj.selector===e.selector&&(!bi||bi.test(e.namespace))&&!bj.elem.disabled){bp=bj.elem;bt=null;if(e.preType==="mouseenter"||e.preType==="mouseleave"){bn.type=e.preType;bt=a(bn.relatedTarget).closest(e.selector)[0]}if(!bt||bt!==bp){bq.push({elem:bp,handleObj:e,level:bj.level})}}}}for(bo=0,bl=bq.length;bo<bl;bo++){bh=bq[bo];if(bf&&bh.level>bf){break}bn.currentTarget=bh.elem;bn.data=bh.handleObj.data;bn.handleObj=bh.handleObj;br=bh.handleObj.origHandler.apply(bh.elem,arguments);if(br===false||bn.isPropagationStopped()){bf=bh.level;if(br===false){bk=false}if(bn.isImmediatePropagationStopped()){break}}}return
bk}function
n(bd,e){return(bd&&bd!=="*"?bd+".":"")+e.replace(K,"`").replace(aa,"&")}a.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(bd,e){a.fn[e]=function(bf,be){if(be==null){be=bf;bf=null}return
arguments.length>0?this.bind(e,bf,be):this.trigger(e)};if(a.attrFn){a.attrFn[e]=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
bj=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^
>+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bc=0,a7=Object.prototype.toString,bi=false,bb=true;[0,0].sort(function(){bb=false;return
0});var a5=function(bq,bl,bt,bu){bt=bt||[];bl=bl||ae;var
bw=bl;if(bl.nodeType!==1&&bl.nodeType!==9){return[]}if(!bq||typeof
bq!=="string"){return bt}var
bn,by,bB,bm,bx,bA,bz,bs,bp=true,bo=a5.isXML(bl),br=[],bv=bq;do{bj.exec("");bn=bj.exec(bv);if(bn){bv=bn[3];br.push(bn[1]);if(bn[2]){bm=bn[3];break}}}while(bn);if(br.length>1&&bd.exec(bq)){if(br.length===2&&a8.relative[br[0]]){by=ba(br[0]+br[1],bl)}else{by=a8.relative[br[0]]?[bl]:a5(br.shift(),bl);while(br.length){bq=br.shift();if(a8.relative[bq]){bq+=br.shift()}by=ba(bq,by)}}}else{if(!bu&&br.length>1&&bl.nodeType===9&&!bo&&a8.match.ID.test(br[0])&&!a8.match.ID.test(br[br.length-1])){bx=a5.find(br.shift(),bl,bo);bl=bx.expr?a5.filter(bx.expr,bx.set)[0]:bx.set[0]}if(bl){bx=bu?{expr:br.pop(),set:a4(bu)}:a5.find(br.pop(),br.length===1&&(br[0]==="~"||br[0]==="+")&&bl.parentNode?bl.parentNode:bl,bo);by=bx.expr?a5.filter(bx.expr,bx.set):bx.set;if(br.length>0){bB=a4(by)}else{bp=false}while(br.length){bA=br.pop();bz=bA;if(!a8.relative[bA]){bA=""}else{bz=br.pop()}if(bz==null){bz=bl}a8.relative[bA](bB,bz,bo)}}else{bB=br=[]}}if(!bB){bB=by}if(!bB){a5.error(bA||bq)}if(a7.call(bB)==="[object
Array]"){if(!bp){bt.push.apply(bt,bB)}else{if(bl&&bl.nodeType===1){for(bs=0;bB[bs]!=null;bs++){if(bB[bs]&&(bB[bs]===true||bB[bs].nodeType===1&&a5.contains(bl,bB[bs]))){bt.push(by[bs])}}}else{for(bs=0;bB[bs]!=null;bs++){if(bB[bs]&&bB[bs].nodeType===1){bt.push(by[bs])}}}}}else{a4(bB,bt)}if(bm){a5(bm,bw,bt,bu);a5.uniqueSort(bt)}return
bt};a5.uniqueSort=function(bm){if(a6){bi=bb;bm.sort(a6);if(bi){for(var
bl=1;bl<bm.length;bl++){if(bm[bl]===bm[bl-1]){bm.splice(bl--,1)}}}}return
bm};a5.matches=function(bl,bm){return
a5(bl,null,null,bm)};a5.matchesSelector=function(bl,bm){return
a5(bm,null,null,[bl]).length>0};a5.find=function(bs,bl,bt){var
br;if(!bs){return[]}for(var bo=0,bn=a8.order.length;bo<bn;bo++){var
bp,bq=a8.order[bo];if((bp=a8.leftMatch[bq].exec(bs))){var
bm=bp[1];bp.splice(1,1);if(bm.substr(bm.length-1)!=="\\"){bp[1]=(bp[1]||"").replace(/\\/g,"");br=a8.find[bq](bp,bl,bt);if(br!=null){bs=bs.replace(a8.match[bq],"");break}}}}if(!br){br=typeof
bl.getElementsByTagName!=="undefined"?bl.getElementsByTagName("*"):[]}return{set:br,expr:bs}};a5.filter=function(bw,bv,bz,bp){var
br,bl,bn=bw,bB=[],bt=bv,bs=bv&&bv[0]&&a5.isXML(bv[0]);while(bw&&bv.length){for(var
bu in a8.filter){if((br=a8.leftMatch[bu].exec(bw))!=null&&br[2]){var
bA,by,bm=a8.filter[bu],bo=br[1];bl=false;br.splice(1,1);if(bo.substr(bo.length-1)==="\\"){continue}if(bt===bB){bB=[]}if(a8.preFilter[bu]){br=a8.preFilter[bu](br,bt,bz,bB,bp,bs);if(!br){bl=bA=true}else{if(br===true){continue}}}if(br){for(var
bq=0;(by=bt[bq])!=null;bq++){if(by){bA=bm(by,br,bq,bt);var
bx=bp^!!bA;if(bz&&bA!=null){if(bx){bl=true}else{bt[bq]=false}}else{if(bx){bB.push(by);bl=true}}}}}if(bA!==E){if(!bz){bt=bB}bw=bw.replace(a8.match[bu],"");if(!bl){return[]}break}}}if(bw===bn){if(bl==null){a5.error(bw)}else{break}}bn=bw}return
bt};a5.error=function(bl){throw"Syntax error, unrecognized expression: "+bl};var
a8=a5.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(bl){return
bl.getAttribute("href")}},relative:{"+":function(br,bm){var bo=typeof
bm==="string",bq=bo&&!/\W/.test(bm),bs=bo&&!bq;if(bq){bm=bm.toLowerCase()}for(var
bn=0,bl=br.length,bp;bn<bl;bn++){if((bp=br[bn])){while((bp=bp.previousSibling)&&bp.nodeType!==1){}br[bn]=bs||bp&&bp.nodeName.toLowerCase()===bm?bp||false:bp===bm}}if(bs){a5.filter(bm,br,true)}},">":function(br,bm){var
bq,bp=typeof
bm==="string",bn=0,bl=br.length;if(bp&&!/\W/.test(bm)){bm=bm.toLowerCase();for(;bn<bl;bn++){bq=br[bn];if(bq){var
bo=bq.parentNode;br[bn]=bo.nodeName.toLowerCase()===bm?bo:false}}}else{for(;bn<bl;bn++){bq=br[bn];if(bq){br[bn]=bp?bq.parentNode:bq.parentNode===bm}}if(bp){a5.filter(bm,br,true)}}},"":function(bo,bm,bq){var
bp,bn=bc++,bl=bk;if(typeof
bm==="string"&&!/\W/.test(bm)){bm=bm.toLowerCase();bp=bm;bl=bh}bl("parentNode",bm,bn,bo,bp,bq)},"~":function(bo,bm,bq){var
bp,bn=bc++,bl=bk;if(typeof
bm==="string"&&!/\W/.test(bm)){bm=bm.toLowerCase();bp=bm;bl=bh}bl("previousSibling",bm,bn,bo,bp,bq)}},find:{ID:function(bm,bn,bo){if(typeof
bn.getElementById!=="undefined"&&!bo){var
bl=bn.getElementById(bm[1]);return
bl&&bl.parentNode?[bl]:[]}},NAME:function(bn,bq){if(typeof
bq.getElementsByName!=="undefined"){var
bm=[],bp=bq.getElementsByName(bn[1]);for(var
bo=0,bl=bp.length;bo<bl;bo++){if(bp[bo].getAttribute("name")===bn[1]){bm.push(bp[bo])}}return
bm.length===0?null:bm}},TAG:function(bl,bm){if(typeof
bm.getElementsByTagName!=="undefined"){return
bm.getElementsByTagName(bl[1])}}},preFilter:{CLASS:function(bo,bm,bn,bl,br,bs){bo="
"+bo[1].replace(/\\/g,"")+" ";if(bs){return bo}for(var
bp=0,bq;(bq=bm[bp])!=null;bp++){if(bq){if(br^(bq.className&&("
"+bq.className+" ").replace(/[\t\n\r]/g,"
").indexOf(bo)>=0)){if(!bn){bl.push(bq)}}else{if(bn){bm[bp]=false}}}}return
false},ID:function(bl){return
bl[1].replace(/\\/g,"")},TAG:function(bm,bl){return
bm[1].toLowerCase()},CHILD:function(bl){if(bl[1]==="nth"){if(!bl[2]){a5.error(bl[0])}bl[2]=bl[2].replace(/^\+|\s*/g,"");var
bm=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(bl[2]==="even"&&"2n"||bl[2]==="odd"&&"2n+1"||!/\D/.test(bl[2])&&"0n+"+bl[2]||bl[2]);bl[2]=(bm[1]+(bm[2]||1))-0;bl[3]=bm[3]-0}else{if(bl[2]){a5.error(bl[0])}}bl[0]=bc++;return
bl},ATTR:function(bp,bm,bn,bl,bq,br){var
bo=bp[1]=bp[1].replace(/\\/g,"");if(!br&&a8.attrMap[bo]){bp[1]=a8.attrMap[bo]}bp[4]=(bp[4]||bp[5]||"").replace(/\\/g,"");if(bp[2]==="~="){bp[4]="
"+bp[4]+" "}return
bp},PSEUDO:function(bp,bm,bn,bl,bq){if(bp[1]==="not"){if((bj.exec(bp[3])||"").length>1||/^\w/.test(bp[3])){bp[3]=a5(bp[3],null,null,bm)}else{var
bo=a5.filter(bp[3],bm,bn,true^bq);if(!bn){bl.push.apply(bl,bo)}return
false}}else{if(a8.match.POS.test(bp[0])||a8.match.CHILD.test(bp[0])){return true}}return
bp},POS:function(bl){bl.unshift(true);return bl}},filters:{enabled:function(bl){return
bl.disabled===false&&bl.type!=="hidden"},disabled:function(bl){return
bl.disabled===true},checked:function(bl){return
bl.checked===true},selected:function(bl){bl.parentNode.selectedIndex;return
bl.selected===true},parent:function(bl){return !!bl.firstChild},empty:function(bl){return
!bl.firstChild},has:function(bn,bm,bl){return
!!a5(bl[3],bn).length},header:function(bl){return(/h\d/i).test(bl.nodeName)},text:function(bl){return"text"===bl.type},radio:function(bl){return"radio"===bl.type},checkbox:function(bl){return"checkbox"===bl.type},file:function(bl){return"file"===bl.type},password:function(bl){return"password"===bl.type},submit:function(bl){return"submit"===bl.type},image:function(bl){return"image"===bl.type},reset:function(bl){return"reset"===bl.type},button:function(bl){return"button"===bl.type||bl.nodeName.toLowerCase()==="button"},input:function(bl){return(/input|select|textarea|button/i).test(bl.nodeName)}},setFilters:{first:function(bm,bl){return
bl===0},last:function(bn,bm,bl,bo){return bm===bo.length-1},even:function(bm,bl){return
bl%2===0},odd:function(bm,bl){return bl%2===1},lt:function(bn,bm,bl){return
bm<bl[3]-0},gt:function(bn,bm,bl){return bm>bl[3]-0},nth:function(bn,bm,bl){return
bl[3]-0===bm},eq:function(bn,bm,bl){return
bl[3]-0===bm}},filter:{PSEUDO:function(bn,bs,br,bt){var
bl=bs[1],bm=a8.filters[bl];if(bm){return
bm(bn,br,bs,bt)}else{if(bl==="contains"){return(bn.textContent||bn.innerText||a5.getText([bn])||"").indexOf(bs[3])>=0}else{if(bl==="not"){var
bo=bs[3];for(var bq=0,bp=bo.length;bq<bp;bq++){if(bo[bq]===bn){return false}}return
true}else{a5.error(bl)}}}},CHILD:function(bl,bo){var
br=bo[1],bm=bl;switch(br){case"only":case"first":while((bm=bm.previousSibling)){if(bm.nodeType===1){return
false}}if(br==="first"){return
true}bm=bl;case"last":while((bm=bm.nextSibling)){if(bm.nodeType===1){return
false}}return true;case"nth":var
bn=bo[2],bu=bo[3];if(bn===1&&bu===0){return true}var
bq=bo[0],bt=bl.parentNode;if(bt&&(bt.sizcache!==bq||!bl.nodeIndex)){var
bp=0;for(bm=bt.firstChild;bm;bm=bm.nextSibling){if(bm.nodeType===1){bm.nodeIndex=++bp}}bt.sizcache=bq}var
bs=bl.nodeIndex-bu;if(bn===0){return
bs===0}else{return(bs%bn===0&&bs/bn>=0)}}},ID:function(bm,bl){return
bm.nodeType===1&&bm.getAttribute("id")===bl},TAG:function(bm,bl){return(bl==="*"&&bm.nodeType===1)||bm.nodeName.toLowerCase()===bl},CLASS:function(bm,bl){return("
"+(bm.className||bm.getAttribute("class"))+"
").indexOf(bl)>-1},ATTR:function(bq,bo){var
bn=bo[1],bl=a8.attrHandle[bn]?a8.attrHandle[bn](bq):bq[bn]!=null?bq[bn]:bq.getAttribute(bn),br=bl+"",bp=bo[2],bm=bo[4];return
bl==null?bp==="!=":bp==="="?br===bm:bp==="*="?br.indexOf(bm)>=0:bp==="~="?("
"+br+"
").indexOf(bm)>=0:!bm?br&&bl!==false:bp==="!="?br!==bm:bp==="^="?br.indexOf(bm)===0:bp==="$="?br.substr(br.length-bm.length)===bm:bp==="|="?br===bm||br.substr(0,bm.length+1)===bm+"-":false},POS:function(bp,bm,bn,bq){var
bl=bm[2],bo=a8.setFilters[bl];if(bo){return bo(bp,bn,bm,bq)}}}};var
bd=a8.match.POS,a9=function(bm,bl){return"\\"+(bl-0+1)};for(var bg in
a8.match){a8.match[bg]=new
RegExp(a8.match[bg].source+(/(?![^\[]*\])(?![^\(]*\))/.source));a8.leftMatch[bg]=new
RegExp(/(^(?:.|\r|\n)*?)/.source+a8.match[bg].source.replace(/\\(\d+)/g,a9))}var
a4=function(bm,bl){bm=Array.prototype.slice.call(bm,0);if(bl){bl.push.apply(bl,bm);return
bl}return
bm};try{Array.prototype.slice.call(ae.documentElement.childNodes,0)[0].nodeType}catch(be){a4=function(bp,bo){var
bn=0,bm=bo||[];if(a7.call(bp)==="[object
Array]"){Array.prototype.push.apply(bm,bp)}else{if(typeof
bp.length==="number"){for(var
bl=bp.length;bn<bl;bn++){bm.push(bp[bn])}}else{for(;bp[bn];bn++){bm.push(bp[bn])}}}return
bm}}var
a6,bf;if(ae.documentElement.compareDocumentPosition){a6=function(bm,bl){if(bm===bl){bi=true;return
0}if(!bm.compareDocumentPosition||!bl.compareDocumentPosition){return
bm.compareDocumentPosition?-1:1}return
bm.compareDocumentPosition(bl)&4?-1:1}}else{a6=function(bv,bu){var
bs,bn,bo=[],bm=[],br=bv.parentNode,bt=bu.parentNode,bw=br;if(bv===bu){bi=true;return
0}else{if(br===bt){return bf(bv,bu)}else{if(!br){return -1}else{if(!bt){return
1}}}}while(bw){bo.unshift(bw);bw=bw.parentNode}bw=bt;while(bw){bm.unshift(bw);bw=bw.parentNode}bs=bo.length;bn=bm.length;for(var
bq=0;bq<bs&&bq<bn;bq++){if(bo[bq]!==bm[bq]){return bf(bo[bq],bm[bq])}}return
bq===bs?bf(bv,bm[bq],-1):bf(bo[bq],bu,1)};bf=function(bm,bl,bn){if(bm===bl){return bn}var
bo=bm.nextSibling;while(bo){if(bo===bl){return -1}bo=bo.nextSibling}return
1}}a5.getText=function(bl){var bm="",bo;for(var
bn=0;bl[bn];bn++){bo=bl[bn];if(bo.nodeType===3||bo.nodeType===4){bm+=bo.nodeValue}else{if(bo.nodeType!==8){bm+=a5.getText(bo.childNodes)}}}return
bm};(function(){var bm=ae.createElement("div"),bn="script"+(new
Date()).getTime(),bl=ae.documentElement;bm.innerHTML="<a
name='"+bn+"'/>";bl.insertBefore(bm,bl.firstChild);if(ae.getElementById(bn)){a8.find.ID=function(bp,bq,br){if(typeof
bq.getElementById!=="undefined"&&!br){var
bo=bq.getElementById(bp[1]);return bo?bo.id===bp[1]||typeof
bo.getAttributeNode!=="undefined"&&bo.getAttributeNode("id").nodeValue===bp[1]?[bo]:E:[]}};a8.filter.ID=function(bq,bo){var
bp=typeof
bq.getAttributeNode!=="undefined"&&bq.getAttributeNode("id");return
bq.nodeType===1&&bp&&bp.nodeValue===bo}}bl.removeChild(bm);bl=bm=null})();(function(){var
bl=ae.createElement("div");bl.appendChild(ae.createComment(""));if(bl.getElementsByTagName("*").length>0){a8.find.TAG=function(bm,bq){var
bp=bq.getElementsByTagName(bm[1]);if(bm[1]==="*"){var bo=[];for(var
bn=0;bp[bn];bn++){if(bp[bn].nodeType===1){bo.push(bp[bn])}}bp=bo}return
bp}}bl.innerHTML="<a
href='#'></a>";if(bl.firstChild&&typeof
bl.firstChild.getAttribute!=="undefined"&&bl.firstChild.getAttribute("href")!=="#"){a8.attrHandle.href=function(bm){return
bm.getAttribute("href",2)}}bl=null})();if(ae.querySelectorAll){(function(){var
bl=a5,bo=ae.createElement("div"),bn="__sizzle__";bo.innerHTML="<p
class='TEST'></p>";if(bo.querySelectorAll&&bo.querySelectorAll(".TEST").length===0){return}a5=function(by,bq,bt,bx){bq=bq||ae;if(!bx&&!a5.isXML(bq)){var
bw=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(by);if(bw&&(bq.nodeType===1||bq.nodeType===9)){if(bw[1]){return
a4(bq.getElementsByTagName(by),bt)}else{if(bw[2]&&a8.find.CLASS&&bq.getElementsByClassName){return
a4(bq.getElementsByClassName(bw[2]),bt)}}}if(bq.nodeType===9){if(by==="body"&&bq.body){return
a4([bq.body],bt)}else{if(bw&&bw[3]){var
bs=bq.getElementById(bw[3]);if(bs&&bs.parentNode){if(bs.id===bw[3]){return
a4([bs],bt)}}else{return a4([],bt)}}}try{return
a4(bq.querySelectorAll(by),bt)}catch(bu){}}else{if(bq.nodeType===1&&bq.nodeName.toLowerCase()!=="object"){var
br=bq.getAttribute("id"),bp=br||bn,bA=bq.parentNode,bz=/^\s*[+~]/.test(by);if(!br){bq.setAttribute("id",bp)}else{bp=bp.replace(/'/g,"\\$&")}if(bz&&bA){bq=bq.parentNode}try{if(!bz||bA){return
a4(bq.querySelectorAll("[id='"+bp+"']
"+by),bt)}}catch(bv){}finally{if(!br){bq.removeAttribute("id")}}}}}return
bl(by,bq,bt,bx)};for(var bm in bl){a5[bm]=bl[bm]}bo=null})()}(function(){var
bl=ae.documentElement,bn=bl.matchesSelector||bl.mozMatchesSelector||bl.webkitMatchesSelector||bl.msMatchesSelector,bm=false;try{bn.call(ae.documentElement,"[test!='']:sizzle")}catch(bo){bm=true}if(bn){a5.matchesSelector=function(bp,br){br=br.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!a5.isXML(bp)){try{if(bm||!a8.match.PSEUDO.test(br)&&!/!=/.test(br)){return
bn.call(bp,br)}}catch(bq){}}return a5(br,null,null,[bp]).length>0}}})();(function(){var
bl=ae.createElement("div");bl.innerHTML="<div class='test
e'></div><div
class='test'></div>";if(!bl.getElementsByClassName||bl.getElementsByClassName("e").length===0){return}bl.lastChild.className="e";if(bl.getElementsByClassName("e").length===1){return}a8.order.splice(1,0,"CLASS");a8.find.CLASS=function(bm,bn,bo){if(typeof
bn.getElementsByClassName!=="undefined"&&!bo){return
bn.getElementsByClassName(bm[1])}};bl=null})();function bh(bm,br,bq,bu,bs,bt){for(var
bo=0,bn=bu.length;bo<bn;bo++){var bl=bu[bo];if(bl){var
bp=false;bl=bl[bm];while(bl){if(bl.sizcache===bq){bp=bu[bl.sizset];break}if(bl.nodeType===1&&!bt){bl.sizcache=bq;bl.sizset=bo}if(bl.nodeName.toLowerCase()===br){bp=bl;break}bl=bl[bm]}bu[bo]=bp}}}function
bk(bm,br,bq,bu,bs,bt){for(var bo=0,bn=bu.length;bo<bn;bo++){var bl=bu[bo];if(bl){var
bp=false;bl=bl[bm];while(bl){if(bl.sizcache===bq){bp=bu[bl.sizset];break}if(bl.nodeType===1){if(!bt){bl.sizcache=bq;bl.sizset=bo}if(typeof
br!=="string"){if(bl===br){bp=true;break}}else{if(a5.filter(br,[bl]).length>0){bp=bl;break}}}bl=bl[bm]}bu[bo]=bp}}}if(ae.documentElement.contains){a5.contains=function(bm,bl){return
bm!==bl&&(bm.contains?bm.contains(bl):true)}}else{if(ae.documentElement.compareDocumentPosition){a5.contains=function(bm,bl){return
!!(bm.compareDocumentPosition(bl)&16)}}else{a5.contains=function(){return
false}}}a5.isXML=function(bl){var bm=(bl?bl.ownerDocument||bl:0).documentElement;return
bm?bm.nodeName!=="HTML":false};var ba=function(bl,bs){var
bq,bo=[],bp="",bn=bs.nodeType?[bs]:bs;while((bq=a8.match.PSEUDO.exec(bl))){bp+=bq[0];bl=bl.replace(a8.match.PSEUDO,"")}bl=a8.relative[bl]?bl+"*":bl;for(var
br=0,bm=bn.length;br<bm;br++){a5(bl,bn[br],bo)}return
a5.filter(bp,bo)};a.find=a5;a.expr=a5.selectors;a.expr[":"]=a.expr.filters;a.unique=a5.uniqueSort;a.text=a5.getText;a.isXMLDoc=a5.isXML;a.contains=a5.contains})();var
Q=/Until$/,ab=/^(?:parents|prevUntil|prevAll)/,aN=/,/,aZ=/^.[^:#\[\.,]*$/,I=Array.prototype.slice,C=a.expr.match.POS,ag={children:true,contents:true,next:true,prev:true};a.fn.extend({find:function(a4){var
a6=this.pushStack("","find",a4),a9=0;for(var
a7=0,a5=this.length;a7<a5;a7++){a9=a6.length;a.find(a4,this[a7],a6);if(a7>0){for(var
ba=a9;ba<a6.length;ba++){for(var
a8=0;a8<a9;a8++){if(a6[a8]===a6[ba]){a6.splice(ba--,1);break}}}}}return
a6},has:function(a5){var a4=a(a5);return this.filter(function(){for(var
a7=0,a6=a4.length;a7<a6;a7++){if(a.contains(this,a4[a7])){return
true}}})},not:function(a4){return
this.pushStack(al(this,a4,false),"not",a4)},filter:function(a4){return
this.pushStack(al(this,a4,true),"filter",a4)},is:function(a4){return
!!a4&&a.filter(a4,this).length>0},closest:function(be,a5){var
bb=[],a8,a6,bd=this[0];if(a.isArray(be)){var
ba,a7,a9={},a4=1;if(bd&&be.length){for(a8=0,a6=be.length;a8<a6;a8++){a7=be[a8];if(!a9[a7]){a9[a7]=a.expr.match.POS.test(a7)?a(a7,a5||this.context):a7}}while(bd&&bd.ownerDocument&&bd!==a5){for(a7
in
a9){ba=a9[a7];if(ba.jquery?ba.index(bd)>-1:a(bd).is(ba)){bb.push({selector:a7,elem:bd,level:a4})}}bd=bd.parentNode;a4++}}return
bb}var
bc=C.test(be)?a(be,a5||this.context):null;for(a8=0,a6=this.length;a8<a6;a8++){bd=this[a8];while(bd){if(bc?bc.index(bd)>-1:a.find.matchesSelector(bd,be)){bb.push(bd);break}else{bd=bd.parentNode;if(!bd||!bd.ownerDocument||bd===a5){break}}}}bb=bb.length>1?a.unique(bb):bb;return
this.pushStack(bb,"closest",be)},index:function(a4){if(!a4||typeof
a4==="string"){return
a.inArray(this[0],a4?a(a4):this.parent().children())}return
a.inArray(a4.jquery?a4[0]:a4,this)},add:function(a4,a5){var a7=typeof
a4==="string"?a(a4,a5):a.makeArray(a4),a6=a.merge(this.get(),a7);return
this.pushStack(y(a7[0])||y(a6[0])?a6:a.unique(a6))},andSelf:function(){return
this.add(this.prevObject)}});function y(a4){return
!a4||!a4.parentNode||a4.parentNode.nodeType===11}a.each({parent:function(a5){var
a4=a5.parentNode;return a4&&a4.nodeType!==11?a4:null},parents:function(a4){return
a.dir(a4,"parentNode")},parentsUntil:function(a5,a4,a6){return
a.dir(a5,"parentNode",a6)},next:function(a4){return
a.nth(a4,2,"nextSibling")},prev:function(a4){return
a.nth(a4,2,"previousSibling")},nextAll:function(a4){return
a.dir(a4,"nextSibling")},prevAll:function(a4){return
a.dir(a4,"previousSibling")},nextUntil:function(a5,a4,a6){return
a.dir(a5,"nextSibling",a6)},prevUntil:function(a5,a4,a6){return
a.dir(a5,"previousSibling",a6)},siblings:function(a4){return
a.sibling(a4.parentNode.firstChild,a4)},children:function(a4){return
a.sibling(a4.firstChild)},contents:function(a4){return
a.nodeName(a4,"iframe")?a4.contentDocument||a4.contentWindow.document:a.makeArray(a4.childNodes)}},function(a4,a5){a.fn[a4]=function(a9,a6){var
a8=a.map(this,a5,a9),a7=I.call(arguments);if(!Q.test(a4)){a6=a9}if(a6&&typeof
a6==="string"){a8=a.filter(a6,a8)}a8=this.length>1&&!ag[a4]?a.unique(a8):a8;if((this.length>1||aN.test(a6))&&ab.test(a4)){a8=a8.reverse()}return
this.pushStack(a8,a4,a7.join(","))}});a.extend({filter:function(a6,a4,a5){if(a5){a6=":not("+a6+")"}return
a4.length===1?a.find.matchesSelector(a4[0],a6)?[a4[0]]:[]:a.find.matches(a6,a4)},dir:function(a6,a5,a8){var
a4=[],a7=a6[a5];while(a7&&a7.nodeType!==9&&(a8===E||a7.nodeType!==1||!a(a7).is(a8))){if(a7.nodeType===1){a4.push(a7)}a7=a7[a5]}return
a4},nth:function(a8,a4,a6,a7){a4=a4||1;var
a5=0;for(;a8;a8=a8[a6]){if(a8.nodeType===1&&++a5===a4){break}}return
a8},sibling:function(a6,a5){var
a4=[];for(;a6;a6=a6.nextSibling){if(a6.nodeType===1&&a6!==a5){a4.push(a6)}}return
a4}});function al(a7,a6,a4){if(a.isFunction(a6)){return a.grep(a7,function(a9,a8){var
ba=!!a6.call(a9,a8,a9);return ba===a4})}else{if(a6.nodeType){return
a.grep(a7,function(a9,a8){return(a9===a6)===a4})}else{if(typeof
a6==="string"){var a5=a.grep(a7,function(a8){return
a8.nodeType===1});if(aZ.test(a6)){return
a.filter(a6,a5,!a4)}else{a6=a.filter(a6,a5)}}}}return
a.grep(a7,function(a9,a8){return(a.inArray(a9,a6)>=0)===a4})}var V=/
jQuery\d+="(?:\d+|null)"/g,ac=/^\s+/,K=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,c=/<([\w:]+)/,t=/<tbody/i,N=/<|&#?\w+;/,H=/<(?:script|object|embed|option|style)/i,l=/checked\s*(?:[^=]|=\s*.checked.)/i,af={option:[1,"<select
multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};af.optgroup=af.option;af.tbody=af.tfoot=af.colgroup=af.caption=af.thead;af.th=af.td;if(!a.support.htmlSerialize){af._default=[1,"div<div>","</div>"]}a.fn.extend({text:function(a4){if(a.isFunction(a4)){return
this.each(function(a6){var a5=a(this);a5.text(a4.call(this,a6,a5.text()))})}if(typeof
a4!=="object"&&a4!==E){return
this.empty().append((this[0]&&this[0].ownerDocument||ae).createTextNode(a4))}return
a.text(this)},wrapAll:function(a4){if(a.isFunction(a4)){return
this.each(function(a6){a(this).wrapAll(a4.call(this,a6))})}if(this[0]){var
a5=a(a4,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){a5.insertBefore(this[0])}a5.map(function(){var
a6=this;while(a6.firstChild&&a6.firstChild.nodeType===1){a6=a6.firstChild}return
a6}).append(this)}return this},wrapInner:function(a4){if(a.isFunction(a4)){return
this.each(function(a5){a(this).wrapInner(a4.call(this,a5))})}return
this.each(function(){var
a5=a(this),a6=a5.contents();if(a6.length){a6.wrapAll(a4)}else{a5.append(a4)}})},wrap:function(a4){return
this.each(function(){a(this).wrapAll(a4)})},unwrap:function(){return
this.parent().each(function(){if(!a.nodeName(this,"body")){a(this).replaceWith(this.childNodes)}}).end()},append:function(){return
this.domManip(arguments,true,function(a4){if(this.nodeType===1){this.appendChild(a4)}})},prepend:function(){return
this.domManip(arguments,true,function(a4){if(this.nodeType===1){this.insertBefore(a4,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return
this.domManip(arguments,false,function(a5){this.parentNode.insertBefore(a5,this)})}else{if(arguments.length){var
a4=a(arguments[0]);a4.push.apply(a4,this.toArray());return
this.pushStack(a4,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return
this.domManip(arguments,false,function(a5){this.parentNode.insertBefore(a5,this.nextSibling)})}else{if(arguments.length){var
a4=this.pushStack(this,"after",arguments);a4.push.apply(a4,a(arguments[0]).toArray());return
a4}}},remove:function(a4,a7){for(var
a5=0,a6;(a6=this[a5])!=null;a5++){if(!a4||a.filter(a4,[a6]).length){if(!a7&&a6.nodeType===1){a.cleanData(a6.getElementsByTagName("*"));a.cleanData([a6])}if(a6.parentNode){a6.parentNode.removeChild(a6)}}}return
this},empty:function(){for(var
a4=0,a5;(a5=this[a4])!=null;a4++){if(a5.nodeType===1){a.cleanData(a5.getElementsByTagName("*"))}while(a5.firstChild){a5.removeChild(a5.firstChild)}}return
this},clone:function(a5,a4){a5=a5==null?true:a5;a4=a4==null?a5:a4;return
this.map(function(){return a.clone(this,a5,a4)})},html:function(a6){if(a6===E){return
this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(V,""):null}else{if(typeof
a6==="string"&&!H.test(a6)&&(a.support.leadingWhitespace||!ac.test(a6))&&!af[(c.exec(a6)||["",""])[1].toLowerCase()]){a6=a6.replace(K,"<$1></$2>");try{for(var
a5=0,a4=this.length;a5<a4;a5++){if(this[a5].nodeType===1){a.cleanData(this[a5].getElementsByTagName("*"));this[a5].innerHTML=a6}}}catch(a7){this.empty().append(a6)}}else{if(a.isFunction(a6)){this.each(function(a9){var
a8=a(this);a8.html(a6.call(this,a9,a8.html()))})}else{this.empty().append(a6)}}}return
this},replaceWith:function(a4){if(this[0]&&this[0].parentNode){if(a.isFunction(a4)){return
this.each(function(a7){var
a6=a(this),a5=a6.html();a6.replaceWith(a4.call(this,a7,a5))})}if(typeof
a4!=="string"){a4=a(a4).detach()}return this.each(function(){var
a6=this.nextSibling,a5=this.parentNode;a(this).remove();if(a6){a(a6).before(a4)}else{a(a5).append(a4)}})}else{return
this.pushStack(a(a.isFunction(a4)?a4():a4),"replaceWith",a4)}},detach:function(a4){return
this.remove(a4,true)},domManip:function(bb,bf,be){var
a7,a8,ba,bd,bc=bb[0],a5=[];if(!a.support.checkClone&&arguments.length===3&&typeof
bc==="string"&&l.test(bc)){return
this.each(function(){a(this).domManip(bb,bf,be,true)})}if(a.isFunction(bc)){return
this.each(function(bh){var
bg=a(this);bb[0]=bc.call(this,bh,bf?bg.html():E);bg.domManip(bb,bf,be)})}if(this[0]){bd=bc&&bc.parentNode;if(a.support.parentNode&&bd&&bd.nodeType===11&&bd.childNodes.length===this.length){a7={fragment:bd}}else{a7=a.buildFragment(bb,this,a5)}ba=a7.fragment;if(ba.childNodes.length===1){a8=ba=ba.firstChild}else{a8=ba.firstChild}if(a8){bf=bf&&a.nodeName(a8,"tr");for(var
a6=0,a4=this.length,a9=a4-1;a6<a4;a6++){be.call(bf?aO(this[a6],a8):this[a6],a7.cacheable||(a4>1&&a6<a9)?a.clone(ba,true,true):ba)}}if(a5.length){a.each(a5,aY)}}return
this}});function aO(a4,a5){return
a.nodeName(a4,"table")?(a4.getElementsByTagName("tbody")[0]||a4.appendChild(a4.ownerDocument.createElement("tbody"))):a4}function
q(a4,bb){if(bb.nodeType!==1||!a.hasData(a4)){return}var
ba=a.expando,a7=a.data(a4),a8=a.data(bb,a7);if((a7=a7[ba])){var
bc=a7.events;a8=a8[ba]=a.extend({},a7);if(bc){delete a8.handle;a8.events={};for(var a9 in
bc){for(var
a6=0,a5=bc[a9].length;a6<a5;a6++){a.event.add(bb,a9,bc[a9][a6],bc[a9][a6].data)}}}}}function
W(a5,a4){if(a4.nodeType!==1){return}var
a6=a4.nodeName.toLowerCase();a4.clearAttributes();a4.mergeAttributes(a5);if(a6==="object"){a4.outerHTML=a5.outerHTML}else{if(a6==="input"&&(a5.type==="checkbox"||a5.type==="radio")){if(a5.checked){a4.defaultChecked=a4.checked=a5.checked}if(a4.value!==a5.value){a4.value=a5.value}}else{if(a6==="option"){a4.selected=a5.defaultSelected}else{if(a6==="input"||a6==="textarea"){a4.defaultValue=a5.defaultValue}}}}a4.removeAttribute(a.expando)}a.buildFragment=function(a9,a7,a5){var
a8,a4,a6,ba=(a7&&a7[0]?a7[0].ownerDocument||a7[0]:ae);if(a9.length===1&&typeof
a9[0]==="string"&&a9[0].length<512&&ba===ae&&a9[0].charAt(0)==="<"&&!H.test(a9[0])&&(a.support.checkClone||!l.test(a9[0]))){a4=true;a6=a.fragments[a9[0]];if(a6){if(a6!==1){a8=a6}}}if(!a8){a8=ba.createDocumentFragment();a.clean(a9,ba,a8,a5)}if(a4){a.fragments[a9[0]]=a6?a8:1}return{fragment:a8,cacheable:a4}};a.fragments={};a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a4,a5){a.fn[a4]=function(a6){var
a9=[],bc=a(a6),bb=this.length===1&&this[0].parentNode;if(bb&&bb.nodeType===11&&bb.childNodes.length===1&&bc.length===1){bc[a5](this[0]);return
this}else{for(var ba=0,a7=bc.length;ba<a7;ba++){var
a8=(ba>0?this.clone(true):this).get();a(bc[ba])[a5](a8);a9=a9.concat(a8)}return
this.pushStack(a9,a4,bc.selector)}}});a.extend({clone:function(a8,ba,a6){var
a9=a8.cloneNode(true),a4,a5,a7;if(!a.support.noCloneEvent&&(a8.nodeType===1||a8.nodeType===11)&&!a.isXMLDoc(a8)){a4=a8.getElementsByTagName("*");a5=a9.getElementsByTagName("*");for(a7=0;a4[a7];++a7){W(a4[a7],a5[a7])}W(a8,a9)}if(ba){q(a8,a9);if(a6&&"getElementsByTagName"
in
a8){a4=a8.getElementsByTagName("*");a5=a9.getElementsByTagName("*");if(a4.length){for(a7=0;a4[a7];++a7){q(a4[a7],a5[a7])}}}}return
a9},clean:function(a6,a8,bf,ba){a8=a8||ae;if(typeof
a8.createElement==="undefined"){a8=a8.ownerDocument||a8[0]&&a8[0].ownerDocument||ae}var
bg=[];for(var be=0,a9;(a9=a6[be])!=null;be++){if(typeof
a9==="number"){a9+=""}if(!a9){continue}if(typeof
a9==="string"&&!N.test(a9)){a9=a8.createTextNode(a9)}else{if(typeof
a9==="string"){a9=a9.replace(K,"<$1></$2>");var
bh=(c.exec(a9)||["",""])[1].toLowerCase(),a7=af[bh]||af._default,bd=a7[0],a5=a8.createElement("div");a5.innerHTML=a7[1]+a9+a7[2];while(bd--){a5=a5.lastChild}if(!a.support.tbody){var
a4=t.test(a9),bc=bh==="table"&&!a4?a5.firstChild&&a5.firstChild.childNodes:a7[1]==="<table>"&&!a4?a5.childNodes:[];for(var
bb=bc.length-1;bb>=0;--bb){if(a.nodeName(bc[bb],"tbody")&&!bc[bb].childNodes.length){bc[bb].parentNode.removeChild(bc[bb])}}}if(!a.support.leadingWhitespace&&ac.test(a9)){a5.insertBefore(a8.createTextNode(ac.exec(a9)[0]),a5.firstChild)}a9=a5.childNodes}}if(a9.nodeType){bg.push(a9)}else{bg=a.merge(bg,a9)}}if(bf){for(be=0;bg[be];be++){if(ba&&a.nodeName(bg[be],"script")&&(!bg[be].type||bg[be].type.toLowerCase()==="text/javascript")){ba.push(bg[be].parentNode?bg[be].parentNode.removeChild(bg[be]):bg[be])}else{if(bg[be].nodeType===1){bg.splice.apply(bg,[be+1,0].concat(a.makeArray(bg[be].getElementsByTagName("script"))))}bf.appendChild(bg[be])}}}return
bg},cleanData:function(a5){var
a8,a6,a4=a.cache,bd=a.expando,bb=a.event.special,ba=a.support.deleteExpando;for(var
a9=0,a7;(a7=a5[a9])!=null;a9++){if(a7.nodeName&&a.noData[a7.nodeName.toLowerCase()]){continue}a6=a7[a.expando];if(a6){a8=a4[a6]&&a4[a6][bd];if(a8&&a8.events){for(var
bc in
a8.events){if(bb[bc]){a.event.remove(a7,bc)}else{a.removeEvent(a7,bc,a8.handle)}}if(a8.handle){a8.handle.elem=null}}if(ba){delete
a7[a.expando]}else{if(a7.removeAttribute){a7.removeAttribute(a.expando)}}delete
a4[a6]}}}});function
aY(a4,a5){if(a5.src){a.ajax({url:a5.src,async:false,dataType:"script"})}else{a.globalEval(a5.text||a5.textContent||a5.innerHTML||"")}if(a5.parentNode){a5.parentNode.removeChild(a5)}}var
X=/alpha\([^)]*\)/i,ad=/opacity=([^)]*)/,aB=/-([a-z])/ig,w=/([A-Z])/g,aQ=/^-?\d+(?:px)?$/i,aX=/^-?\d/,aM={position:"absolute",visibility:"hidden",display:"block"},Z=["Left","Right"],aI=["Top","Bottom"],O,ao,aA,k=function(a4,a5){return
a5.toUpperCase()};a.fn.css=function(a4,a5){if(arguments.length===2&&a5===E){return
this}return a.access(this,a4,a5,true,function(a7,a6,a8){return
a8!==E?a.style(a7,a6,a8):a.css(a7,a6)})};a.extend({cssHooks:{opacity:{get:function(a6,a5){if(a5){var
a4=O(a6,"opacity","opacity");return
a4===""?"1":a4}else{return
a6.style.opacity}}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":a.support.cssFloat?"cssFloat":"styleFloat"},style:function(a6,a5,bb,a7){if(!a6||a6.nodeType===3||a6.nodeType===8||!a6.style){return}var
ba,a8=a.camelCase(a5),a4=a6.style,bc=a.cssHooks[a8];a5=a.cssProps[a8]||a8;if(bb!==E){if(typeof
bb==="number"&&isNaN(bb)||bb==null){return}if(typeof
bb==="number"&&!a.cssNumber[a8]){bb+="px"}if(!bc||!("set"
in
bc)||(bb=bc.set(a6,bb))!==E){try{a4[a5]=bb}catch(a9){}}}else{if(bc&&"get"
in bc&&(ba=bc.get(a6,false,a7))!==E){return ba}return
a4[a5]}},css:function(a9,a8,a5){var
a7,a6=a.camelCase(a8),a4=a.cssHooks[a6];a8=a.cssProps[a6]||a6;if(a4&&"get"
in a4&&(a7=a4.get(a9,true,a5))!==E){return a7}else{if(O){return
O(a9,a8,a6)}}},swap:function(a7,a6,a8){var a4={};for(var a5 in
a6){a4[a5]=a7.style[a5];a7.style[a5]=a6[a5]}a8.call(a7);for(a5 in
a6){a7.style[a5]=a4[a5]}},camelCase:function(a4){return
a4.replace(aB,k)}});a.curCSS=a.css;a.each(["height","width"],function(a5,a4){a.cssHooks[a4]={get:function(a8,a7,a6){var
a9;if(a7){if(a8.offsetWidth!==0){a9=n(a8,a4,a6)}else{a.swap(a8,aM,function(){a9=n(a8,a4,a6)})}if(a9<=0){a9=O(a8,a4,a4);if(a9==="0px"&&aA){a9=aA(a8,a4,a4)}if(a9!=null){return
a9===""||a9==="auto"?"0px":a9}}if(a9<0||a9==null){a9=a8.style[a4];return
a9===""||a9==="auto"?"0px":a9}return typeof
a9==="string"?a9:a9+"px"}},set:function(a6,a7){if(aQ.test(a7)){a7=parseFloat(a7);if(a7>=0){return
a7+"px"}}else{return
a7}}}});if(!a.support.opacity){a.cssHooks.opacity={get:function(a5,a4){return
ad.test((a4&&a5.currentStyle?a5.currentStyle.filter:a5.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":a4?"1":""},set:function(a7,a8){var
a6=a7.style;a6.zoom=1;var
a4=a.isNaN(a8)?"":"alpha(opacity="+a8*100+")",a5=a6.filter||"";a6.filter=X.test(a5)?a5.replace(X,a4):a6.filter+"
"+a4}}}if(ae.defaultView&&ae.defaultView.getComputedStyle){ao=function(a9,a4,a7){var
a6,a8,a5;a7=a7.replace(w,"-$1").toLowerCase();if(!(a8=a9.ownerDocument.defaultView)){return
E}if((a5=a8.getComputedStyle(a9,null))){a6=a5.getPropertyValue(a7);if(a6===""&&!a.contains(a9.ownerDocument.documentElement,a9)){a6=a.style(a9,a7)}}return
a6}}if(ae.documentElement.currentStyle){aA=function(a8,a6){var
a9,a5=a8.currentStyle&&a8.currentStyle[a6],a4=a8.runtimeStyle&&a8.runtimeStyle[a6],a7=a8.style;if(!aQ.test(a5)&&aX.test(a5)){a9=a7.left;if(a4){a8.runtimeStyle.left=a8.currentStyle.left}a7.left=a6==="fontSize"?"1em":(a5||0);a5=a7.pixelLeft+"px";a7.left=a9;if(a4){a8.runtimeStyle.left=a4}}return
a5===""?"auto":a5}}O=ao||aA;function n(a6,a5,a4){var
a8=a5==="width"?Z:aI,a7=a5==="width"?a6.offsetWidth:a6.offsetHeight;if(a4==="border"){return
a7}a.each(a8,function(){if(!a4){a7-=parseFloat(a.css(a6,"padding"+this))||0}if(a4==="margin"){a7+=parseFloat(a.css(a6,"margin"+this))||0}else{a7-=parseFloat(a.css(a6,"border"+this+"Width"))||0}});return
a7}if(a.expr&&a.expr.filters){a.expr.filters.hidden=function(a6){var
a5=a6.offsetWidth,a4=a6.offsetHeight;return(a5===0&&a4===0)||(!a.support.reliableHiddenOffsets&&(a6.style.display||a.css(a6,"display"))==="none")};a.expr.filters.visible=function(a4){return
!a.expr.filters.hidden(a4)}}var
h=/%20/g,aa=/\[\]$/,a3=/\r?\n/g,a0=/#.*$/,aj=/^(.*?):\s*(.*?)\r?$/mg,aE=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ar=/^(?:GET|HEAD)$/,b=/^\/\//,F=/\?/,aL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,o=/^(?:select|textarea)/i,f=/\s+/,a2=/([?&])_=[^&]*/,D=/^(\w+:)\/\/([^\/?#:]+)(?::(\d+))?/,x=a.fn.load,P={},p={};function
d(a4){return function(a8,ba){if(typeof
a8!=="string"){ba=a8;a8="*"}if(a.isFunction(ba)){var
a7=a8.toLowerCase().split(f),a6=0,a9=a7.length,a5,bb,bc;for(;a6<a9;a6++){a5=a7[a6];bc=/^\+/.test(a5);if(bc){a5=a5.substr(1)||"*"}bb=a4[a5]=a4[a5]||[];bb[bc?"unshift":"push"](ba)}}}}function
ax(a5,be,a9,bd,bb,a7){bb=bb||be.dataTypes[0];a7=a7||{};a7[bb]=true;var
ba=a5[bb],a6=0,a4=ba?ba.length:0,a8=(a5===P),bc;for(;a6<a4&&(a8||!bc);a6++){bc=ba[a6](be,a9,bd);if(typeof
bc==="string"){if(a7[bc]){bc=E}else{be.dataTypes.unshift(bc);bc=ax(a5,be,a9,bd,bc,a7)}}}if((a8||!bc)&&!a7["*"]){bc=ax(a5,be,a9,bd,"*",a7)}return
bc}a.fn.extend({load:function(a6,a9,ba){if(typeof
a6!=="string"&&x){return
x.apply(this,arguments)}else{if(!this.length){return this}}var a8=a6.indexOf("
");if(a8>=0){var a4=a6.slice(a8,a6.length);a6=a6.slice(0,a8)}var
a7="GET";if(a9){if(a.isFunction(a9)){ba=a9;a9=null}else{if(typeof
a9==="object"){a9=a.param(a9,a.ajaxSettings.traditional);a7="POST"}}}var
a5=this;a.ajax({url:a6,type:a7,dataType:"html",data:a9,complete:function(bd,bb,bc){bc=bd.responseText;if(bd.isResolved()){bd.done(function(be){bc=be});a5.html(a4?a("<div>").append(bc.replace(aL,"")).find(a4):bc)}if(ba){a5.each(ba,[bc,bb,bd])}}});return
this},serialize:function(){return
a.param(this.serializeArray())},serializeArray:function(){return
this.map(function(){return
this.elements?a.makeArray(this.elements):this}).filter(function(){return
this.name&&!this.disabled&&(this.checked||o.test(this.nodeName)||aE.test(this.type))}).map(function(a4,a5){var
a6=a(this).val();return
a6==null?null:a.isArray(a6)?a.map(a6,function(a8,a7){return{name:a5.name,value:a8.replace(a3,"\r\n")}}):{name:a5.name,value:a6.replace(a3,"\r\n")}}).get()}});a.each("ajaxStart
ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split("
"),function(a4,a5){a.fn[a5]=function(a6){return
this.bind(a5,a6)}});a.each(["get","post"],function(a4,a5){a[a5]=function(a6,a8,a9,a7){if(a.isFunction(a8)){a7=a7||a9;a9=a8;a8=null}return
a.ajax({type:a5,url:a6,data:a8,success:a9,dataType:a7})}});a.extend({getScript:function(a4,a5){return
a.get(a4,null,a5,"script")},getJSON:function(a4,a5,a6){return
a.get(a4,a5,a6,"json")},ajaxSetup:function(a4){a.extend(true,a.ajaxSettings,a4);if(a4.context){a.ajaxSettings.context=a4.context}},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,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":aP.String,"text html":true,"text
json":a.parseJSON,"text
xml":a.parseXML}},ajaxPrefilter:d(P),ajaxTransport:d(p),ajax:function(a8,a5){if(typeof
a5!=="object"){a5=a8;a8=E}a5=a5||{};var
bc=a.extend(true,{},a.ajaxSettings,a5),bq=(bc.context=("context" in
a5?a5:a.ajaxSettings).context)||bc,bg=bq===bc?a.event:a(bq),bp=a.Deferred(),bm=a._Deferred(),ba=bc.statusCode||{},bh={},bo,a6,bk,be,bb=ae.location,bd=bb.protocol||"http:",bi,a9=0,bj,a7={readyState:0,setRequestHeader:function(br,bs){if(a9===0){bh[br.toLowerCase()]=bs}return
this},getAllResponseHeaders:function(){return
a9===2?bo:null},getResponseHeader:function(bs){var
br;if(a9===2){if(!a6){a6={};while((br=aj.exec(bo))){a6[br[1].toLowerCase()]=br[2]}}br=a6[bs.toLowerCase()]}return
br||null},abort:function(br){br=br||"abort";if(bk){bk.abort(br)}bf(0,br);return
this}};function
bf(bw,bu,bx,bt){if(a9===2){return}a9=2;if(be){clearTimeout(be)}bk=E;bo=bt||"";a7.readyState=bw?4:0;var
br,bB,bA,bv=bx?aU(bc,a7,bx):E,bs,bz;if(bw>=200&&bw<300||bw===304){if(bc.ifModified){if((bs=a7.getResponseHeader("Last-Modified"))){a.lastModified[bc.url]=bs}if((bz=a7.getResponseHeader("Etag"))){a.etag[bc.url]=bz}}if(bw===304){bu="notmodified";br=true}else{try{bB=A(bc,bv);bu="success";br=true}catch(by){bu="parsererror";bA=by}}}else{bA=bu;if(bw){bu="error";if(bw<0){bw=0}}}a7.status=bw;a7.statusText=bu;if(br){bp.resolveWith(bq,[bB,bu,a7])}else{bp.rejectWith(bq,[a7,bu,bA])}a7.statusCode(ba);ba=E;if(bc.global){bg.trigger("ajax"+(br?"Success":"Error"),[a7,bc,br?bB:bA])}bm.resolveWith(bq,[a7,bu]);if(bc.global){bg.trigger("ajaxComplete",[a7,bc]);if(!(--a.active)){a.event.trigger("ajaxStop")}}}bp.promise(a7);a7.success=a7.done;a7.error=a7.fail;a7.complete=bm.done;a7.statusCode=function(bs){if(bs){var
br;if(a9<2){for(br in
bs){ba[br]=[ba[br],bs[br]]}}else{br=bs[a7.status];a7.then(br,br)}}return
this};bc.url=(""+(a8||bc.url)).replace(a0,"").replace(b,bd+"//");bc.dataTypes=a.trim(bc.dataType||"*").toLowerCase().split(f);if(!bc.crossDomain){bi=D.exec(bc.url.toLowerCase());bc.crossDomain=!!(bi&&(bi[1]!=bd||bi[2]!=bb.hostname||(bi[3]||(bi[1]==="http:"?80:443))!=(bb.port||(bd==="http:"?80:443))))}if(bc.data&&bc.processData&&typeof
bc.data!=="string"){bc.data=a.param(bc.data,bc.traditional)}ax(P,bc,a5,a7);bc.type=bc.type.toUpperCase();bc.hasContent=!ar.test(bc.type);if(bc.global&&a.active++===0){a.event.trigger("ajaxStart")}if(!bc.hasContent){if(bc.data){bc.url+=(F.test(bc.url)?"&":"?")+bc.data}if(bc.cache===false){var
a4=a.now(),bn=bc.url.replace(a2,"$1_="+a4);bc.url=bn+((bn===bc.url)?(F.test(bc.url)?"&":"?")+"_="+a4:"")}}if(bc.data&&bc.hasContent&&bc.contentType!==false||a5.contentType){bh["content-type"]=bc.contentType}if(bc.ifModified){if(a.lastModified[bc.url]){bh["if-modified-since"]=a.lastModified[bc.url]}if(a.etag[bc.url]){bh["if-none-match"]=a.etag[bc.url]}}bh.accept=bc.dataTypes[0]&&bc.accepts[bc.dataTypes[0]]?bc.accepts[bc.dataTypes[0]]+(bc.dataTypes[0]!=="*"?",
*/*; q=0.01":""):bc.accepts["*"];for(bj in
bc.headers){bh[bj.toLowerCase()]=bc.headers[bj]}if(bc.beforeSend&&(bc.beforeSend.call(bq,a7,bc)===false||a9===2)){bf(0,"abort");a7=false}else{for(bj
in {success:1,error:1,complete:1}){a7[bj](bc[bj])}bk=ax(p,bc,a5,a7);if(!bk){bf(-1,"No
Transport")}else{a9=a7.readyState=1;if(bc.global){bg.trigger("ajaxSend",[a7,bc])}if(bc.async&&bc.timeout>0){be=setTimeout(function(){a7.abort("timeout")},bc.timeout)}try{bk.send(bh,bf)}catch(bl){if(status<2){bf(-1,bl)}else{a.error(bl)}}}}return
a7},param:function(a4,a6){var
a5=[],a8=function(a9,ba){ba=a.isFunction(ba)?ba():ba;a5[a5.length]=encodeURIComponent(a9)+"="+encodeURIComponent(ba)};if(a6===E){a6=a.ajaxSettings.traditional}if(a.isArray(a4)||a4.jquery){a.each(a4,function(){a8(this.name,this.value)})}else{for(var
a7 in a4){s(a7,a4[a7],a6,a8)}}return
a5.join("&").replace(h,"+")}});function
s(a5,a7,a4,a6){if(a.isArray(a7)&&a7.length){a.each(a7,function(a9,a8){if(a4||aa.test(a5)){a6(a5,a8)}else{s(a5+"["+(typeof
a8==="object"||a.isArray(a8)?a9:"")+"]",a8,a4,a6)}})}else{if(!a4&&a7!=null&&typeof
a7==="object"){if(a.isArray(a7)||a.isEmptyObject(a7)){a6(a5,"")}else{a.each(a7,function(a9,a8){s(a5+"["+a9+"]",a8,a4,a6)})}}else{a6(a5,a7)}}}a.extend({active:0,lastModified:{},etag:{}});function
aU(bd,bc,a9){var a5=bd.contents,bb=bd.dataTypes,a6=bd.responseFields,a8,ba,a7,a4;for(ba in
a6){if(ba in
a9){bc[a6[ba]]=a9[ba]}}while(bb[0]==="*"){bb.shift();if(a8===E){a8=bc.getResponseHeader("content-type")}}if(a8){for(ba
in a5){if(a5[ba]&&a5[ba].test(a8)){bb.unshift(ba);break}}}if(bb[0] in
a9){a7=bb[0]}else{for(ba in a9){if(!bb[0]||bd.converters[ba+"
"+bb[0]]){a7=ba;break}if(!a4){a4=ba}}a7=a7||a4}if(a7){if(a7!==bb[0]){bb.unshift(a7)}return
a9[a7]}}function A(bg,a9){if(bg.dataFilter){a9=bg.dataFilter(a9,bg.dataType)}var
bd=bg.dataTypes,bf=bg.converters,ba,a6=bd.length,bb,bc=bd[0],a7,a8,be,a5,a4;for(ba=1;ba<a6;ba++){a7=bc;bc=bd[ba];if(bc==="*"){bc=a7}else{if(a7!=="*"&&a7!==bc){a8=a7+"
"+bc;be=bf[a8]||bf["* "+bc];if(!be){a4=E;for(a5 in bf){bb=a5.split("
");if(bb[0]===a7||bb[0]==="*"){a4=bf[bb[1]+"
"+bc];if(a4){a5=bf[a5];if(a5===true){be=a4}else{if(a4===true){be=a5}}break}}}}if(!(be||a4)){a.error("No
conversion from "+a8.replace(" "," to
"))}if(be!==true){a9=be?be(a9):a4(a5(a9))}}}}return a9}var
ai=a.now(),r=/(\=)\?(&|$)|()\?\?()/i;a.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return
a.expando+"_"+(ai++)}});a.ajaxPrefilter("json
jsonp",function(bc,a9,bb){bb=(typeof
bc.data==="string");if(bc.dataTypes[0]==="jsonp"||a9.jsonpCallback||a9.jsonp!=null||bc.jsonp!==false&&(r.test(bc.url)||bb&&r.test(bc.data))){var
ba,a6=bc.jsonpCallback=a.isFunction(bc.jsonpCallback)?bc.jsonpCallback():bc.jsonpCallback,a8=aP[a6],a4=bc.url,a7=bc.data,a5="$1"+a6+"$2";if(bc.jsonp!==false){a4=a4.replace(r,a5);if(bc.url===a4){if(bb){a7=a7.replace(r,a5)}if(bc.data===a7){a4+=(/\?/.test(a4)?"&":"?")+bc.jsonp+"="+a6}}}bc.url=a4;bc.data=a7;aP[a6]=function(bd){ba=[bd]};bc.complete=[function(){aP[a6]=a8;if(a8){if(ba&&a.isFunction(a8)){aP[a6](ba[0])}}else{try{delete
aP[a6]}catch(bd){}}},bc.complete];bc.converters["script
json"]=function(){if(!ba){a.error(a6+" was not called")}return
ba[0]};bc.dataTypes[0]="json";return"script"}});a.ajaxSetup({accepts:{script:"text/javascript,
application/javascript"},contents:{script:/javascript/},converters:{"text
script":function(a4){a.globalEval(a4);return
a4}}});a.ajaxPrefilter("script",function(a4){if(a4.cache===E){a4.cache=false}if(a4.crossDomain){a4.type="GET";a4.global=false}});a.ajaxTransport("script",function(a6){if(a6.crossDomain){var
a4,a5=ae.getElementsByTagName("head")[0]||ae.documentElement;return{send:function(a7,a8){a4=ae.createElement("script");a4.async="async";if(a6.scriptCharset){a4.charset=a6.scriptCharset}a4.src=a6.url;a4.onload=a4.onreadystatechange=function(ba,a9){if(!a4.readyState||/loaded|complete/.test(a4.readyState)){a4.onload=a4.onreadystatechange=null;if(a5&&a4.parentNode){a5.removeChild(a4)}a4=E;if(!a9){a8(200,"success")}}};a5.insertBefore(a4,a5.firstChild)},abort:function(){if(a4){a4.onload(0,1)}}}}});var
v=a.now(),aF={},aC,ak;a.ajaxSettings.xhr=aP.ActiveXObject?function(){if(aP.location.protocol!=="file:"){try{return
new aP.XMLHttpRequest()}catch(a5){}}try{return new
aP.ActiveXObject("Microsoft.XMLHTTP")}catch(a4){}}:function(){return new
aP.XMLHttpRequest()};try{ak=a.ajaxSettings.xhr()}catch(a1){}a.support.ajax=!!ak;a.support.cors=ak&&("withCredentials"
in
ak);ak=E;if(a.support.ajax){a.ajaxTransport(function(a4){if(!a4.crossDomain||a.support.cors){var
a5;return{send:function(ba,a6){if(!aC){aC=1;a(aP).bind("unload",function(){a.each(aF,function(bb,bc){if(bc.onreadystatechange){bc.onreadystatechange(1)}})})}var
a9=a4.xhr(),a8;if(a4.username){a9.open(a4.type,a4.url,a4.async,a4.username,a4.password)}else{a9.open(a4.type,a4.url,a4.async)}if(!(a4.crossDomain&&!a4.hasContent)&&!ba["x-requested-with"]){ba["x-requested-with"]="XMLHttpRequest"}try{a.each(ba,function(bb,bc){a9.setRequestHeader(bb,bc)})}catch(a7){}a9.send((a4.hasContent&&a4.data)||null);a5=function(be,bc){if(a5&&(bc||a9.readyState===4)){a5=0;if(a8){a9.onreadystatechange=a.noop;delete
aF[a8]}if(bc){if(a9.readyState!==4){a9.abort()}}else{var
bb=a9.status,bi,bf=a9.getAllResponseHeaders(),bg={},bd=a9.responseXML;if(bd&&bd.documentElement){bg.xml=bd}bg.text=a9.responseText;try{bi=a9.statusText}catch(bh){bi=""}bb=bb===0?(!a4.crossDomain||bi?(bf?304:0):302):(bb==1223?204:bb);a6(bb,bi,bg,bf)}}};if(!a4.async||a9.readyState===4){a5()}else{a8=v++;aF[a8]=a9;a9.onreadystatechange=a5}},abort:function(){if(a5){a5(0,1)}}}}})}var
J={},ah=/^(?:toggle|show|hide)$/,au=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,aJ,an=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];a.fn.extend({show:function(a7,ba,a9){var
a6,a8;if(a7||a7===0){return this.animate(aH("show",3),a7,ba,a9)}else{for(var
a5=0,a4=this.length;a5<a4;a5++){a6=this[a5];a8=a6.style.display;if(!a._data(a6,"olddisplay")&&a8==="none"){a8=a6.style.display=""}if(a8===""&&a.css(a6,"display")==="none"){a._data(a6,"olddisplay",u(a6.nodeName))}}for(a5=0;a5<a4;a5++){a6=this[a5];a8=a6.style.display;if(a8===""||a8==="none"){a6.style.display=a._data(a6,"olddisplay")||""}}return
this}},hide:function(a6,a9,a8){if(a6||a6===0){return
this.animate(aH("hide",3),a6,a9,a8)}else{for(var
a5=0,a4=this.length;a5<a4;a5++){var
a7=a.css(this[a5],"display");if(a7!=="none"&&!a._data(this[a5],"olddisplay")){a._data(this[a5],"olddisplay",a7)}}for(a5=0;a5<a4;a5++){this[a5].style.display="none"}return
this}},_toggle:a.fn.toggle,toggle:function(a6,a5,a7){var a4=typeof
a6==="boolean";if(a.isFunction(a6)&&a.isFunction(a5)){this._toggle.apply(this,arguments)}else{if(a6==null||a4){this.each(function(){var
a8=a4?a6:a(this).is(":hidden");a(this)[a8?"show":"hide"]()})}else{this.animate(aH("toggle",3),a6,a5,a7)}}return
this},fadeTo:function(a4,a7,a6,a5){return
this.filter(":hidden").css("opacity",0).show().end().animate({opacity:a7},a4,a6,a5)},animate:function(a8,a5,a7,a6){var
a4=a.speed(a5,a7,a6);if(a.isEmptyObject(a8)){return this.each(a4.complete)}return
this[a4.queue===false?"each":"queue"](function(){var
bb=a.extend({},a4),bf,bc=this.nodeType===1,bd=bc&&a(this).is(":hidden"),a9=this;for(bf
in a8){var ba=a.camelCase(bf);if(bf!==ba){a8[ba]=a8[bf];delete
a8[bf];bf=ba}if(a8[bf]==="hide"&&bd||a8[bf]==="show"&&!bd){return
bb.complete.call(this)}if(bc&&(bf==="height"||bf==="width")){bb.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(a.css(this,"display")==="inline"&&a.css(this,"float")==="none"){if(!a.support.inlineBlockNeedsLayout){this.style.display="inline-block"}else{var
be=u(this.nodeName);if(be==="inline"){this.style.display="inline-block"}else{this.style.display="inline";this.style.zoom=1}}}}if(a.isArray(a8[bf])){(bb.specialEasing=bb.specialEasing||{})[bf]=a8[bf][1];a8[bf]=a8[bf][0]}}if(bb.overflow!=null){this.style.overflow="hidden"}bb.curAnim=a.extend({},a8);a.each(a8,function(bh,bl){var
bk=new
a.fx(a9,bb,bh);if(ah.test(bl)){bk[bl==="toggle"?bd?"show":"hide":bl](a8)}else{var
bj=au.exec(bl),bm=bk.cur()||0;if(bj){var
bg=parseFloat(bj[2]),bi=bj[3]||"px";if(bi!=="px"){a.style(a9,bh,(bg||1)+bi);bm=((bg||1)/bk.cur())*bm;a.style(a9,bh,bm+bi)}if(bj[1]){bg=((bj[1]==="-="?-1:1)*bg)+bm}bk.custom(bm,bg,bi)}else{bk.custom(bm,bl,"")}}});return
true})},stop:function(a5,a4){var
a6=a.timers;if(a5){this.queue([])}this.each(function(){for(var
a7=a6.length-1;a7>=0;a7--){if(a6[a7].elem===this){if(a4){a6[a7](true)}a6.splice(a7,1)}}});if(!a4){this.dequeue()}return
this}});function aH(a5,a4){var
a6={};a.each(an.concat.apply([],an.slice(0,a4)),function(){a6[this]=a5});return
a6}a.each({slideDown:aH("show",1),slideUp:aH("hide",1),slideToggle:aH("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a4,a5){a.fn[a4]=function(a6,a8,a7){return
this.animate(a5,a6,a8,a7)}});a.extend({speed:function(a6,a7,a5){var a4=a6&&typeof
a6==="object"?a.extend({},a6):{complete:a5||!a5&&a7||a.isFunction(a6)&&a6,duration:a6,easing:a5&&a7||a7&&!a.isFunction(a7)&&a7};a4.duration=a.fx.off?0:typeof
a4.duration==="number"?a4.duration:a4.duration in
a.fx.speeds?a.fx.speeds[a4.duration]:a.fx.speeds._default;a4.old=a4.complete;a4.complete=function(){if(a4.queue!==false){a(this).dequeue()}if(a.isFunction(a4.old)){a4.old.call(this)}};return
a4},easing:{linear:function(a6,a7,a4,a5){return
a4+a5*a6},swing:function(a6,a7,a4,a5){return((-Math.cos(a6*Math.PI)/2)+0.5)*a5+a4}},timers:[],fx:function(a5,a4,a6){this.options=a4;this.elem=a5;this.prop=a6;if(!a4.orig){a4.orig={}}}});a.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(a.fx.step[this.prop]||a.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 a4=parseFloat(a.css(this.elem,this.prop));return
a4||0},custom:function(a9,a8,a7){var
a4=this,a6=a.fx;this.startTime=a.now();this.start=a9;this.end=a8;this.unit=a7||this.unit||"px";this.now=this.start;this.pos=this.state=0;function
a5(ba){return
a4.step(ba)}a5.elem=this.elem;if(a5()&&a.timers.push(a5)&&!aJ){aJ=setInterval(a6.tick,a6.interval)}},show:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());a(this.elem).show()},hide:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a7){var
bc=a.now(),a8=true;if(a7||bc>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var
a9 in
this.options.curAnim){if(this.options.curAnim[a9]!==true){a8=false}}if(a8){if(this.options.overflow!=null&&!a.support.shrinkWrapBlocks){var
a6=this.elem,bd=this.options;a.each(["","X","Y"],function(be,bf){a6.style["overflow"+bf]=bd.overflow[be]})}if(this.options.hide){a(this.elem).hide()}if(this.options.hide||this.options.show){for(var
a4 in
this.options.curAnim){a.style(this.elem,a4,this.options.orig[a4])}}this.options.complete.call(this.elem)}return
false}else{var a5=bc-this.startTime;this.state=a5/this.options.duration;var
ba=this.options.specialEasing&&this.options.specialEasing[this.prop];var
bb=this.options.easing||(a.easing.swing?"swing":"linear");this.pos=a.easing[ba||bb](this.state,a5,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return
true}};a.extend(a.fx,{tick:function(){var a5=a.timers;for(var
a4=0;a4<a5.length;a4++){if(!a5[a4]()){a5.splice(a4--,1)}}if(!a5.length){a.fx.stop()}},interval:13,stop:function(){clearInterval(aJ);aJ=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a4){a.style(a4.elem,"opacity",a4.now)},_default:function(a4){if(a4.elem.style&&a4.elem.style[a4.prop]!=null){a4.elem.style[a4.prop]=(a4.prop==="width"||a4.prop==="height"?Math.max(0,a4.now):a4.now)+a4.unit}else{a4.elem[a4.prop]=a4.now}}}});if(a.expr&&a.expr.filters){a.expr.filters.animated=function(a4){return
a.grep(a.timers,function(a5){return a4===a5.elem}).length}}function u(a6){if(!J[a6]){var
a4=a("<"+a6+">").appendTo("body"),a5=a4.css("display");a4.remove();if(a5==="none"||a5===""){a5="block"}J[a6]=a5}return
J[a6]}var M=/^t(?:able|d|h)$/i,S=/^(?:body|html)$/i;if("getBoundingClientRect"
in ae.documentElement){a.fn.offset=function(bh){var a7=this[0],ba;if(bh){return
this.each(function(bi){a.offset.setOffset(this,bh,bi)})}if(!a7||!a7.ownerDocument){return
null}if(a7===a7.ownerDocument.body){return
a.offset.bodyOffset(a7)}try{ba=a7.getBoundingClientRect()}catch(be){}var
bg=a7.ownerDocument,a5=bg.documentElement;if(!ba||!a.contains(a5,a7)){return
ba?{top:ba.top,left:ba.left}:{top:0,left:0}}var
bb=bg.body,bc=ap(bg),a9=a5.clientTop||bb.clientTop||0,bd=a5.clientLeft||bb.clientLeft||0,a4=(bc.pageYOffset||a.support.boxModel&&a5.scrollTop||bb.scrollTop),a8=(bc.pageXOffset||a.support.boxModel&&a5.scrollLeft||bb.scrollLeft),bf=ba.top+a4-a9,a6=ba.left+a8-bd;return{top:bf,left:a6}}}else{a.fn.offset=function(bf){var
a9=this[0];if(bf){return
this.each(function(bg){a.offset.setOffset(this,bf,bg)})}if(!a9||!a9.ownerDocument){return
null}if(a9===a9.ownerDocument.body){return
a.offset.bodyOffset(a9)}a.offset.initialize();var
bc,a6=a9.offsetParent,a5=a9,be=a9.ownerDocument,a7=be.documentElement,ba=be.body,bb=be.defaultView,a4=bb?bb.getComputedStyle(a9,null):a9.currentStyle,bd=a9.offsetTop,a8=a9.offsetLeft;while((a9=a9.parentNode)&&a9!==ba&&a9!==a7){if(a.offset.supportsFixedPosition&&a4.position==="fixed"){break}bc=bb?bb.getComputedStyle(a9,null):a9.currentStyle;bd-=a9.scrollTop;a8-=a9.scrollLeft;if(a9===a6){bd+=a9.offsetTop;a8+=a9.offsetLeft;if(a.offset.doesNotAddBorder&&!(a.offset.doesAddBorderForTableAndCells&&M.test(a9.nodeName))){bd+=parseFloat(bc.borderTopWidth)||0;a8+=parseFloat(bc.borderLeftWidth)||0}a5=a6;a6=a9.offsetParent}if(a.offset.subtractsBorderForOverflowNotVisible&&bc.overflow!=="visible"){bd+=parseFloat(bc.borderTopWidth)||0;a8+=parseFloat(bc.borderLeftWidth)||0}a4=bc}if(a4.position==="relative"||a4.position==="static"){bd+=ba.offsetTop;a8+=ba.offsetLeft}if(a.offset.supportsFixedPosition&&a4.position==="fixed"){bd+=Math.max(a7.scrollTop,ba.scrollTop);a8+=Math.max(a7.scrollLeft,ba.scrollLeft)}return{top:bd,left:a8}}}a.offset={initialize:function(){var
a4=ae.body,a5=ae.createElement("div"),a8,ba,a9,bb,a6=parseFloat(a.css(a4,"marginTop"))||0,a7="<div
style='position:absolute;top:0;left:0;margin:0;border:5px solid
#000;padding:0;width:1px;height:1px;'><div></div></div><table
style='position:absolute;top:0;left:0;margin:0;border:5px solid
#000;padding:0;width:1px;height:1px;' cellpadding='0'
cellspacing='0'><tr><td></td></tr></table>";a.extend(a5.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});a5.innerHTML=a7;a4.insertBefore(a5,a4.firstChild);a8=a5.firstChild;ba=a8.firstChild;bb=a8.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(ba.offsetTop!==5);this.doesAddBorderForTableAndCells=(bb.offsetTop===5);ba.style.position="fixed";ba.style.top="20px";this.supportsFixedPosition=(ba.offsetTop===20||ba.offsetTop===15);ba.style.position=ba.style.top="";a8.style.overflow="hidden";a8.style.position="relative";this.subtractsBorderForOverflowNotVisible=(ba.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(a4.offsetTop!==a6);a4.removeChild(a5);a4=a5=a8=ba=a9=bb=null;a.offset.initialize=a.noop},bodyOffset:function(a4){var
a6=a4.offsetTop,a5=a4.offsetLeft;a.offset.initialize();if(a.offset.doesNotIncludeMarginInBodyOffset){a6+=parseFloat(a.css(a4,"marginTop"))||0;a5+=parseFloat(a.css(a4,"marginLeft"))||0}return{top:a6,left:a5}},setOffset:function(a7,bg,ba){var
bb=a.css(a7,"position");if(bb==="static"){a7.style.position="relative"}var
a9=a(a7),a5=a9.offset(),a4=a.css(a7,"top"),be=a.css(a7,"left"),bf=(bb==="absolute"&&a.inArray("auto",[a4,be])>-1),bd={},bc={},a6,a8;if(bf){bc=a9.position()}a6=bf?bc.top:parseInt(a4,10)||0;a8=bf?bc.left:parseInt(be,10)||0;if(a.isFunction(bg)){bg=bg.call(a7,ba,a5)}if(bg.top!=null){bd.top=(bg.top-a5.top)+a6}if(bg.left!=null){bd.left=(bg.left-a5.left)+a8}if("using"
in
bg){bg.using.call(a7,bd)}else{a9.css(bd)}}};a.fn.extend({position:function(){if(!this[0]){return
null}var
a6=this[0],a5=this.offsetParent(),a7=this.offset(),a4=S.test(a5[0].nodeName)?{top:0,left:0}:a5.offset();a7.top-=parseFloat(a.css(a6,"marginTop"))||0;a7.left-=parseFloat(a.css(a6,"marginLeft"))||0;a4.top+=parseFloat(a.css(a5[0],"borderTopWidth"))||0;a4.left+=parseFloat(a.css(a5[0],"borderLeftWidth"))||0;return{top:a7.top-a4.top,left:a7.left-a4.left}},offsetParent:function(){return
this.map(function(){var
a4=this.offsetParent||ae.body;while(a4&&(!S.test(a4.nodeName)&&a.css(a4,"position")==="static")){a4=a4.offsetParent}return
a4})}});a.each(["Left","Top"],function(a5,a4){var
a6="scroll"+a4;a.fn[a6]=function(a9){var a7=this[0],a8;if(!a7){return
null}if(a9!==E){return
this.each(function(){a8=ap(this);if(a8){a8.scrollTo(!a5?a9:a(a8).scrollLeft(),a5?a9:a(a8).scrollTop())}else{this[a6]=a9}})}else{a8=ap(a7);return
a8?("pageXOffset" in
a8)?a8[a5?"pageYOffset":"pageXOffset"]:a.support.boxModel&&a8.document.documentElement[a6]||a8.document.body[a6]:a7[a6]}}});function
ap(a4){return
a.isWindow(a4)?a4:a4.nodeType===9?a4.defaultView||a4.parentWindow:false}a.each(["Height","Width"],function(a5,a4){var
a6=a4.toLowerCase();a.fn["inner"+a4]=function(){return
this[0]?parseFloat(a.css(this[0],a6,"padding")):null};a.fn["outer"+a4]=function(a7){return
this[0]?parseFloat(a.css(this[0],a6,a7?"margin":"border")):null};a.fn[a6]=function(a8){var
a9=this[0];if(!a9){return a8==null?null:this}if(a.isFunction(a8)){return
this.each(function(bd){var
bc=a(this);bc[a6](a8.call(this,bd,bc[a6]()))})}if(a.isWindow(a9)){var
ba=a9.document.documentElement["client"+a4];return
a9.document.compatMode==="CSS1Compat"&&ba||a9.document.body["client"+a4]||ba}else{if(a9.nodeType===9){return
Math.max(a9.documentElement["client"+a4],a9.body["scroll"+a4],a9.documentElement["scroll"+a4],a9.body["offset"+a4],a9.documentElement["offset"+a4])}else{if(a8===E){var
bb=a.css(a9,a6),a7=parseFloat(bb);return a.isNaN(a7)?bb:a7}else{return this.css(a6,typeof
a8==="string"?a8:a8+"px")}}}}})})(window);
\ No newline at end of file
+(function(){var
bn=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^
>+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bo=0,br=Object.prototype.toString,bi=false,bh=true,bp=/\\/g,bv=/\W/;[0,0].sort(function(){bh=false;return
0});var bf=function(bA,e,bD,bE){bD=bD||[];e=e||al;var
bG=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bA||typeof
bA!=="string"){return bD}var
bx,bI,bL,bw,bH,bK,bJ,bC,bz=true,by=bf.isXML(e),bB=[],bF=bA;do{bn.exec("");bx=bn.exec(bF);if(bx){bF=bx[3];bB.push(bx[1]);if(bx[2]){bw=bx[3];break}}}while(bx);if(bB.length>1&&bj.exec(bA)){if(bB.length===2&&bk.relative[bB[0]]){bI=bs(bB[0]+bB[1],e)}else{bI=bk.relative[bB[0]]?[e]:bf(bB.shift(),e);while(bB.length){bA=bB.shift();if(bk.relative[bA]){bA+=bB.shift()}bI=bs(bA,bI)}}}else{if(!bE&&bB.length>1&&e.nodeType===9&&!by&&bk.match.ID.test(bB[0])&&!bk.match.ID.test(bB[bB.length-1])){bH=bf.find(bB.shift(),e,by);e=bH.expr?bf.filter(bH.expr,bH.set)[0]:bH.set[0]}if(e){bH=bE?{expr:bB.pop(),set:bl(bE)}:bf.find(bB.pop(),bB.length===1&&(bB[0]==="~"||bB[0]==="+")&&e.parentNode?e.parentNode:e,by);bI=bH.expr?bf.filter(bH.expr,bH.set):bH.set;if(bB.length>0){bL=bl(bI)}else{bz=false}while(bB.length){bK=bB.pop();bJ=bK;if(!bk.relative[bK]){bK=""}else{bJ=bB.pop()}if(bJ==null){bJ=e}bk.relative[bK](bL,bJ,by)}}else{bL=bB=[]}}if(!bL){bL=bI}if(!bL){bf.error(bK||bA)}if(br.call(bL)==="[object
Array]"){if(!bz){bD.push.apply(bD,bL)}else{if(e&&e.nodeType===1){for(bC=0;bL[bC]!=null;bC++){if(bL[bC]&&(bL[bC]===true||bL[bC].nodeType===1&&bf.contains(e,bL[bC]))){bD.push(bI[bC])}}}else{for(bC=0;bL[bC]!=null;bC++){if(bL[bC]&&bL[bC].nodeType===1){bD.push(bI[bC])}}}}}else{bl(bL,bD)}if(bw){bf(bw,bG,bD,bE);bf.uniqueSort(bD)}return
bD};bf.uniqueSort=function(bw){if(bq){bi=bh;bw.sort(bq);if(bi){for(var
e=1;e<bw.length;e++){if(bw[e]===bw[e-1]){bw.splice(e--,1)}}}}return
bw};bf.matches=function(e,bw){return
bf(e,null,null,bw)};bf.matchesSelector=function(e,bw){return
bf(bw,null,null,[e]).length>0};bf.find=function(bC,e,bD){var
bB;if(!bC){return[]}for(var by=0,bx=bk.order.length;by<bx;by++){var
bz,bA=bk.order[by];if((bz=bk.leftMatch[bA].exec(bC))){var
bw=bz[1];bz.splice(1,1);if(bw.substr(bw.length-1)!=="\\"){bz[1]=(bz[1]||"").replace(bp,"");bB=bk.find[bA](bz,e,bD);if(bB!=null){bC=bC.replace(bk.match[bA],"");break}}}}if(!bB){bB=typeof
e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bB,expr:bC}};bf.filter=function(bG,bF,bJ,bz){var
bB,e,bx=bG,bL=[],bD=bF,bC=bF&&bF[0]&&bf.isXML(bF[0]);while(bG&&bF.length){for(var
bE in bk.filter){if((bB=bk.leftMatch[bE].exec(bG))!=null&&bB[2]){var
bK,bI,bw=bk.filter[bE],by=bB[1];e=false;bB.splice(1,1);if(by.substr(by.length-1)==="\\"){continue}if(bD===bL){bL=[]}if(bk.preFilter[bE]){bB=bk.preFilter[bE](bB,bD,bJ,bL,bz,bC);if(!bB){e=bK=true}else{if(bB===true){continue}}}if(bB){for(var
bA=0;(bI=bD[bA])!=null;bA++){if(bI){bK=bw(bI,bB,bA,bD);var
bH=bz^!!bK;if(bJ&&bK!=null){if(bH){e=true}else{bD[bA]=false}}else{if(bH){bL.push(bI);e=true}}}}}if(bK!==H){if(!bJ){bD=bL}bG=bG.replace(bk.match[bE],"");if(!e){return[]}break}}}if(bG===bx){if(e==null){bf.error(bG)}else{break}}bx=bG}return
bD};bf.error=function(e){throw"Syntax error, unrecognized expression: "+e};var
bk=bf.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(e){return
e.getAttribute("href")},type:function(e){return
e.getAttribute("type")}},relative:{"+":function(bB,bw){var by=typeof
bw==="string",bA=by&&!bv.test(bw),bC=by&&!bA;if(bA){bw=bw.toLowerCase()}for(var
bx=0,e=bB.length,bz;bx<e;bx++){if((bz=bB[bx])){while((bz=bz.previousSibling)&&bz.nodeType!==1){}bB[bx]=bC||bz&&bz.nodeName.toLowerCase()===bw?bz||false:bz===bw}}if(bC){bf.filter(bw,bB,true)}},">":function(bB,bw){var
bA,bz=typeof
bw==="string",bx=0,e=bB.length;if(bz&&!bv.test(bw)){bw=bw.toLowerCase();for(;bx<e;bx++){bA=bB[bx];if(bA){var
by=bA.parentNode;bB[bx]=by.nodeName.toLowerCase()===bw?by:false}}}else{for(;bx<e;bx++){bA=bB[bx];if(bA){bB[bx]=bz?bA.parentNode:bA.parentNode===bw}}if(bz){bf.filter(bw,bB,true)}}},"":function(by,bw,bA){var
bz,bx=bo++,e=bt;if(typeof
bw==="string"&&!bv.test(bw)){bw=bw.toLowerCase();bz=bw;e=bd}e("parentNode",bw,bx,by,bz,bA)},"~":function(by,bw,bA){var
bz,bx=bo++,e=bt;if(typeof
bw==="string"&&!bv.test(bw)){bw=bw.toLowerCase();bz=bw;e=bd}e("previousSibling",bw,bx,by,bz,bA)}},find:{ID:function(bw,bx,by){if(typeof
bx.getElementById!=="undefined"&&!by){var
e=bx.getElementById(bw[1]);return
e&&e.parentNode?[e]:[]}},NAME:function(bx,bA){if(typeof
bA.getElementsByName!=="undefined"){var
bw=[],bz=bA.getElementsByName(bx[1]);for(var
by=0,e=bz.length;by<e;by++){if(bz[by].getAttribute("name")===bx[1]){bw.push(bz[by])}}return
bw.length===0?null:bw}},TAG:function(e,bw){if(typeof
bw.getElementsByTagName!=="undefined"){return
bw.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(by,bw,bx,e,bB,bC){by="
"+by[1].replace(bp,"")+" ";if(bC){return by}for(var
bz=0,bA;(bA=bw[bz])!=null;bz++){if(bA){if(bB^(bA.className&&("
"+bA.className+" ").replace(/[\t\n\r]/g,"
").indexOf(by)>=0)){if(!bx){e.push(bA)}}else{if(bx){bw[bz]=false}}}}return
false},ID:function(e){return e[1].replace(bp,"")},TAG:function(bw,e){return
bw[1].replace(bp,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){bf.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var
bw=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bw[1]+(bw[2]||1))-0;e[3]=bw[3]-0}else{if(e[2]){bf.error(e[0])}}e[0]=bo++;return
e},ATTR:function(bz,bw,bx,e,bA,bB){var
by=bz[1]=bz[1].replace(bp,"");if(!bB&&bk.attrMap[by]){bz[1]=bk.attrMap[by]}bz[4]=(bz[4]||bz[5]||"").replace(bp,"");if(bz[2]==="~="){bz[4]="
"+bz[4]+" "}return
bz},PSEUDO:function(bz,bw,bx,e,bA){if(bz[1]==="not"){if((bn.exec(bz[3])||"").length>1||/^\w/.test(bz[3])){bz[3]=bf(bz[3],null,null,bw)}else{var
by=bf.filter(bz[3],bw,bx,true^bA);if(!bx){e.push.apply(e,by)}return
false}}else{if(bk.match.POS.test(bz[0])||bk.match.CHILD.test(bz[0])){return true}}return
bz},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return
e.disabled===false&&e.type!=="hidden"},disabled:function(e){return
e.disabled===true},checked:function(e){return
e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return
e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return
!e.firstChild},has:function(bx,bw,e){return
!!bf(e[3],bx).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.getAttribute("type")},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(bw,e){return
e===0},last:function(bx,bw,e,by){return bw===by.length-1},even:function(bw,e){return
e%2===0},odd:function(bw,e){return e%2===1},lt:function(bx,bw,e){return
bw<e[3]-0},gt:function(bx,bw,e){return bw>e[3]-0},nth:function(bx,bw,e){return
e[3]-0===bw},eq:function(bx,bw,e){return
e[3]-0===bw}},filter:{PSEUDO:function(bx,bC,bB,bD){var
e=bC[1],bw=bk.filters[e];if(bw){return
bw(bx,bB,bC,bD)}else{if(e==="contains"){return(bx.textContent||bx.innerText||bf.getText([bx])||"").indexOf(bC[3])>=0}else{if(e==="not"){var
by=bC[3];for(var bA=0,bz=by.length;bA<bz;bA++){if(by[bA]===bx){return false}}return
true}else{bf.error(e)}}}},CHILD:function(e,by){var
bB=by[1],bw=e;switch(bB){case"only":case"first":while((bw=bw.previousSibling)){if(bw.nodeType===1){return
false}}if(bB==="first"){return
true}bw=e;case"last":while((bw=bw.nextSibling)){if(bw.nodeType===1){return
false}}return true;case"nth":var
bx=by[2],bE=by[3];if(bx===1&&bE===0){return true}var
bA=by[0],bD=e.parentNode;if(bD&&(bD.sizcache!==bA||!e.nodeIndex)){var
bz=0;for(bw=bD.firstChild;bw;bw=bw.nextSibling){if(bw.nodeType===1){bw.nodeIndex=++bz}}bD.sizcache=bA}var
bC=e.nodeIndex-bE;if(bx===0){return
bC===0}else{return(bC%bx===0&&bC/bx>=0)}}},ID:function(bw,e){return
bw.nodeType===1&&bw.getAttribute("id")===e},TAG:function(bw,e){return(e==="*"&&bw.nodeType===1)||bw.nodeName.toLowerCase()===e},CLASS:function(bw,e){return("
"+(bw.className||bw.getAttribute("class"))+"
").indexOf(e)>-1},ATTR:function(bA,by){var
bx=by[1],e=bk.attrHandle[bx]?bk.attrHandle[bx](bA):bA[bx]!=null?bA[bx]:bA.getAttribute(bx),bB=e+"",bz=by[2],bw=by[4];return
e==null?bz==="!=":bz==="="?bB===bw:bz==="*="?bB.indexOf(bw)>=0:bz==="~="?("
"+bB+"
").indexOf(bw)>=0:!bw?bB&&e!==false:bz==="!="?bB!==bw:bz==="^="?bB.indexOf(bw)===0:bz==="$="?bB.substr(bB.length-bw.length)===bw:bz==="|="?bB===bw||bB.substr(0,bw.length+1)===bw+"-":false},POS:function(bz,bw,bx,bA){var
e=bw[2],by=bk.setFilters[e];if(by){return by(bz,bx,bw,bA)}}}};var
bj=bk.match.POS,be=function(bw,e){return"\\"+(e-0+1)};for(var bg in
bk.match){bk.match[bg]=new
RegExp(bk.match[bg].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bk.leftMatch[bg]=new
RegExp(/(^(?:.|\r|\n)*?)/.source+bk.match[bg].source.replace(/\\(\d+)/g,be))}var
bl=function(bw,e){bw=Array.prototype.slice.call(bw,0);if(e){e.push.apply(e,bw);return
e}return
bw};try{Array.prototype.slice.call(al.documentElement.childNodes,0)[0].nodeType}catch(bu){bl=function(bz,by){var
bx=0,bw=by||[];if(br.call(bz)==="[object
Array]"){Array.prototype.push.apply(bw,bz)}else{if(typeof
bz.length==="number"){for(var
e=bz.length;bx<e;bx++){bw.push(bz[bx])}}else{for(;bz[bx];bx++){bw.push(bz[bx])}}}return
bw}}var
bq,bm;if(al.documentElement.compareDocumentPosition){bq=function(bw,e){if(bw===e){bi=true;return
0}if(!bw.compareDocumentPosition||!e.compareDocumentPosition){return
bw.compareDocumentPosition?-1:1}return
bw.compareDocumentPosition(e)&4?-1:1}}else{bq=function(bD,bC){var
bA,bw,bx=[],e=[],bz=bD.parentNode,bB=bC.parentNode,bE=bz;if(bD===bC){bi=true;return
0}else{if(bz===bB){return bm(bD,bC)}else{if(!bz){return -1}else{if(!bB){return
1}}}}while(bE){bx.unshift(bE);bE=bE.parentNode}bE=bB;while(bE){e.unshift(bE);bE=bE.parentNode}bA=bx.length;bw=e.length;for(var
by=0;by<bA&&by<bw;by++){if(bx[by]!==e[by]){return bm(bx[by],e[by])}}return
by===bA?bm(bD,e[by],-1):bm(bx[by],bC,1)};bm=function(bw,e,bx){if(bw===e){return bx}var
by=bw.nextSibling;while(by){if(by===e){return -1}by=by.nextSibling}return
1}}bf.getText=function(e){var bw="",by;for(var
bx=0;e[bx];bx++){by=e[bx];if(by.nodeType===3||by.nodeType===4){bw+=by.nodeValue}else{if(by.nodeType!==8){bw+=bf.getText(by.childNodes)}}}return
bw};(function(){var bw=al.createElement("div"),bx="script"+(new
Date()).getTime(),e=al.documentElement;bw.innerHTML="<a
name='"+bx+"'/>";e.insertBefore(bw,e.firstChild);if(al.getElementById(bx)){bk.find.ID=function(bz,bA,bB){if(typeof
bA.getElementById!=="undefined"&&!bB){var
by=bA.getElementById(bz[1]);return by?by.id===bz[1]||typeof
by.getAttributeNode!=="undefined"&&by.getAttributeNode("id").nodeValue===bz[1]?[by]:H:[]}};bk.filter.ID=function(bA,by){var
bz=typeof
bA.getAttributeNode!=="undefined"&&bA.getAttributeNode("id");return
bA.nodeType===1&&bz&&bz.nodeValue===by}}e.removeChild(bw);e=bw=null})();(function(){var
e=al.createElement("div");e.appendChild(al.createComment(""));if(e.getElementsByTagName("*").length>0){bk.find.TAG=function(bw,bA){var
bz=bA.getElementsByTagName(bw[1]);if(bw[1]==="*"){var by=[];for(var
bx=0;bz[bx];bx++){if(bz[bx].nodeType===1){by.push(bz[bx])}}bz=by}return
bz}}e.innerHTML="<a
href='#'></a>";if(e.firstChild&&typeof
e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bk.attrHandle.href=function(bw){return
bw.getAttribute("href",2)}}e=null})();if(al.querySelectorAll){(function(){var
e=bf,by=al.createElement("div"),bx="__sizzle__";by.innerHTML="<p
class='TEST'></p>";if(by.querySelectorAll&&by.querySelectorAll(".TEST").length===0){return}bf=function(bJ,bA,bE,bI){bA=bA||al;if(!bI&&!bf.isXML(bA)){var
bH=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(bJ);if(bH&&(bA.nodeType===1||bA.nodeType===9)){if(bH[1]){return
bl(bA.getElementsByTagName(bJ),bE)}else{if(bH[2]&&bk.find.CLASS&&bA.getElementsByClassName){return
bl(bA.getElementsByClassName(bH[2]),bE)}}}if(bA.nodeType===9){if(bJ==="body"&&bA.body){return
bl([bA.body],bE)}else{if(bH&&bH[3]){var
bD=bA.getElementById(bH[3]);if(bD&&bD.parentNode){if(bD.id===bH[3]){return
bl([bD],bE)}}else{return bl([],bE)}}}try{return
bl(bA.querySelectorAll(bJ),bE)}catch(bF){}}else{if(bA.nodeType===1&&bA.nodeName.toLowerCase()!=="object"){var
bB=bA,bC=bA.getAttribute("id"),bz=bC||bx,bL=bA.parentNode,bK=/^\s*[+~]/.test(bJ);if(!bC){bA.setAttribute("id",bz)}else{bz=bz.replace(/'/g,"\\$&")}if(bK&&bL){bA=bA.parentNode}try{if(!bK||bL){return
bl(bA.querySelectorAll("[id='"+bz+"']
"+bJ),bE)}}catch(bG){}finally{if(!bC){bB.removeAttribute("id")}}}}}return
e(bJ,bA,bE,bI)};for(var bw in e){bf[bw]=e[bw]}by=null})()}(function(){var
e=al.documentElement,bx=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector,bw=false;try{bx.call(al.documentElement,"[test!='']:sizzle")}catch(by){bw=true}if(bx){bf.matchesSelector=function(bz,bB){bB=bB.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!bf.isXML(bz)){try{if(bw||!bk.match.PSEUDO.test(bB)&&!/!=/.test(bB)){return
bx.call(bz,bB)}}catch(bA){}}return bf(bB,null,null,[bz]).length>0}}})();(function(){var
e=al.createElement("div");e.innerHTML="<div class='test
e'></div><div
class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bk.order.splice(1,0,"CLASS");bk.find.CLASS=function(bw,bx,by){if(typeof
bx.getElementsByClassName!=="undefined"&&!by){return
bx.getElementsByClassName(bw[1])}};e=null})();function bd(bw,bB,bA,bE,bC,bD){for(var
by=0,bx=bE.length;by<bx;by++){var e=bE[by];if(e){var
bz=false;e=e[bw];while(e){if(e.sizcache===bA){bz=bE[e.sizset];break}if(e.nodeType===1&&!bD){e.sizcache=bA;e.sizset=by}if(e.nodeName.toLowerCase()===bB){bz=e;break}e=e[bw]}bE[by]=bz}}}function
bt(bw,bB,bA,bE,bC,bD){for(var by=0,bx=bE.length;by<bx;by++){var e=bE[by];if(e){var
bz=false;e=e[bw];while(e){if(e.sizcache===bA){bz=bE[e.sizset];break}if(e.nodeType===1){if(!bD){e.sizcache=bA;e.sizset=by}if(typeof
bB!=="string"){if(e===bB){bz=true;break}}else{if(bf.filter(bB,[e]).length>0){bz=e;break}}}e=e[bw]}bE[by]=bz}}}if(al.documentElement.contains){bf.contains=function(bw,e){return
bw!==e&&(bw.contains?bw.contains(e):true)}}else{if(al.documentElement.compareDocumentPosition){bf.contains=function(bw,e){return
!!(bw.compareDocumentPosition(e)&16)}}else{bf.contains=function(){return
false}}}bf.isXML=function(e){var bw=(e?e.ownerDocument||e:0).documentElement;return
bw?bw.nodeName!=="HTML":false};var bs=function(e,bC){var
bA,by=[],bz="",bx=bC.nodeType?[bC]:bC;while((bA=bk.match.PSEUDO.exec(e))){bz+=bA[0];e=e.replace(bk.match.PSEUDO,"")}e=bk.relative[e]?e+"*":e;for(var
bB=0,bw=bx.length;bB<bw;bB++){bf(e,bx[bB],by)}return
bf.filter(bz,by)};a.find=bf;a.expr=bf.selectors;a.expr[":"]=a.expr.filters;a.unique=bf.uniqueSort;a.text=bf.getText;a.isXMLDoc=bf.isXML;a.contains=bf.contains})();var
W=/Until$/,ai=/^(?:parents|prevUntil|prevAll)/,aW=/,/,a9=/^.[^:#\[\.,]*$/,M=Array.prototype.slice,F=a.expr.match.POS,ao={children:true,contents:true,next:true,prev:true};a.fn.extend({find:function(e){var
be=this.pushStack("","find",e),bh=0;for(var
bf=0,bd=this.length;bf<bd;bf++){bh=be.length;a.find(e,this[bf],be);if(bf>0){for(var
bi=bh;bi<be.length;bi++){for(var
bg=0;bg<bh;bg++){if(be[bg]===be[bi]){be.splice(bi--,1);break}}}}}return
be},has:function(bd){var e=a(bd);return this.filter(function(){for(var
bf=0,be=e.length;bf<be;bf++){if(a.contains(this,e[bf])){return
true}}})},not:function(e){return
this.pushStack(av(this,e,false),"not",e)},filter:function(e){return
this.pushStack(av(this,e,true),"filter",e)},is:function(e){return
!!e&&a.filter(e,this).length>0},closest:function(bm,bd){var
bj=[],bg,be,bl=this[0];if(a.isArray(bm)){var
bi,bf,bh={},e=1;if(bl&&bm.length){for(bg=0,be=bm.length;bg<be;bg++){bf=bm[bg];if(!bh[bf]){bh[bf]=a.expr.match.POS.test(bf)?a(bf,bd||this.context):bf}}while(bl&&bl.ownerDocument&&bl!==bd){for(bf
in
bh){bi=bh[bf];if(bi.jquery?bi.index(bl)>-1:a(bl).is(bi)){bj.push({selector:bf,elem:bl,level:e})}}bl=bl.parentNode;e++}}return
bj}var
bk=F.test(bm)?a(bm,bd||this.context):null;for(bg=0,be=this.length;bg<be;bg++){bl=this[bg];while(bl){if(bk?bk.index(bl)>-1:a.find.matchesSelector(bl,bm)){bj.push(bl);break}else{bl=bl.parentNode;if(!bl||!bl.ownerDocument||bl===bd){break}}}}bj=bj.length>1?a.unique(bj):bj;return
this.pushStack(bj,"closest",bm)},index:function(e){if(!e||typeof
e==="string"){return a.inArray(this[0],e?a(e):this.parent().children())}return
a.inArray(e.jquery?e[0]:e,this)},add:function(e,bd){var bf=typeof
e==="string"?a(e,bd):a.makeArray(e),be=a.merge(this.get(),bf);return
this.pushStack(B(bf[0])||B(be[0])?be:a.unique(be))},andSelf:function(){return
this.add(this.prevObject)}});function B(e){return
!e||!e.parentNode||e.parentNode.nodeType===11}a.each({parent:function(bd){var
e=bd.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return
a.dir(e,"parentNode")},parentsUntil:function(bd,e,be){return
a.dir(bd,"parentNode",be)},next:function(e){return
a.nth(e,2,"nextSibling")},prev:function(e){return
a.nth(e,2,"previousSibling")},nextAll:function(e){return
a.dir(e,"nextSibling")},prevAll:function(e){return
a.dir(e,"previousSibling")},nextUntil:function(bd,e,be){return
a.dir(bd,"nextSibling",be)},prevUntil:function(bd,e,be){return
a.dir(bd,"previousSibling",be)},siblings:function(e){return
a.sibling(e.parentNode.firstChild,e)},children:function(e){return
a.sibling(e.firstChild)},contents:function(e){return
a.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:a.makeArray(e.childNodes)}},function(e,bd){a.fn[e]=function(bh,be){var
bg=a.map(this,bd,bh),bf=M.call(arguments);if(!W.test(e)){be=bh}if(be&&typeof
be==="string"){bg=a.filter(be,bg)}bg=this.length>1&&!ao[e]?a.unique(bg):bg;if((this.length>1||aW.test(be))&&ai.test(e)){bg=bg.reverse()}return
this.pushStack(bg,e,bf.join(","))}});a.extend({filter:function(be,e,bd){if(bd){be=":not("+be+")"}return
e.length===1?a.find.matchesSelector(e[0],be)?[e[0]]:[]:a.find.matches(be,e)},dir:function(be,bd,bg){var
e=[],bf=be[bd];while(bf&&bf.nodeType!==9&&(bg===H||bf.nodeType!==1||!a(bf).is(bg))){if(bf.nodeType===1){e.push(bf)}bf=bf[bd]}return
e},nth:function(bg,e,be,bf){e=e||1;var
bd=0;for(;bg;bg=bg[be]){if(bg.nodeType===1&&++bd===e){break}}return
bg},sibling:function(be,bd){var
e=[];for(;be;be=be.nextSibling){if(be.nodeType===1&&be!==bd){e.push(be)}}return
e}});function av(bf,be,e){if(a.isFunction(be)){return a.grep(bf,function(bh,bg){var
bi=!!be.call(bh,bg,bh);return bi===e})}else{if(be.nodeType){return
a.grep(bf,function(bh,bg){return(bh===be)===e})}else{if(typeof
be==="string"){var bd=a.grep(bf,function(bg){return
bg.nodeType===1});if(a9.test(be)){return
a.filter(be,bd,!e)}else{be=a.filter(be,bd)}}}}return
a.grep(bf,function(bh,bg){return(a.inArray(bh,be)>=0)===e})}var ab=/
jQuery\d+="(?:\d+|null)"/g,aj=/^\s+/,O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,c=/<([\w:]+)/,v=/<tbody/i,T=/<|&#?\w+;/,L=/<(?:script|object|embed|option|style)/i,m=/checked\s*(?:[^=]|=\s*.checked.)/i,an={option:[1,"<select
multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};an.optgroup=an.option;an.tbody=an.tfoot=an.colgroup=an.caption=an.thead;an.th=an.td;if(!a.support.htmlSerialize){an._default=[1,"div<div>","</div>"]}a.fn.extend({text:function(e){if(a.isFunction(e)){return
this.each(function(be){var bd=a(this);bd.text(e.call(this,be,bd.text()))})}if(typeof
e!=="object"&&e!==H){return
this.empty().append((this[0]&&this[0].ownerDocument||al).createTextNode(e))}return
a.text(this)},wrapAll:function(e){if(a.isFunction(e)){return
this.each(function(be){a(this).wrapAll(e.call(this,be))})}if(this[0]){var
bd=a(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bd.insertBefore(this[0])}bd.map(function(){var
be=this;while(be.firstChild&&be.firstChild.nodeType===1){be=be.firstChild}return
be}).append(this)}return this},wrapInner:function(e){if(a.isFunction(e)){return
this.each(function(bd){a(this).wrapInner(e.call(this,bd))})}return
this.each(function(){var
bd=a(this),be=bd.contents();if(be.length){be.wrapAll(e)}else{bd.append(e)}})},wrap:function(e){return
this.each(function(){a(this).wrapAll(e)})},unwrap:function(){return
this.parent().each(function(){if(!a.nodeName(this,"body")){a(this).replaceWith(this.childNodes)}}).end()},append:function(){return
this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return
this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return
this.domManip(arguments,false,function(bd){this.parentNode.insertBefore(bd,this)})}else{if(arguments.length){var
e=a(arguments[0]);e.push.apply(e,this.toArray());return
this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return
this.domManip(arguments,false,function(bd){this.parentNode.insertBefore(bd,this.nextSibling)})}else{if(arguments.length){var
e=this.pushStack(this,"after",arguments);e.push.apply(e,a(arguments[0]).toArray());return
e}}},remove:function(e,bf){for(var
bd=0,be;(be=this[bd])!=null;bd++){if(!e||a.filter(e,[be]).length){if(!bf&&be.nodeType===1){a.cleanData(be.getElementsByTagName("*"));a.cleanData([be])}if(be.parentNode){be.parentNode.removeChild(be)}}}return
this},empty:function(){for(var
e=0,bd;(bd=this[e])!=null;e++){if(bd.nodeType===1){a.cleanData(bd.getElementsByTagName("*"))}while(bd.firstChild){bd.removeChild(bd.firstChild)}}return
this},clone:function(bd,e){bd=bd==null?false:bd;e=e==null?bd:e;return
this.map(function(){return a.clone(this,bd,e)})},html:function(bf){if(bf===H){return
this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ab,""):null}else{if(typeof
bf==="string"&&!L.test(bf)&&(a.support.leadingWhitespace||!aj.test(bf))&&!an[(c.exec(bf)||["",""])[1].toLowerCase()]){bf=bf.replace(O,"<$1></$2>");try{for(var
be=0,bd=this.length;be<bd;be++){if(this[be].nodeType===1){a.cleanData(this[be].getElementsByTagName("*"));this[be].innerHTML=bf}}}catch(bg){this.empty().append(bf)}}else{if(a.isFunction(bf)){this.each(function(bh){var
e=a(this);e.html(bf.call(this,bh,e.html()))})}else{this.empty().append(bf)}}}return
this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(a.isFunction(e)){return
this.each(function(bf){var
be=a(this),bd=be.html();be.replaceWith(e.call(this,bf,bd))})}if(typeof
e!=="string"){e=a(e).detach()}return this.each(function(){var
be=this.nextSibling,bd=this.parentNode;a(this).remove();if(be){a(be).before(e)}else{a(bd).append(e)}})}else{return
this.pushStack(a(a.isFunction(e)?e():e),"replaceWith",e)}},detach:function(e){return
this.remove(e,true)},domManip:function(bj,bn,bm){var
bf,bg,bi,bl,bk=bj[0],bd=[];if(!a.support.checkClone&&arguments.length===3&&typeof
bk==="string"&&m.test(bk)){return
this.each(function(){a(this).domManip(bj,bn,bm,true)})}if(a.isFunction(bk)){return
this.each(function(bp){var
bo=a(this);bj[0]=bk.call(this,bp,bn?bo.html():H);bo.domManip(bj,bn,bm)})}if(this[0]){bl=bk&&bk.parentNode;if(a.support.parentNode&&bl&&bl.nodeType===11&&bl.childNodes.length===this.length){bf={fragment:bl}}else{bf=a.buildFragment(bj,this,bd)}bi=bf.fragment;if(bi.childNodes.length===1){bg=bi=bi.firstChild}else{bg=bi.firstChild}if(bg){bn=bn&&a.nodeName(bg,"tr");for(var
be=0,e=this.length,bh=e-1;be<e;be++){bm.call(bn?aX(this[be],bg):this[be],bf.cacheable||(e>1&&be<bh)?a.clone(bi,true,true):bi)}}if(bd.length){a.each(bd,a8)}}return
this}});function aX(e,bd){return
a.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function
s(e,bj){if(bj.nodeType!==1||!a.hasData(e)){return}var
bi=a.expando,bf=a.data(e),bg=a.data(bj,bf);if((bf=bf[bi])){var
bk=bf.events;bg=bg[bi]=a.extend({},bf);if(bk){delete bg.handle;bg.events={};for(var bh in
bk){for(var
be=0,bd=bk[bh].length;be<bd;be++){a.event.add(bj,bh+(bk[bh][be].namespace?".":"")+bk[bh][be].namespace,bk[bh][be],bk[bh][be].data)}}}}}function
ac(bd,e){if(e.nodeType!==1){return}var
be=e.nodeName.toLowerCase();e.clearAttributes();e.mergeAttributes(bd);if(be==="object"){e.outerHTML=bd.outerHTML}else{if(be==="input"&&(bd.type==="checkbox"||bd.type==="radio")){if(bd.checked){e.defaultChecked=e.checked=bd.checked}if(e.value!==bd.value){e.value=bd.value}}else{if(be==="option"){e.selected=bd.defaultSelected}else{if(be==="input"||be==="textarea"){e.defaultValue=bd.defaultValue}}}}e.removeAttribute(a.expando)}a.buildFragment=function(bh,bf,bd){var
bg,e,be,bi=(bf&&bf[0]?bf[0].ownerDocument||bf[0]:al);if(bh.length===1&&typeof
bh[0]==="string"&&bh[0].length<512&&bi===al&&bh[0].charAt(0)==="<"&&!L.test(bh[0])&&(a.support.checkClone||!m.test(bh[0]))){e=true;be=a.fragments[bh[0]];if(be){if(be!==1){bg=be}}}if(!bg){bg=bi.createDocumentFragment();a.clean(bh,bi,bg,bd)}if(e){a.fragments[bh[0]]=be?bg:1}return{fragment:bg,cacheable:e}};a.fragments={};a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bd){a.fn[e]=function(be){var
bh=[],bk=a(be),bj=this.length===1&&this[0].parentNode;if(bj&&bj.nodeType===11&&bj.childNodes.length===1&&bk.length===1){bk[bd](this[0]);return
this}else{for(var bi=0,bf=bk.length;bi<bf;bi++){var
bg=(bi>0?this.clone(true):this).get();a(bk[bi])[bd](bg);bh=bh.concat(bg)}return
this.pushStack(bh,e,bk.selector)}}});function a1(e){if("getElementsByTagName" in
e){return e.getElementsByTagName("*")}else{if("querySelectorAll" in
e){return
e.querySelectorAll("*")}else{return[]}}}a.extend({clone:function(bg,bi,be){var
bh=bg.cloneNode(true),e,bd,bf;if((!a.support.noCloneEvent||!a.support.noCloneChecked)&&(bg.nodeType===1||bg.nodeType===11)&&!a.isXMLDoc(bg)){ac(bg,bh);e=a1(bg);bd=a1(bh);for(bf=0;e[bf];++bf){ac(e[bf],bd[bf])}}if(bi){s(bg,bh);if(be){e=a1(bg);bd=a1(bh);for(bf=0;e[bf];++bf){s(e[bf],bd[bf])}}}return
bh},clean:function(be,bg,bn,bi){bg=bg||al;if(typeof
bg.createElement==="undefined"){bg=bg.ownerDocument||bg[0]&&bg[0].ownerDocument||al}var
bo=[];for(var bm=0,bh;(bh=be[bm])!=null;bm++){if(typeof
bh==="number"){bh+=""}if(!bh){continue}if(typeof
bh==="string"&&!T.test(bh)){bh=bg.createTextNode(bh)}else{if(typeof
bh==="string"){bh=bh.replace(O,"<$1></$2>");var
bp=(c.exec(bh)||["",""])[1].toLowerCase(),bf=an[bp]||an._default,bl=bf[0],bd=bg.createElement("div");bd.innerHTML=bf[1]+bh+bf[2];while(bl--){bd=bd.lastChild}if(!a.support.tbody){var
e=v.test(bh),bk=bp==="table"&&!e?bd.firstChild&&bd.firstChild.childNodes:bf[1]==="<table>"&&!e?bd.childNodes:[];for(var
bj=bk.length-1;bj>=0;--bj){if(a.nodeName(bk[bj],"tbody")&&!bk[bj].childNodes.length){bk[bj].parentNode.removeChild(bk[bj])}}}if(!a.support.leadingWhitespace&&aj.test(bh)){bd.insertBefore(bg.createTextNode(aj.exec(bh)[0]),bd.firstChild)}bh=bd.childNodes}}if(bh.nodeType){bo.push(bh)}else{bo=a.merge(bo,bh)}}if(bn){for(bm=0;bo[bm];bm++){if(bi&&a.nodeName(bo[bm],"script")&&(!bo[bm].type||bo[bm].type.toLowerCase()==="text/javascript")){bi.push(bo[bm].parentNode?bo[bm].parentNode.removeChild(bo[bm]):bo[bm])}else{if(bo[bm].nodeType===1){bo.splice.apply(bo,[bm+1,0].concat(a.makeArray(bo[bm].getElementsByTagName("script"))))}bn.appendChild(bo[bm])}}}return
bo},cleanData:function(bd){var
bg,be,e=a.cache,bl=a.expando,bj=a.event.special,bi=a.support.deleteExpando;for(var
bh=0,bf;(bf=bd[bh])!=null;bh++){if(bf.nodeName&&a.noData[bf.nodeName.toLowerCase()]){continue}be=bf[a.expando];if(be){bg=e[be]&&e[be][bl];if(bg&&bg.events){for(var
bk in
bg.events){if(bj[bk]){a.event.remove(bf,bk)}else{a.removeEvent(bf,bk,bg.handle)}}if(bg.handle){bg.handle.elem=null}}if(bi){delete
bf[a.expando]}else{if(bf.removeAttribute){bf.removeAttribute(a.expando)}}delete
e[be]}}}});function
a8(e,bd){if(bd.src){a.ajax({url:bd.src,async:false,dataType:"script"})}else{a.globalEval(bd.text||bd.textContent||bd.innerHTML||"")}if(bd.parentNode){bd.parentNode.removeChild(bd)}}var
ae=/alpha\([^)]*\)/i,ak=/opacity=([^)]*)/,aM=/-([a-z])/ig,y=/([A-Z])/g,aZ=/^-?\d+(?:px)?$/i,a7=/^-?\d/,aV={position:"absolute",visibility:"hidden",display:"block"},ag=["Left","Right"],aR=["Top","Bottom"],U,ay,aL,l=function(e,bd){return
bd.toUpperCase()};a.fn.css=function(e,bd){if(arguments.length===2&&bd===H){return
this}return a.access(this,e,bd,true,function(bf,be,bg){return
bg!==H?a.style(bf,be,bg):a.css(bf,be)})};a.extend({cssHooks:{opacity:{get:function(be,bd){if(bd){var
e=U(be,"opacity","opacity");return
e===""?"1":e}else{return
be.style.opacity}}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":a.support.cssFloat?"cssFloat":"styleFloat"},style:function(bf,be,bk,bg){if(!bf||bf.nodeType===3||bf.nodeType===8||!bf.style){return}var
bj,bh=a.camelCase(be),bd=bf.style,bl=a.cssHooks[bh];be=a.cssProps[bh]||bh;if(bk!==H){if(typeof
bk==="number"&&isNaN(bk)||bk==null){return}if(typeof
bk==="number"&&!a.cssNumber[bh]){bk+="px"}if(!bl||!("set"
in
bl)||(bk=bl.set(bf,bk))!==H){try{bd[be]=bk}catch(bi){}}}else{if(bl&&"get"
in bl&&(bj=bl.get(bf,false,bg))!==H){return bj}return
bd[be]}},css:function(bh,bg,bd){var
bf,be=a.camelCase(bg),e=a.cssHooks[be];bg=a.cssProps[be]||be;if(e&&"get"
in e&&(bf=e.get(bh,true,bd))!==H){return bf}else{if(U){return
U(bh,bg,be)}}},swap:function(bf,be,bg){var e={};for(var bd in
be){e[bd]=bf.style[bd];bf.style[bd]=be[bd]}bg.call(bf);for(bd in
be){bf.style[bd]=e[bd]}},camelCase:function(e){return
e.replace(aM,l)}});a.curCSS=a.css;a.each(["height","width"],function(bd,e){a.cssHooks[e]={get:function(bg,bf,be){var
bh;if(bf){if(bg.offsetWidth!==0){bh=o(bg,e,be)}else{a.swap(bg,aV,function(){bh=o(bg,e,be)})}if(bh<=0){bh=U(bg,e,e);if(bh==="0px"&&aL){bh=aL(bg,e,e)}if(bh!=null){return
bh===""||bh==="auto"?"0px":bh}}if(bh<0||bh==null){bh=bg.style[e];return
bh===""||bh==="auto"?"0px":bh}return typeof
bh==="string"?bh:bh+"px"}},set:function(be,bf){if(aZ.test(bf)){bf=parseFloat(bf);if(bf>=0){return
bf+"px"}}else{return
bf}}}});if(!a.support.opacity){a.cssHooks.opacity={get:function(bd,e){return
ak.test((e&&bd.currentStyle?bd.currentStyle.filter:bd.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(bf,bg){var
be=bf.style;be.zoom=1;var
e=a.isNaN(bg)?"":"alpha(opacity="+bg*100+")",bd=be.filter||"";be.filter=ae.test(bd)?bd.replace(ae,e):be.filter+"
"+e}}}if(al.defaultView&&al.defaultView.getComputedStyle){ay=function(bh,e,bf){var
be,bg,bd;bf=bf.replace(y,"-$1").toLowerCase();if(!(bg=bh.ownerDocument.defaultView)){return
H}if((bd=bg.getComputedStyle(bh,null))){be=bd.getPropertyValue(bf);if(be===""&&!a.contains(bh.ownerDocument.documentElement,bh)){be=a.style(bh,bf)}}return
be}}if(al.documentElement.currentStyle){aL=function(bg,be){var
bh,bd=bg.currentStyle&&bg.currentStyle[be],e=bg.runtimeStyle&&bg.runtimeStyle[be],bf=bg.style;if(!aZ.test(bd)&&a7.test(bd)){bh=bf.left;if(e){bg.runtimeStyle.left=bg.currentStyle.left}bf.left=be==="fontSize"?"1em":(bd||0);bd=bf.pixelLeft+"px";bf.left=bh;if(e){bg.runtimeStyle.left=e}}return
bd===""?"auto":bd}}U=ay||aL;function o(be,bd,e){var
bg=bd==="width"?ag:aR,bf=bd==="width"?be.offsetWidth:be.offsetHeight;if(e==="border"){return
bf}a.each(bg,function(){if(!e){bf-=parseFloat(a.css(be,"padding"+this))||0}if(e==="margin"){bf+=parseFloat(a.css(be,"margin"+this))||0}else{bf-=parseFloat(a.css(be,"border"+this+"Width"))||0}});return
bf}if(a.expr&&a.expr.filters){a.expr.filters.hidden=function(be){var
bd=be.offsetWidth,e=be.offsetHeight;return(bd===0&&e===0)||(!a.support.reliableHiddenOffsets&&(be.style.display||a.css(be,"display"))==="none")};a.expr.filters.visible=function(e){return
!a.expr.filters.hidden(e)}}var i=/%20/g,ah=/\[\]$/,bc=/\r?\n/g,ba=/#.*$/,ar=/^(.*?):[
\t]*([^\r\n]*)\r?$/mg,aO=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aB=/(?:^file|^widget|\-extension):$/,aD=/^(?:GET|HEAD)$/,b=/^\/\//,I=/\?/,aU=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,p=/^(?:select|textarea)/i,g=/\s+/,bb=/([?&])_=[^&]*/,R=/(^|\-)([a-z])/g,aJ=function(bd,e,be){return
e+be.toUpperCase()},G=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,z=a.fn.load,V={},q={},au,r;try{au=al.location.href}catch(am){au=al.createElement("a");au.href="";au=au.href}r=G.exec(au.toLowerCase());function
d(e){return function(bg,bi){if(typeof
bg!=="string"){bi=bg;bg="*"}if(a.isFunction(bi)){var
bf=bg.toLowerCase().split(g),be=0,bh=bf.length,bd,bj,bk;for(;be<bh;be++){bd=bf[be];bk=/^\+/.test(bd);if(bk){bd=bd.substr(1)||"*"}bj=e[bd]=e[bd]||[];bj[bk?"unshift":"push"](bi)}}}}function
aI(bd,bm,bh,bl,bj,bf){bj=bj||bm.dataTypes[0];bf=bf||{};bf[bj]=true;var
bi=bd[bj],be=0,e=bi?bi.length:0,bg=(bd===V),bk;for(;be<e&&(bg||!bk);be++){bk=bi[be](bm,bh,bl);if(typeof
bk==="string"){if(!bg||bf[bk]){bk=H}else{bm.dataTypes.unshift(bk);bk=aI(bd,bm,bh,bl,bk,bf)}}}if((bg||!bk)&&!bf["*"]){bk=aI(bd,bm,bh,bl,"*",bf)}return
bk}a.fn.extend({load:function(be,bh,bi){if(typeof
be!=="string"&&z){return
z.apply(this,arguments)}else{if(!this.length){return this}}var bg=be.indexOf("
");if(bg>=0){var e=be.slice(bg,be.length);be=be.slice(0,bg)}var
bf="GET";if(bh){if(a.isFunction(bh)){bi=bh;bh=H}else{if(typeof
bh==="object"){bh=a.param(bh,a.ajaxSettings.traditional);bf="POST"}}}var
bd=this;a.ajax({url:be,type:bf,dataType:"html",data:bh,complete:function(bk,bj,bl){bl=bk.responseText;if(bk.isResolved()){bk.done(function(bm){bl=bm});bd.html(e?a("<div>").append(bl.replace(aU,"")).find(e):bl)}if(bi){bd.each(bi,[bl,bj,bk])}}});return
this},serialize:function(){return
a.param(this.serializeArray())},serializeArray:function(){return
this.map(function(){return
this.elements?a.makeArray(this.elements):this}).filter(function(){return
this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||aO.test(this.type))}).map(function(e,bd){var
be=a(this).val();return
be==null?null:a.isArray(be)?a.map(be,function(bg,bf){return{name:bd.name,value:bg.replace(bc,"\r\n")}}):{name:bd.name,value:be.replace(bc,"\r\n")}}).get()}});a.each("ajaxStart
ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split("
"),function(e,bd){a.fn[bd]=function(be){return
this.bind(bd,be)}});a.each(["get","post"],function(e,bd){a[bd]=function(be,bg,bh,bf){if(a.isFunction(bg)){bf=bf||bh;bh=bg;bg=H}return
a.ajax({type:bd,url:be,data:bg,success:bh,dataType:bf})}});a.extend({getScript:function(e,bd){return
a.get(e,H,bd,"script")},getJSON:function(e,bd,be){return
a.get(e,bd,be,"json")},ajaxSetup:function(be,e){if(!e){e=be;be=a.extend(true,a.ajaxSettings,e)}else{a.extend(true,be,a.ajaxSettings,e)}for(var
bd in {context:1,url:1}){if(bd in e){be[bd]=e[bd]}else{if(bd in
a.ajaxSettings){be[bd]=a.ajaxSettings[bd]}}}return
be},ajaxSettings:{url:au,isLocal:aB.test(r[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,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":aY.String,"text html":true,"text
json":a.parseJSON,"text
xml":a.parseXML}},ajaxPrefilter:d(V),ajaxTransport:d(q),ajax:function(bh,bf){if(typeof
bh==="object"){bf=bh;bh=H}bf=bf||{};var
bl=a.ajaxSetup({},bf),bz=bl.context||bl,bo=bz!==bl&&(bz.nodeType||bz instanceof
a)?a(bz):a.event,by=a.Deferred(),bv=a._Deferred(),bj=bl.statusCode||{},bk,bp={},bx,bg,bt,bm,bq,bi=0,be,bs,br={readyState:0,setRequestHeader:function(e,bA){if(!bi){bp[e.toLowerCase().replace(R,aJ)]=bA}return
this},getAllResponseHeaders:function(){return
bi===2?bx:null},getResponseHeader:function(bA){var
e;if(bi===2){if(!bg){bg={};while((e=ar.exec(bx))){bg[e[1].toLowerCase()]=e[2]}}e=bg[bA.toLowerCase()]}return
e===H?null:e},overrideMimeType:function(e){if(!bi){bl.mimeType=e}return
this},abort:function(e){e=e||"abort";if(bt){bt.abort(e)}bn(0,e);return
this}};function
bn(bF,bD,bG,bC){if(bi===2){return}bi=2;if(bm){clearTimeout(bm)}bt=H;bx=bC||"";br.readyState=bF?4:0;var
bA,bK,bJ,bE=bG?a4(bl,br,bG):H,bB,bI;if(bF>=200&&bF<300||bF===304){if(bl.ifModified){if((bB=br.getResponseHeader("Last-Modified"))){a.lastModified[bk]=bB}if((bI=br.getResponseHeader("Etag"))){a.etag[bk]=bI}}if(bF===304){bD="notmodified";bA=true}else{try{bK=D(bl,bE);bD="success";bA=true}catch(bH){bD="parsererror";bJ=bH}}}else{bJ=bD;if(!bD||bF){bD="error";if(bF<0){bF=0}}}br.status=bF;br.statusText=bD;if(bA){by.resolveWith(bz,[bK,bD,br])}else{by.rejectWith(bz,[br,bD,bJ])}br.statusCode(bj);bj=H;if(be){bo.trigger("ajax"+(bA?"Success":"Error"),[br,bl,bA?bK:bJ])}bv.resolveWith(bz,[br,bD]);if(be){bo.trigger("ajaxComplete",[br,bl]);if(!(--a.active)){a.event.trigger("ajaxStop")}}}by.promise(br);br.success=br.done;br.error=br.fail;br.complete=bv.done;br.statusCode=function(bA){if(bA){var
e;if(bi<2){for(e in bA){bj[e]=[bj[e],bA[e]]}}else{e=bA[br.status];br.then(e,e)}}return
this};bl.url=((bh||bl.url)+"").replace(ba,"").replace(b,r[1]+"//");bl.dataTypes=a.trim(bl.dataType||"*").toLowerCase().split(g);if(!bl.crossDomain){bq=G.exec(bl.url.toLowerCase());bl.crossDomain=!!(bq&&(bq[1]!=r[1]||bq[2]!=r[2]||(bq[3]||(bq[1]==="http:"?80:443))!=(r[3]||(r[1]==="http:"?80:443))))}if(bl.data&&bl.processData&&typeof
bl.data!=="string"){bl.data=a.param(bl.data,bl.traditional)}aI(V,bl,bf,br);if(bi===2){return
false}be=bl.global;bl.type=bl.type.toUpperCase();bl.hasContent=!aD.test(bl.type);if(be&&a.active++===0){a.event.trigger("ajaxStart")}if(!bl.hasContent){if(bl.data){bl.url+=(I.test(bl.url)?"&":"?")+bl.data}bk=bl.url;if(bl.cache===false){var
bd=a.now(),bw=bl.url.replace(bb,"$1_="+bd);bl.url=bw+((bw===bl.url)?(I.test(bl.url)?"&":"?")+"_="+bd:"")}}if(bl.data&&bl.hasContent&&bl.contentType!==false||bf.contentType){bp["Content-Type"]=bl.contentType}if(bl.ifModified){bk=bk||bl.url;if(a.lastModified[bk]){bp["If-Modified-Since"]=a.lastModified[bk]}if(a.etag[bk]){bp["If-None-Match"]=a.etag[bk]}}bp.Accept=bl.dataTypes[0]&&bl.accepts[bl.dataTypes[0]]?bl.accepts[bl.dataTypes[0]]+(bl.dataTypes[0]!=="*"?",
*/*; q=0.01":""):bl.accepts["*"];for(bs in
bl.headers){br.setRequestHeader(bs,bl.headers[bs])}if(bl.beforeSend&&(bl.beforeSend.call(bz,br,bl)===false||bi===2)){br.abort();return
false}for(bs in
{success:1,error:1,complete:1}){br[bs](bl[bs])}bt=aI(q,bl,bf,br);if(!bt){bn(-1,"No
Transport")}else{br.readyState=1;if(be){bo.trigger("ajaxSend",[br,bl])}if(bl.async&&bl.timeout>0){bm=setTimeout(function(){br.abort("timeout")},bl.timeout)}try{bi=1;bt.send(bp,bn)}catch(bu){if(status<2){bn(-1,bu)}else{a.error(bu)}}}return
br},param:function(e,be){var
bd=[],bg=function(bh,bi){bi=a.isFunction(bi)?bi():bi;bd[bd.length]=encodeURIComponent(bh)+"="+encodeURIComponent(bi)};if(be===H){be=a.ajaxSettings.traditional}if(a.isArray(e)||(e.jquery&&!a.isPlainObject(e))){a.each(e,function(){bg(this.name,this.value)})}else{for(var
bf in e){u(bf,e[bf],be,bg)}}return
bd.join("&").replace(i,"+")}});function
u(be,bg,bd,bf){if(a.isArray(bg)&&bg.length){a.each(bg,function(bi,bh){if(bd||ah.test(be)){bf(be,bh)}else{u(be+"["+(typeof
bh==="object"||a.isArray(bh)?bi:"")+"]",bh,bd,bf)}})}else{if(!bd&&bg!=null&&typeof
bg==="object"){if(a.isArray(bg)||a.isEmptyObject(bg)){bf(be,"")}else{for(var
e in
bg){u(be+"["+e+"]",bg[e],bd,bf)}}}else{bf(be,bg)}}}a.extend({active:0,lastModified:{},etag:{}});function
a4(bl,bk,bh){var bd=bl.contents,bj=bl.dataTypes,be=bl.responseFields,bg,bi,bf,e;for(bi in
be){if(bi in
bh){bk[be[bi]]=bh[bi]}}while(bj[0]==="*"){bj.shift();if(bg===H){bg=bl.mimeType||bk.getResponseHeader("content-type")}}if(bg){for(bi
in bd){if(bd[bi]&&bd[bi].test(bg)){bj.unshift(bi);break}}}if(bj[0] in
bh){bf=bj[0]}else{for(bi in bh){if(!bj[0]||bl.converters[bi+"
"+bj[0]]){bf=bi;break}if(!e){e=bi}}bf=bf||e}if(bf){if(bf!==bj[0]){bj.unshift(bf)}return
bh[bf]}}function D(bp,bh){if(bp.dataFilter){bh=bp.dataFilter(bh,bp.dataType)}var
bl=bp.dataTypes,bo={},bi,bm,be=bl.length,bj,bk=bl[0],bf,bg,bn,bd,e;for(bi=1;bi<be;bi++){if(bi===1){for(bm
in bp.converters){if(typeof
bm==="string"){bo[bm.toLowerCase()]=bp.converters[bm]}}}bf=bk;bk=bl[bi];if(bk==="*"){bk=bf}else{if(bf!=="*"&&bf!==bk){bg=bf+"
"+bk;bn=bo[bg]||bo["* "+bk];if(!bn){e=H;for(bd in bo){bj=bd.split("
");if(bj[0]===bf||bj[0]==="*"){e=bo[bj[1]+"
"+bk];if(e){bd=bo[bd];if(bd===true){bn=e}else{if(e===true){bn=bd}}break}}}}if(!(bn||e)){a.error("No
conversion from "+bg.replace(" "," to
"))}if(bn!==true){bh=bn?bn(bh):e(bd(bh))}}}}return bh}var
aq=a.now(),t=/(\=)\?(&|$)|()\?\?()/i;a.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return
a.expando+"_"+(aq++)}});a.ajaxPrefilter("json
jsonp",function(bm,bi,bl){var bk=(typeof
bm.data==="string");if(bm.dataTypes[0]==="jsonp"||bi.jsonpCallback||bi.jsonp!=null||bm.jsonp!==false&&(t.test(bm.url)||bk&&t.test(bm.data))){var
bj,be=bm.jsonpCallback=a.isFunction(bm.jsonpCallback)?bm.jsonpCallback():bm.jsonpCallback,bh=aY[be],e=bm.url,bg=bm.data,bd="$1"+be+"$2",bf=function(){aY[be]=bh;if(bj&&a.isFunction(bh)){aY[be](bj[0])}};if(bm.jsonp!==false){e=e.replace(t,bd);if(bm.url===e){if(bk){bg=bg.replace(t,bd)}if(bm.data===bg){e+=(/\?/.test(e)?"&":"?")+bm.jsonp+"="+be}}}bm.url=e;bm.data=bg;aY[be]=function(bn){bj=[bn]};bl.then(bf,bf);bm.converters["script
json"]=function(){if(!bj){a.error(be+" was not called")}return
bj[0]};bm.dataTypes[0]="json";return"script"}});a.ajaxSetup({accepts:{script:"text/javascript,
application/javascript, application/ecmascript,
application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text
script":function(e){a.globalEval(e);return
e}}});a.ajaxPrefilter("script",function(e){if(e.cache===H){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});a.ajaxTransport("script",function(be){if(be.crossDomain){var
e,bd=al.head||al.getElementsByTagName("head")[0]||al.documentElement;return{send:function(bf,bg){e=al.createElement("script");e.async="async";if(be.scriptCharset){e.charset=be.scriptCharset}e.src=be.url;e.onload=e.onreadystatechange=function(bi,bh){if(!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bd&&e.parentNode){bd.removeChild(e)}e=H;if(!bh){bg(200,"success")}}};bd.insertBefore(e,bd.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var
x=a.now(),J,at;function A(){a(aY).unload(function(){for(var e in J){J[e](0,1)}})}function
aA(){try{return new aY.XMLHttpRequest()}catch(bd){}}function ad(){try{return new
aY.ActiveXObject("Microsoft.XMLHTTP")}catch(bd){}}a.ajaxSettings.xhr=aY.ActiveXObject?function(){return
!this.isLocal&&aA()||ad()}:aA;at=a.ajaxSettings.xhr();a.support.ajax=!!at;a.support.cors=at&&("withCredentials"
in
at);at=H;if(a.support.ajax){a.ajaxTransport(function(e){if(!e.crossDomain||a.support.cors){var
bd;return{send:function(bj,be){var
bi=e.xhr(),bh,bg;if(e.username){bi.open(e.type,e.url,e.async,e.username,e.password)}else{bi.open(e.type,e.url,e.async)}if(e.xhrFields){for(bg
in
e.xhrFields){bi[bg]=e.xhrFields[bg]}}if(e.mimeType&&bi.overrideMimeType){bi.overrideMimeType(e.mimeType)}if(!(e.crossDomain&&!e.hasContent)&&!bj["X-Requested-With"]){bj["X-Requested-With"]="XMLHttpRequest"}try{for(bg
in
bj){bi.setRequestHeader(bg,bj[bg])}}catch(bf){}bi.send((e.hasContent&&e.data)||null);bd=function(bs,bm){var
bn,bl,bk,bq,bp;try{if(bd&&(bm||bi.readyState===4)){bd=H;if(bh){bi.onreadystatechange=a.noop;delete
J[bh]}if(bm){if(bi.readyState!==4){bi.abort()}}else{bn=bi.status;bk=bi.getAllResponseHeaders();bq={};bp=bi.responseXML;if(bp&&bp.documentElement){bq.xml=bp}bq.text=bi.responseText;try{bl=bi.statusText}catch(br){bl=""}if(!bn&&e.isLocal&&!e.crossDomain){bn=bq.text?200:404}else{if(bn===1223){bn=204}}}}}catch(bo){if(!bm){be(-1,bo)}}if(bq){be(bn,bl,bq,bk)}};if(!e.async||bi.readyState===4){bd()}else{if(!J){J={};A()}bh=x++;bi.onreadystatechange=J[bh]=bd}},abort:function(){if(bd){bd(0,1)}}}}})}var
N={},ap=/^(?:toggle|show|hide)$/,aF=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,aS,ax=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];a.fn.extend({show:function(bf,bi,bh){var
be,bg;if(bf||bf===0){return this.animate(aQ("show",3),bf,bi,bh)}else{for(var
bd=0,e=this.length;bd<e;bd++){be=this[bd];bg=be.style.display;if(!a._data(be,"olddisplay")&&bg==="none"){bg=be.style.display=""}if(bg===""&&a.css(be,"display")==="none"){a._data(be,"olddisplay",w(be.nodeName))}}for(bd=0;bd<e;bd++){be=this[bd];bg=be.style.display;if(bg===""||bg==="none"){be.style.display=a._data(be,"olddisplay")||""}}return
this}},hide:function(be,bh,bg){if(be||be===0){return
this.animate(aQ("hide",3),be,bh,bg)}else{for(var
bd=0,e=this.length;bd<e;bd++){var
bf=a.css(this[bd],"display");if(bf!=="none"&&!a._data(this[bd],"olddisplay")){a._data(this[bd],"olddisplay",bf)}}for(bd=0;bd<e;bd++){this[bd].style.display="none"}return
this}},_toggle:a.fn.toggle,toggle:function(be,bd,bf){var e=typeof
be==="boolean";if(a.isFunction(be)&&a.isFunction(bd)){this._toggle.apply(this,arguments)}else{if(be==null||e){this.each(function(){var
bg=e?be:a(this).is(":hidden");a(this)[bg?"show":"hide"]()})}else{this.animate(aQ("toggle",3),be,bd,bf)}}return
this},fadeTo:function(e,bf,be,bd){return
this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bf},e,be,bd)},animate:function(bg,bd,bf,be){var
e=a.speed(bd,bf,be);if(a.isEmptyObject(bg)){return this.each(e.complete)}return
this[e.queue===false?"each":"queue"](function(){var
bj=a.extend({},e),bn,bk=this.nodeType===1,bl=bk&&a(this).is(":hidden"),bh=this;for(bn
in bg){var bi=a.camelCase(bn);if(bn!==bi){bg[bi]=bg[bn];delete
bg[bn];bn=bi}if(bg[bn]==="hide"&&bl||bg[bn]==="show"&&!bl){return
bj.complete.call(this)}if(bk&&(bn==="height"||bn==="width")){bj.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(a.css(this,"display")==="inline"&&a.css(this,"float")==="none"){if(!a.support.inlineBlockNeedsLayout){this.style.display="inline-block"}else{var
bm=w(this.nodeName);if(bm==="inline"){this.style.display="inline-block"}else{this.style.display="inline";this.style.zoom=1}}}}if(a.isArray(bg[bn])){(bj.specialEasing=bj.specialEasing||{})[bn]=bg[bn][1];bg[bn]=bg[bn][0]}}if(bj.overflow!=null){this.style.overflow="hidden"}bj.curAnim=a.extend({},bg);a.each(bg,function(bp,bt){var
bs=new
a.fx(bh,bj,bp);if(ap.test(bt)){bs[bt==="toggle"?bl?"show":"hide":bt](bg)}else{var
br=aF.exec(bt),bu=bs.cur();if(br){var
bo=parseFloat(br[2]),bq=br[3]||(a.cssNumber[bp]?"":"px");if(bq!=="px"){a.style(bh,bp,(bo||1)+bq);bu=((bo||1)/bs.cur())*bu;a.style(bh,bp,bu+bq)}if(br[1]){bo=((br[1]==="-="?-1:1)*bo)+bu}bs.custom(bu,bo,bq)}else{bs.custom(bu,bt,"")}}});return
true})},stop:function(bd,e){var
be=a.timers;if(bd){this.queue([])}this.each(function(){for(var
bf=be.length-1;bf>=0;bf--){if(be[bf].elem===this){if(e){be[bf](true)}be.splice(bf,1)}}});if(!e){this.dequeue()}return
this}});function aQ(bd,e){var
be={};a.each(ax.concat.apply([],ax.slice(0,e)),function(){be[this]=bd});return
be}a.each({slideDown:aQ("show",1),slideUp:aQ("hide",1),slideToggle:aQ("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bd){a.fn[e]=function(be,bg,bf){return
this.animate(bd,be,bg,bf)}});a.extend({speed:function(be,bf,bd){var e=be&&typeof
be==="object"?a.extend({},be):{complete:bd||!bd&&bf||a.isFunction(be)&&be,duration:be,easing:bd&&bf||bf&&!a.isFunction(bf)&&bf};e.duration=a.fx.off?0:typeof
e.duration==="number"?e.duration:e.duration in
a.fx.speeds?a.fx.speeds[e.duration]:a.fx.speeds._default;e.old=e.complete;e.complete=function(){if(e.queue!==false){a(this).dequeue()}if(a.isFunction(e.old)){e.old.call(this)}};return
e},easing:{linear:function(be,bf,e,bd){return
e+bd*be},swing:function(be,bf,e,bd){return((-Math.cos(be*Math.PI)/2)+0.5)*bd+e}},timers:[],fx:function(bd,e,be){this.options=e;this.elem=bd;this.prop=be;if(!e.orig){e.orig={}}}});a.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(a.fx.step[this.prop]||a.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 e,bd=a.css(this.elem,this.prop);return
isNaN(e=parseFloat(bd))?!bd||bd==="auto"?0:bd:e},custom:function(bh,bg,bf){var
e=this,be=a.fx;this.startTime=a.now();this.start=bh;this.end=bg;this.unit=bf||this.unit||(a.cssNumber[this.prop]?"":"px");this.now=this.start;this.pos=this.state=0;function
bd(bi){return
e.step(bi)}bd.elem=this.elem;if(bd()&&a.timers.push(bd)&&!aS){aS=setInterval(be.tick,be.interval)}},show:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());a(this.elem).show()},hide:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(bf){var
bk=a.now(),bg=true;if(bf||bk>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var
bh in
this.options.curAnim){if(this.options.curAnim[bh]!==true){bg=false}}if(bg){if(this.options.overflow!=null&&!a.support.shrinkWrapBlocks){var
be=this.elem,bl=this.options;a.each(["","X","Y"],function(bm,bn){be.style["overflow"+bn]=bl.overflow[bm]})}if(this.options.hide){a(this.elem).hide()}if(this.options.hide||this.options.show){for(var
e in
this.options.curAnim){a.style(this.elem,e,this.options.orig[e])}}this.options.complete.call(this.elem)}return
false}else{var bd=bk-this.startTime;this.state=bd/this.options.duration;var
bi=this.options.specialEasing&&this.options.specialEasing[this.prop];var
bj=this.options.easing||(a.easing.swing?"swing":"linear");this.pos=a.easing[bi||bj](this.state,bd,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return
true}};a.extend(a.fx,{tick:function(){var bd=a.timers;for(var
e=0;e<bd.length;e++){if(!bd[e]()){bd.splice(e--,1)}}if(!bd.length){a.fx.stop()}},interval:13,stop:function(){clearInterval(aS);aS=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){a.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=(e.prop==="width"||e.prop==="height"?Math.max(0,e.now):e.now)+e.unit}else{e.elem[e.prop]=e.now}}}});if(a.expr&&a.expr.filters){a.expr.filters.animated=function(e){return
a.grep(a.timers,function(bd){return e===bd.elem}).length}}function w(be){if(!N[be]){var
e=a("<"+be+">").appendTo("body"),bd=e.css("display");e.remove();if(bd==="none"||bd===""){bd="block"}N[be]=bd}return
N[be]}var S=/^t(?:able|d|h)$/i,Y=/^(?:body|html)$/i;if("getBoundingClientRect"
in al.documentElement){a.fn.offset=function(bq){var bg=this[0],bj;if(bq){return
this.each(function(e){a.offset.setOffset(this,bq,e)})}if(!bg||!bg.ownerDocument){return
null}if(bg===bg.ownerDocument.body){return
a.offset.bodyOffset(bg)}try{bj=bg.getBoundingClientRect()}catch(bn){}var
bp=bg.ownerDocument,be=bp.documentElement;if(!bj||!a.contains(be,bg)){return
bj?{top:bj.top,left:bj.left}:{top:0,left:0}}var
bk=bp.body,bl=az(bp),bi=be.clientTop||bk.clientTop||0,bm=be.clientLeft||bk.clientLeft||0,bd=(bl.pageYOffset||a.support.boxModel&&be.scrollTop||bk.scrollTop),bh=(bl.pageXOffset||a.support.boxModel&&be.scrollLeft||bk.scrollLeft),bo=bj.top+bd-bi,bf=bj.left+bh-bm;return{top:bo,left:bf}}}else{a.fn.offset=function(bn){var
bh=this[0];if(bn){return
this.each(function(bo){a.offset.setOffset(this,bn,bo)})}if(!bh||!bh.ownerDocument){return
null}if(bh===bh.ownerDocument.body){return
a.offset.bodyOffset(bh)}a.offset.initialize();var
bk,be=bh.offsetParent,bd=bh,bm=bh.ownerDocument,bf=bm.documentElement,bi=bm.body,bj=bm.defaultView,e=bj?bj.getComputedStyle(bh,null):bh.currentStyle,bl=bh.offsetTop,bg=bh.offsetLeft;while((bh=bh.parentNode)&&bh!==bi&&bh!==bf){if(a.offset.supportsFixedPosition&&e.position==="fixed"){break}bk=bj?bj.getComputedStyle(bh,null):bh.currentStyle;bl-=bh.scrollTop;bg-=bh.scrollLeft;if(bh===be){bl+=bh.offsetTop;bg+=bh.offsetLeft;if(a.offset.doesNotAddBorder&&!(a.offset.doesAddBorderForTableAndCells&&S.test(bh.nodeName))){bl+=parseFloat(bk.borderTopWidth)||0;bg+=parseFloat(bk.borderLeftWidth)||0}bd=be;be=bh.offsetParent}if(a.offset.subtractsBorderForOverflowNotVisible&&bk.overflow!=="visible"){bl+=parseFloat(bk.borderTopWidth)||0;bg+=parseFloat(bk.borderLeftWidth)||0}e=bk}if(e.position==="relative"||e.position==="static"){bl+=bi.offsetTop;bg+=bi.offsetLeft}if(a.offset.supportsFixedPosition&&e.position==="fixed"){bl+=Math.max(bf.scrollTop,bi.scrollTop);bg+=Math.max(bf.scrollLeft,bi.scrollLeft)}return{top:bl,left:bg}}}a.offset={initialize:function(){var
e=al.body,bd=al.createElement("div"),bg,bi,bh,bj,be=parseFloat(a.css(e,"marginTop"))||0,bf="<div
style='position:absolute;top:0;left:0;margin:0;border:5px solid
#000;padding:0;width:1px;height:1px;'><div></div></div><table
style='position:absolute;top:0;left:0;margin:0;border:5px solid
#000;padding:0;width:1px;height:1px;' cellpadding='0'
cellspacing='0'><tr><td></td></tr></table>";a.extend(bd.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});bd.innerHTML=bf;e.insertBefore(bd,e.firstChild);bg=bd.firstChild;bi=bg.firstChild;bj=bg.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(bi.offsetTop!==5);this.doesAddBorderForTableAndCells=(bj.offsetTop===5);bi.style.position="fixed";bi.style.top="20px";this.supportsFixedPosition=(bi.offsetTop===20||bi.offsetTop===15);bi.style.position=bi.style.top="";bg.style.overflow="hidden";bg.style.position="relative";this.subtractsBorderForOverflowNotVisible=(bi.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==be);e.removeChild(bd);e=bd=bg=bi=bh=bj=null;a.offset.initialize=a.noop},bodyOffset:function(e){var
be=e.offsetTop,bd=e.offsetLeft;a.offset.initialize();if(a.offset.doesNotIncludeMarginInBodyOffset){be+=parseFloat(a.css(e,"marginTop"))||0;bd+=parseFloat(a.css(e,"marginLeft"))||0}return{top:be,left:bd}},setOffset:function(bf,bo,bi){var
bj=a.css(bf,"position");if(bj==="static"){bf.style.position="relative"}var
bh=a(bf),bd=bh.offset(),e=a.css(bf,"top"),bm=a.css(bf,"left"),bn=(bj==="absolute"&&a.inArray("auto",[e,bm])>-1),bl={},bk={},be,bg;if(bn){bk=bh.position()}be=bn?bk.top:parseInt(e,10)||0;bg=bn?bk.left:parseInt(bm,10)||0;if(a.isFunction(bo)){bo=bo.call(bf,bi,bd)}if(bo.top!=null){bl.top=(bo.top-bd.top)+be}if(bo.left!=null){bl.left=(bo.left-bd.left)+bg}if("using"
in
bo){bo.using.call(bf,bl)}else{bh.css(bl)}}};a.fn.extend({position:function(){if(!this[0]){return
null}var
be=this[0],bd=this.offsetParent(),bf=this.offset(),e=Y.test(bd[0].nodeName)?{top:0,left:0}:bd.offset();bf.top-=parseFloat(a.css(be,"marginTop"))||0;bf.left-=parseFloat(a.css(be,"marginLeft"))||0;e.top+=parseFloat(a.css(bd[0],"borderTopWidth"))||0;e.left+=parseFloat(a.css(bd[0],"borderLeftWidth"))||0;return{top:bf.top-e.top,left:bf.left-e.left}},offsetParent:function(){return
this.map(function(){var
e=this.offsetParent||al.body;while(e&&(!Y.test(e.nodeName)&&a.css(e,"position")==="static")){e=e.offsetParent}return
e})}});a.each(["Left","Top"],function(bd,e){var
be="scroll"+e;a.fn[be]=function(bh){var bf=this[0],bg;if(!bf){return
null}if(bh!==H){return
this.each(function(){bg=az(this);if(bg){bg.scrollTo(!bd?bh:a(bg).scrollLeft(),bd?bh:a(bg).scrollTop())}else{this[be]=bh}})}else{bg=az(bf);return
bg?("pageXOffset" in
bg)?bg[bd?"pageYOffset":"pageXOffset"]:a.support.boxModel&&bg.document.documentElement[be]||bg.document.body[be]:bf[be]}}});function
az(e){return
a.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}a.each(["Height","Width"],function(bd,e){var
be=e.toLowerCase();a.fn["inner"+e]=function(){return
this[0]?parseFloat(a.css(this[0],be,"padding")):null};a.fn["outer"+e]=function(bf){return
this[0]?parseFloat(a.css(this[0],be,bf?"margin":"border")):null};a.fn[be]=function(bg){var
bh=this[0];if(!bh){return bg==null?null:this}if(a.isFunction(bg)){return
this.each(function(bl){var
bk=a(this);bk[be](bg.call(this,bl,bk[be]()))})}if(a.isWindow(bh)){var
bi=bh.document.documentElement["client"+e];return
bh.document.compatMode==="CSS1Compat"&&bi||bh.document.body["client"+e]||bi}else{if(bh.nodeType===9){return
Math.max(bh.documentElement["client"+e],bh.body["scroll"+e],bh.documentElement["scroll"+e],bh.body["offset"+e],bh.documentElement["offset"+e])}else{if(bg===H){var
bj=a.css(bh,be),bf=parseFloat(bj);return a.isNaN(bf)?bj:bf}else{return this.css(be,typeof
bg==="string"?bg:bg+"px")}}}}});aY.jQuery=aY.$=a})(window);
\ No newline at end of file
Repository URL:
https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.